Skip to main content

Quick Start

Let's generate a real project. Out of the box, Archetect is configured with a default catalog — the Archetect Catalog — containing ready-to-use archetypes.

Browse the catalog​

See what's available with ls:

archetect ls
📂 archetect — Archetect Catalog
📂 rust — Rust Ecosystem
📂 cli — Command-line Applications
📦 clap-cli — Rust CLI application (clap derive, xtask workflow)
📂 ai — AI/ML Applications
📦 rust-agentic — Rust Agentic (MCP/Agent)
📦 xtask — xtask crate
📂 common — Common / Utility

Two entry kinds matter here: 📂 catalogs are navigation nodes, and 📦 archetypes are renderable. Every indented path is dispatchable — more on that below.

You can also search across names, descriptions, and tags:

archetect search rust cli

Generate interactively​

Run archetect with no arguments to open the catalog as an interactive menu:

archetect

Navigate with the arrow keys, select with Enter, and drill down until you reach an archetype. From there, Archetect starts asking questions. A session for the Rust CLI archetype looks something like this:

Organization Name: acme
Project Name: hello
Author: Jane Developer <jane@example.com>
Publish to GitHub? no

Each prompt may offer a default (press Enter to accept), help text, and validation. When the prompts finish, the archetype renders — and typically does more than write files: this one also initializes a git repository and makes an initial commit.

Explore what was generated​

cd hello
cargo run

Take a moment to look around: the project name you entered appears — correctly cased — in directory names, Cargo.toml, module declarations, and documentation. That's Archetect's case expansion at work: you typed the name once.

Generate by path​

Menus are for discovery. Once you know where an archetype lives, dispatch to it directly using its catalog path, with an optional destination directory:

archetect archetect/rust/cli/clap-cli ~/projects

This is the same path structure archetect ls prints.

Generate from a git URL​

Archetypes don't need to be in a catalog at all. archetect render takes any archetype source — a git URL or a local directory:

archetect render https://github.com/your-org/your-archetype.git my-project

The first render clones the source into Archetect's cache (~/.cache/archetect); later renders reuse the cache. Force a refresh with -U / --force-update, or run entirely from cache with -o / --offline.

Generate without prompts​

Every prompt can be answered from the command line — essential for scripts and CI:

archetect render https://github.com/your-org/your-archetype.git my-project \
-a project_name=hello \
-a "description=A friendly greeting service" \
--headless
  • -a key=value answers a single prompt.
  • -A answers.yaml supplies many answers from a YAML or JSON file.
  • -D accepts the configured default for every unanswered prompt.
  • --headless guarantees Archetect never blocks waiting for input — any prompt that can't be resolved from answers or defaults becomes an error instead.

See Answers & Automation for the full story.

Try a dry run​

Not sure what an archetype will do? Preview it without writing anything:

archetect render https://github.com/your-org/your-archetype.git my-project --dry-run

Next step​

You've generated projects from existing archetypes. Now build one of your own — it takes about fifteen minutes.