Skip to main content

Introduction

Archetect is a flexible, powerful, and blazingly fast code generator. It renders single files, complete projects, or entire architectures from archetypes — templated project blueprints driven by interactive prompts and Lua scripts.

# Browse your configured catalog and pick from a menu
archetect

# Or render straight from a git-hosted archetype
archetect render https://github.com/your-org/your-archetype.git my-project

Archetect is written in Rust and distributed as a single native binary. It pulls archetypes directly from git repositories or local directories, prompts you for the values a project needs, and renders a ready-to-build codebase in milliseconds.

Highlights

  • Interactive prompts — text, select, multiselect, confirmation, and more, with defaults, help text, and validation. Every prompt can also be answered non-interactively for CI and automation.
  • Lua scripting — archetypes are orchestrated with Lua, giving authors real IDE support (autocomplete, hover docs, and diagnostics via the Lua Language Server) and a language millions of developers already know.
  • ATL templating — a Jinja2-style template engine purpose-built for code generation, with rich casing filters (snake_case, PascalCase, kebab-case, …) and smart pluralization (soliloquysoliloquies, calfcalves).
  • Casing intelligence — prompt once for "My Project", and Archetect derives my_project, MyProject, myProject, my-project, MY_PROJECT, and more automatically.
  • Catalogs — organize archetypes into browsable, searchable menus, distributed as plain git repositories.
  • Composition — archetypes can render other archetypes and share Lua modules and template fragments through reusable libraries.
  • Automation-friendly — headless mode, answer files, switches, and dry runs make Archetect a solid citizen in scripts and pipelines.

Where to go next

SectionWhat you'll find
Getting StartedWhat Archetect is, how to install it, and your first generated project
User GuideDay-to-day usage: rendering, catalogs, answers, switches, and configuration
Authoring ArchetypesCreating your own archetypes with Lua scripting and ATL templates
Authoring CatalogsOrganizing archetypes into catalogs for your team or organization
ReferenceExhaustive reference for the CLI, Lua API, ATL, manifests, and configuration