CLI Reference
Commands
Section titled “Commands”awa generate [output]
Section titled “awa generate [output]”Generate configuration files from templates.
awa generate . # current directory, default templateawa generate ./my-project # specific output directoryawa generate . --features copilot claude # with feature flagsawa generate . --preset full # with a presetawa generate . --dry-run # preview without writingawa generate . --delete # apply deletions from _delete.txt| Option | Description |
|---|---|
[output] | Output directory (positional, optional if set in config) |
-t, --template <source> | Template source — local path or Git repo |
-f, --features <flag...> | Feature flags (repeatable) |
--preset <name...> | Preset names to enable (repeatable) |
--remove-features <flag...> | Feature flags to remove (repeatable) |
--force | Overwrite existing files without prompting |
--dry-run | Preview changes without modifying files |
--delete | Enable deletion of files listed in _delete.txt |
-c, --config <path> | Path to configuration file |
--refresh | Force re-fetch of cached Git templates |
awa diff [target]
Section titled “awa diff [target]”Compare generated template output against an existing target directory.
Exit code 0 = files match, 1 = differences found.
awa diff . # diff against current directoryawa diff ./my-project --template ./tpl # diff specific target and templateawa diff . --list-unknown # include files not in template| Option | Description |
|---|---|
[target] | Target directory to compare (positional, optional if set in config) |
-t, --template <source> | Template source — local path or Git repo |
-f, --features <flag...> | Feature flags (repeatable) |
--preset <name...> | Preset names to enable (repeatable) |
--remove-features <flag...> | Feature flags to remove (repeatable) |
-c, --config <path> | Path to configuration file |
--refresh | Force re-fetch of cached Git templates |
--list-unknown | Include files in target not present in templates |
Global Options
Section titled “Global Options”| Option | Description |
|---|---|
-v, --version | Display version number |
-h, --help | Display help information |
Template Sources
Section titled “Template Sources”awa generate . --template ./my-templatesawa generate . --template /absolute/path/to/templates# Shorthandawa generate . --template owner/repo
# With subdirectoryawa generate . --template owner/repo/templates
# With branch or tagawa generate . --template owner/repo#mainawa generate . --template owner/repo#v1.0.0
# Full URLawa generate . --template https://github.com/owner/repoawa generate . --template gitlab:owner/repoawa generate . --template bitbucket:owner/repoawa generate . --template git@github.com:owner/repoRemote templates are fetched via degit and cached in ~/.cache/awa/templates/. Use --refresh to re-fetch cached sources.
Feature Resolution
Section titled “Feature Resolution”Features are resolved in this order:
- Start with
--features - Expand
--presetnames (appended, deduplicated) - Remove
--remove-features
# All three options combinedawa generate . --features copilot --preset full --remove-features roo agyHow It Works
Section titled “How It Works”- Load config — read
.awa.toml(if present), merge with CLI arguments - Resolve template — local path used directly; Git repos fetched via degit and cached
- Resolve features — combine
--features, expand--preset, subtract--remove-features - Render — walk template directory, render each file with Eta passing
{ features }as context - Write — create output files, prompt on conflicts (or
--force/--dry-run), process_delete.txt - Delete — apply delete list entries only when
--delete(ordelete = truein config) is set - Diff (for
awa diff) — render to a temp directory, compare against target, report unified diffs