Workflow Overview
awa defines a structured development workflow. Each stage produces artifacts that trace forward and backward through the chain.
Stages
Section titled “Stages”ARCHITECTURE → FEAT → REQUIREMENTS → DESIGN → TASKS → CODE & TESTS → DOCUMENTATION| Stage | Artifact | Purpose |
|---|---|---|
| Architecture | ARCHITECTURE.md | System overview, components, constraints |
| Feature | FEAT-{CODE}-*.md | Context, motivation, scenarios for a feature |
| Requirements | REQ-{CODE}-*.md | What must be built, in EARS format (INCOSE) |
| Design | DESIGN-{CODE}-*.md | How it gets built — components, interfaces, properties |
| Tasks | TASK-{CODE}-*-{nnn}.md | Step-by-step implementation work items |
| Code & Tests | Source files | Implementation with trace markers |
| Documentation | README.md, docs/ | User-facing docs |
The .awa/ Directory
Section titled “The .awa/ Directory”All spec artifacts live in .awa/:
.awa/├── specs/│ ├── ARCHITECTURE.md # System overview│ ├── FEAT-{CODE}-*.md # Feature context & motivation│ ├── REQ-{CODE}-*.md # Requirements (EARS format)│ ├── DESIGN-{CODE}-*.md # Design & components│ ├── API-{CODE}-*.tsp # TypeSpec API definitions│ ├── EXAMPLE-{CODE}-*-{nnn}.md # Usage examples per feature│ └── deprecated/│ └── DEPRECATED.md # Tombstone file for retired IDs├── tasks/│ └── TASK-{CODE}-*-{nnn}.md # Implementation steps├── plans/│ └── PLAN-{nnn}-*.md # Ad-hoc plans├── align/│ └── ALIGN-{x}-WITH-{y}-{nnn}.md # Alignment reports└── rules/ └── *.md # Project-specific rulesWorkflow Direction
Section titled “Workflow Direction”The standard direction is top-down (architecture → code). But the workflow supports any direction:
- Top-down — start from architecture, work toward implementation
- Bottom-up — start from code, extract requirements retroactively
- Lateral — documentation updates, refactors, or ad-hoc plans
You can start at any stage and skip what isn’t needed. awa is flexible.
Prompt Examples
Section titled “Prompt Examples”Here are some example prompts you can use with your AI agent at each stage. Your agent MAY use the awa skills to execute the workflows, but to guarantee it, we recommend using the skills as slach commands, e.g.
/awa.feature Add a logging layer with configurable sinks.Use the most idiomatic logging library.Starting a New Feature (Top-Down)
Section titled “Starting a New Feature (Top-Down)”You can easily add a whole new feature by working through the awa SDD workflow. It is recommended to check the spec documents at each stage to make changes (either manually or via the AI) before going to the next stage.
You can also use your prompts to guide the AI as little or as much as you want or need.
/awa.brainstorm Let's brainstorm how to add a PKI flow for the bobcat server./awa.architecture Update the architecture for the changes we just discussed,then follow the standard awa workflow to update the specs./awa.feature.../awa.requirements Keep scope MVP.../awa.designOR
/awa.vibe Create FEAT, REQ and DESIGN for bulk export jobs with retry support.Keep scope MVP and generate implementation tasks.THEN
/awa.tasksImplementing Code / Tests from Specs
Section titled “Implementing Code / Tests from Specs”/awa.code Implement the tasks in tasks 006.THEN see what is missing
/awa.alignExtracting Specs from Existing Code (Bottom-Up)
Section titled “Extracting Specs from Existing Code (Bottom-Up)”At any time, you can work in a different direction in the flow.
Analyze src/core/differ.ts and tests, then derive FEAT, REQ and DESIGNdocs for the existing diff behavior.Ad-Hoc Plans (Skip the Specs)
Section titled “Ad-Hoc Plans (Skip the Specs)”If you don’t want to follow the full flow as the project does not require it, use ad-hoc plans.
/awa.plan Let's create a plan to implement a --delete flag in the CLI./awa.code Let's implement plan 004.Lateral Updates
Section titled “Lateral Updates”Update README and docs to match current CLI options(--delete, --list-unknown) without changing code./awa.refactor Refactor src/core/template-resolver.ts for readability.Traceability and Validation
Section titled “Traceability and Validation”/awa.check <-- this will validate all spec markers and may welldiscover missing code / tests / specs/awa.align Align DESIGN-DIFF with REQ-DIFF and produce analignment report.Spec Management
Section titled “Spec Management”Specification documents are written fast by AI and can quickly get out of hand and messy. awa tries to guide the AI to generate well structured specs, but it also has features to reliably tidy up specs without losing meaning or changing wording where it matters.
You can also renumber your requirements at any time. Be aware that tidying the specs will likely cause some renumbering unless you expressly forbid it.
/awa.spec-tidy Tidy and reorganise the specifications logically./awa.spec-merge Merge the PARSE and SCAN feature codes into asingle PARSE feature./awa.usage List all feature codes in the project./awa.usage Renumber all traceability IDs to close gaps./awa.usage Recode the CHK feature code to CLI(rename all IDs, spec files, and headings).Feature Discovery
Section titled “Feature Discovery”awa has a skill about itself, so you can ask the AI questions about how to use awa, or ask it to use awa command line for you.
/awa.usage List all available feature flags in theawa template./awa.usage Run awa features --json and explainwhat each flag controls.How It Works
Section titled “How It Works”Each awa command follows a specific pipeline:
- Load config — read
.awa.toml(if present), merge with CLI arguments - Resolve template — local path used directly; Git repos fetched via degit and cached
- Apply overlays — if
--overlaypaths are given, each is resolved and merged on top of the base template (last wins) - 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 template diff) — render to a temp directory, compare against target, report unified diffs - Validate (for
awa check) — scan code for traceability markers, parse spec files, cross-check, report findings - Test (for
awa template test) — discover fixtures in_tests/, render per fixture, verify expected files, compare snapshots - Trace (for
awa trace) — scan markers, build index, resolve IDs, format trace chains - Renumber (for
awa spec renumber) — scan IDs, build renumber map, propagate to specs and code - Recode (for
awa spec recode) — build offset map, propagate, rename spec files, update codes table - Merge (for
awa spec merge) — recode + move source files + stale-ref check + optional renumber - Codes (for
awa spec codes) — scan spec files, build code inventory, report
Next Steps
Section titled “Next Steps”- Traceability — how IDs and markers connect everything
- CI Integration — use awa in CI pipelines
- CLI Reference — all commands, options, and exit codes