Giter Club home page Giter Club logo

archetect

Rust

Archetect is a powerful code-centric, language agnostic content generator, capable of generating single files, complex projects, or entire architectures. Key features include:

  • A Jinja2-like templating syntax
  • A Rhai scripting and orchestration syntax
  • Easy installation
  • Easy archetype authoring and publishing (Git repos or local directories)
  • Smart pluralization and singularization functions (soliloquy->soliloquies, calf->calves)
  • Smart casing functions (camelCase, PascalCase, snake_case, title-case, CONSTANT_CASE)
  • Archetype compositions
  • A distributed menu/catalog system

Modules:

Quick Start

Installation

For a more in-depth guide to installing archetect, see the Installation Guide.

Archetect is a CLI application, and can either be installed by downloading a pre-built binary from Archetect's Releases Page, or by installing with Rust Lang's build tool, cargo:

cargo install archetect --force

Once you have Archetect successfully installed and added to your shell's path, you can test that everything is working while also initializing some default settings by generating them with Archetect itself:

archetect render https://github.com/archetect/archetect-initializer.git ~/.archetect/

This will prompt you for your name and email address, and write this into files within the ~/.archetect, which you can inspect.

Rendering Archetypes

From this point, browse the archetypes and catalogs within the Archetect Github organization for some pre-made archetypes you can use immediately, or for inspiration in making your own. The README.md files commonly have an archetect command line example that can be copy/pasted to your shell to render new projects quickly and easily.

Example:

# To generate a Rust microservice using Actix and Diesel
archetect render https://github.com/archetect/archetype-rust-service-actix-diesel-workspace.git

# To select from a catalog of test_archetypes using a command line menu system
archetect catalog --source https://github.com/archetect/catalog-rust.git

Documentation

Binary Releases

Releases for OSX, Windows, and Linux

Usage

archetect 0.5.0
Jimmie Fulton <[email protected]>
Generates Content from Archetype Template Directories and Git Repositories.

USAGE:
    archetect [FLAGS] [OPTIONS] <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -o, --offline    Only use directories and already-cached remote git URLs
    -V, --version    Prints version information
    -v, --verbose    Increases the level of verbosity

OPTIONS:
    -a, --answer <key=value>...    Supply a key=value pair as an answer to a variable question.
    -A, --answer-file <path>...    Supply an answers file as answers to variable questions.
    -s, --switch <switches>...     Enable switches that may trigger functionality within Archetypes

SUBCOMMANDS:
    cache          Manage/Select from Archetypes cached from Git Repositories
    catalog        Select From a Catalog
    completions    Generate shell completions
    help           Prints this message or the help of the given subcommand(s)
    render         Creates content from an Archetype
    system         archetect system configuration

Archetect's Projects

Archetect doesnโ€™t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.