@ncoderz/awa 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -16
- package/dist/index.js +2307 -128
- package/dist/index.js.map +1 -1
- package/package.json +10 -4
- package/templates/awa/.agent/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.agent/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.agent/workflows/awa-align.md +3 -0
- package/templates/awa/.agent/workflows/awa-check.md +4 -0
- package/templates/awa/.agents/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.agents/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
- package/templates/awa/.awa/.agent/schemas/API.schema.yaml +7 -0
- package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +260 -0
- package/templates/awa/.awa/.agent/schemas/DESIGN.schema.yaml +361 -0
- package/templates/awa/.awa/.agent/schemas/EXAMPLES.schema.yaml +98 -0
- package/templates/awa/.awa/.agent/schemas/FEAT.schema.yaml +143 -0
- package/templates/awa/.awa/.agent/schemas/PLAN.schema.yaml +151 -0
- package/templates/awa/.awa/.agent/schemas/README.schema.yaml +137 -0
- package/templates/awa/.awa/.agent/schemas/REQ.schema.yaml +169 -0
- package/templates/awa/.awa/.agent/schemas/TASK.schema.yaml +200 -0
- package/templates/awa/.claude/agents/awa.md +2 -2
- package/templates/awa/.claude/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.claude/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.codex/prompts/awa-align.md +3 -0
- package/templates/awa/.codex/prompts/awa-check.md +4 -0
- package/templates/awa/.cursor/rules/awa-agent.md +1 -1
- package/templates/awa/.cursor/rules/awa-align.md +8 -0
- package/templates/awa/.cursor/rules/awa-check.md +9 -0
- package/templates/awa/.gemini/commands/awa-align.md +3 -0
- package/templates/awa/.gemini/commands/awa-check.md +4 -0
- package/templates/awa/.gemini/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.gemini/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.github/agents/awa.agent.md +2 -2
- package/templates/awa/.github/prompts/awa.align.prompt.md +8 -0
- package/templates/awa/.github/prompts/awa.check.prompt.md +9 -0
- package/templates/awa/.github/skills/awa-align/SKILL.md +8 -0
- package/templates/awa/.github/skills/awa-check/SKILL.md +9 -0
- package/templates/awa/.kilocode/rules/awa-agent.md +1 -1
- package/templates/awa/.kilocode/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.kilocode/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.kilocode/workflows/awa-align.md +3 -0
- package/templates/awa/.kilocode/workflows/awa-check.md +4 -0
- package/templates/awa/.opencode/agents/awa.md +2 -2
- package/templates/awa/.opencode/commands/awa-align.md +3 -0
- package/templates/awa/.opencode/commands/awa-check.md +4 -0
- package/templates/awa/.opencode/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.opencode/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.qwen/commands/awa-align.md +3 -0
- package/templates/awa/.qwen/commands/awa-check.md +4 -0
- package/templates/awa/.qwen/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.qwen/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.roo/rules/awa-agent.md +1 -1
- package/templates/awa/.roo/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.roo/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/.windsurf/rules/awa-agent.md +1 -1
- package/templates/awa/.windsurf/skills/awa-align/SKILL.md +3 -0
- package/templates/awa/.windsurf/skills/awa-check/SKILL.md +4 -0
- package/templates/awa/AGENTS.md +1 -1
- package/templates/awa/CLAUDE.md +1 -1
- package/templates/awa/GEMINI.md +1 -1
- package/templates/awa/QWEN.md +1 -1
- package/templates/awa/_README.md +3 -2
- package/templates/awa/_delete.txt +49 -0
- package/templates/awa/_partials/{_cmd.awa-validate-alignment.md → _cmd.awa-align.md} +1 -1
- package/templates/awa/_partials/_cmd.awa-check.md +6 -0
- package/templates/awa/_partials/_skill.awa-align.md +6 -0
- package/templates/awa/_partials/_skill.awa-check.md +6 -0
- package/templates/awa/_partials/{awa.validate-alignment.md → awa.align.md} +2 -2
- package/templates/awa/_partials/awa.architecture.md +1 -1
- package/templates/awa/_partials/awa.check.md +73 -0
- package/templates/awa/_partials/awa.code.md +1 -0
- package/templates/awa/_partials/awa.core.md +24 -10
- package/templates/awa/_partials/awa.design.md +3 -2
- package/templates/awa/_partials/awa.documentation.md +1 -1
- package/templates/awa/_partials/awa.examples.md +1 -1
- package/templates/awa/_partials/awa.feature.md +1 -1
- package/templates/awa/_partials/awa.plan.md +1 -1
- package/templates/awa/_partials/awa.refactor.md +1 -0
- package/templates/awa/_partials/awa.requirements.md +2 -1
- package/templates/awa/_partials/awa.tasks.md +3 -3
- package/templates/awa/_partials/awa.upgrade.md +13 -12
- package/templates/awa/_tests/claude.toml +7 -0
- package/templates/awa/_tests/copilot.toml +6 -0
- package/templates/awa/.agent/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.agent/workflows/awa-validate-alignment.md +0 -3
- package/templates/awa/.agents/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.md +0 -156
- package/templates/awa/.awa/.agent/schemas/API.schema.md +0 -4
- package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.md +0 -176
- package/templates/awa/.awa/.agent/schemas/DESIGN.schema.md +0 -253
- package/templates/awa/.awa/.agent/schemas/EXAMPLES.schema.md +0 -51
- package/templates/awa/.awa/.agent/schemas/FEAT.schema.md +0 -61
- package/templates/awa/.awa/.agent/schemas/PLAN.schema.md +0 -8
- package/templates/awa/.awa/.agent/schemas/README.schema.md +0 -133
- package/templates/awa/.awa/.agent/schemas/REQ.schema.md +0 -125
- package/templates/awa/.awa/.agent/schemas/TASK.schema.md +0 -137
- package/templates/awa/.claude/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.codex/prompts/awa-validate-alignment.md +0 -3
- package/templates/awa/.cursor/rules/awa-validate-alignment.md +0 -8
- package/templates/awa/.gemini/commands/awa-validate-alignment.md +0 -3
- package/templates/awa/.gemini/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.github/prompts/awa.validate-alignment.prompt.md +0 -8
- package/templates/awa/.github/skills/awa-validate-alignment/SKILL.md +0 -8
- package/templates/awa/.kilocode/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.kilocode/workflows/awa-validate-alignment.md +0 -3
- package/templates/awa/.opencode/commands/awa-validate-alignment.md +0 -3
- package/templates/awa/.opencode/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.qwen/commands/awa-validate-alignment.md +0 -3
- package/templates/awa/.qwen/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.roo/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/.windsurf/skills/awa-validate-alignment/SKILL.md +0 -3
- package/templates/awa/_partials/_skill.awa-validate-alignment.md +0 -6
package/README.md
CHANGED
|
@@ -21,34 +21,45 @@ Without structure, work drifts and nobody, including the AI, can trace what happ
|
|
|
21
21
|
|
|
22
22
|
## How awa Solves It
|
|
23
23
|
|
|
24
|
-
awa generates agent configuration files from **templates
|
|
24
|
+
awa generates agent configuration files from **templates**. The generated output includes a powerful spec-driven development workflow with full traceability:
|
|
25
25
|
|
|
26
26
|
```
|
|
27
27
|
ARCHITECTURE → FEAT → REQUIREMENTS → DESIGN → TASKS → CODE & TESTS → DOCUMENTATION
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
Every
|
|
30
|
+
Every code and test artefect traces back to its requirement and acceptance criteria origin through explicit markers (`@awa-impl`, `@awa-test`, `@awa-component`). Any line of code traces back to the requirement that motivated it. Any requirement traces forward to the tests that verify it.
|
|
31
|
+
|
|
32
|
+
Not only this, but awa actively checks that specs match a high quality schema, and that all requirements and acceptance criteria map to code and tests. This helps guide the AI to produce higher quality output.
|
|
31
33
|
|
|
32
34
|
## Features
|
|
33
35
|
|
|
34
36
|
### Workflow & Traceability
|
|
35
37
|
|
|
36
|
-
- Structured workflow from architecture through features, requirements, design, tasks, code, tests, and docs
|
|
38
|
+
- Structured but flexible workflow from architecture through features, requirements, design, tasks, code, tests, and docs
|
|
37
39
|
- Requirements written in [EARS format](https://en.wikipedia.org/wiki/Easy_Approach_to_Requirements_Syntax) (INCOSE) — structured, testable, unambiguous
|
|
38
40
|
- Every requirement has an ID, every line of code links back to it via `@awa-impl` and `@awa-test` markers
|
|
39
|
-
-
|
|
41
|
+
- `awa check` checks that specs match their schemas, and that all traceability markers resolve to real spec IDs. Any acceptance criteria missing tests are flagged to the AI automatically
|
|
42
|
+
- All AI orchestration documents all live in `.awa/`
|
|
40
43
|
|
|
41
44
|
See [Workflow](docs/WORKFLOW.md) for the full workflow and traceability chain.
|
|
42
45
|
|
|
43
46
|
### CLI & Template Engine
|
|
44
47
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
+
The awa CLI can be used to update your AI guiding files such as AGENTS.md automatically from templates, making it easy to keep them up-to-date and in-sync for every project.
|
|
49
|
+
|
|
50
|
+
- [Eta](https://eta.js.org/) templates with conditionals, loops, and partials allow templating AI files (and other project files if you wish)
|
|
48
51
|
- Pull templates from GitHub, GitLab, Bitbucket, or use a local path
|
|
49
52
|
- Optional `.awa.toml` config, or just use CLI flags
|
|
53
|
+
- Feature flags and presets to turn content on/off per project
|
|
54
|
+
- `awa check` validates traceability markers against spec IDs and enforces spec file structure via YAML schemas
|
|
55
|
+
- Template overlays (`--overlay`) allow layering custom files over a base template without forking it
|
|
56
|
+
- `awa diff` shows exactly what has changed in a template before applying it to your project; `--watch` re-diffs on template changes, making template development easy
|
|
57
|
+
- `awa test` verifies templates produce expected output across feature combinations by automatically diffing against fixture files
|
|
58
|
+
- `awa features` discovers available feature flags and presets in a template
|
|
59
|
+
- `--json` flag for machine-readable output in CI pipelines
|
|
60
|
+
- `--summary` flag for compact one-line counts output
|
|
50
61
|
|
|
51
|
-
See [CLI Reference](docs/CLI.md)
|
|
62
|
+
See [CLI Reference](docs/CLI.md), [Template Engine](docs/TEMPLATE_ENGINE.md), [Template Testing](docs/TEMPLATE_TESTING.md), and [Schema Rules](docs/SCHEMA_RULES.md) for details.
|
|
52
63
|
|
|
53
64
|
## Quick Start
|
|
54
65
|
|
|
@@ -61,7 +72,7 @@ npm install -g @ncoderz/awa
|
|
|
61
72
|
Or use with npx:
|
|
62
73
|
|
|
63
74
|
```bash
|
|
64
|
-
npx @ncoderz/awa
|
|
75
|
+
npx @ncoderz/awa init .
|
|
65
76
|
```
|
|
66
77
|
|
|
67
78
|
### Generate
|
|
@@ -69,19 +80,19 @@ npx @ncoderz/awa generate .
|
|
|
69
80
|
Generate files into the current directory using the bundled default template:
|
|
70
81
|
|
|
71
82
|
```bash
|
|
72
|
-
awa
|
|
83
|
+
awa init .
|
|
73
84
|
```
|
|
74
85
|
|
|
75
86
|
Generate with specific features enabled:
|
|
76
87
|
|
|
77
88
|
```bash
|
|
78
|
-
awa
|
|
89
|
+
awa init . --features copilot claude cursor
|
|
79
90
|
```
|
|
80
91
|
|
|
81
92
|
Generate to a specific output directory:
|
|
82
93
|
|
|
83
94
|
```bash
|
|
84
|
-
awa
|
|
95
|
+
awa init ./my-project
|
|
85
96
|
```
|
|
86
97
|
|
|
87
98
|
### Preview Changes
|
|
@@ -92,10 +103,47 @@ See what would change without writing files:
|
|
|
92
103
|
awa diff .
|
|
93
104
|
```
|
|
94
105
|
|
|
106
|
+
Watch for template changes and re-diff automatically:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
awa diff . --watch
|
|
110
|
+
```
|
|
111
|
+
|
|
95
112
|
Apply any template configured file deletions (disabled by default):
|
|
96
113
|
|
|
97
114
|
```bash
|
|
98
|
-
awa
|
|
115
|
+
awa init . --delete
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Layer custom files over the base template with overlays:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
awa init . --overlay ./my-overrides
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Validate
|
|
125
|
+
|
|
126
|
+
Check traceability markers and spec file structure:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
awa check
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Test Templates
|
|
133
|
+
|
|
134
|
+
Verify templates produce expected output across feature combinations:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
awa test
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Discover Features
|
|
141
|
+
|
|
142
|
+
List all feature flags available in a template:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
awa features
|
|
146
|
+
awa features --json # machine-readable output
|
|
99
147
|
```
|
|
100
148
|
|
|
101
149
|
## The `.awa/` Directory
|
|
@@ -151,6 +199,34 @@ Every link is explicit. Nothing is implied.
|
|
|
151
199
|
|
|
152
200
|
See [Workflow](docs/WORKFLOW.md) for IDs, markers, and how to read a trace.
|
|
153
201
|
|
|
202
|
+
## CI Integration
|
|
203
|
+
|
|
204
|
+
Use `--json` for structured output in CI pipelines, or `--summary` for compact build-log output:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# Detect template drift (exit code 1 = differences found)
|
|
208
|
+
awa diff . --json > diff-result.json
|
|
209
|
+
|
|
210
|
+
# Compact summary for build logs
|
|
211
|
+
awa diff . --summary
|
|
212
|
+
# Output: changed: 2, new: 1, matching: 10, deleted: 0
|
|
213
|
+
|
|
214
|
+
# Validate traceability
|
|
215
|
+
awa check --format json > check-result.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
See [CI Integration](docs/CLI.md#ci-integration) in the CLI reference for JSON output formats.
|
|
219
|
+
|
|
220
|
+
## Exit Codes
|
|
221
|
+
|
|
222
|
+
| Command | 0 | 1 | 2 |
|
|
223
|
+
|---------|---|---|---|
|
|
224
|
+
| `awa init` / `awa generate` | Success | — | Internal error |
|
|
225
|
+
| `awa diff` | All files match | Differences found | Internal error |
|
|
226
|
+
| `awa check` | All checks pass | Errors found | Internal error |
|
|
227
|
+
| `awa test` | All fixtures pass | Failures found | Internal error |
|
|
228
|
+
| `awa features` | Success | Error | — |
|
|
229
|
+
|
|
154
230
|
## Documentation
|
|
155
231
|
|
|
156
232
|
| Document | Description |
|
|
@@ -158,6 +234,9 @@ See [Workflow](docs/WORKFLOW.md) for IDs, markers, and how to read a trace.
|
|
|
158
234
|
| [Workflow](docs/WORKFLOW.md) | The awa workflow, `.awa/` structure, traceability chain, IDs and markers |
|
|
159
235
|
| [CLI Reference](docs/CLI.md) | Commands, options, configuration, presets, and how it works |
|
|
160
236
|
| [Template Engine](docs/TEMPLATE_ENGINE.md) | Template sources, Eta syntax, partials, file handling, delete lists |
|
|
237
|
+
| [Template Testing](docs/TEMPLATE_TESTING.md) | The `awa test` command, fixture format, snapshots, CI setup |
|
|
238
|
+
| [Traceability Check](docs/TRACEABILITY_CHECK.md) | The `awa check` command, checks, configuration, JSON output |
|
|
239
|
+
| [Schema Rules](docs/SCHEMA_RULES.md) | Declarative YAML rules for validating spec file structure |
|
|
161
240
|
|
|
162
241
|
## Community
|
|
163
242
|
|
|
@@ -177,7 +256,7 @@ Several tools address parts of the AI-assisted development workflow. Here's how
|
|
|
177
256
|
| **What it is** | CLI that generates agent config from templates | IDE with built-in spec-driven development | Python CLI for Spec-Driven Development | Agile workflow with role-based AI skills | Markdown rules for AI behavior governance | Hand-written CLAUDE.md, .cursorrules, etc. |
|
|
178
257
|
| **Structured workflow** | Architecture →</br> Features →</br> Requirements →</br> Design →</br> Tasks →</br> Code & Tests →</br> Docs | Requirements →</br> Design →</br> Tasks | Specify →</br> Plan →</br> Tasks →</br> Implement | Analysis →</br> Planning →</br> Solutioning →</br> Implementation | Research →</br> Plan →</br> Implement | Whatever you put in the file |
|
|
179
258
|
| **Workflow flexibility** | ✅ Start at any stage, skip what's not needed | ⚠️ Two variants (Req-First or Design-First), always 3 phases | ⚠️ Optional clarify/analyze steps, otherwise fixed order | ⚠️ Project levels determine required phases | ⚠️ Hard gates between phases, escape commands to bypass | ✅ No workflow to constrain you |
|
|
180
|
-
| **Traceability** | ✅ Requirement IDs →</br> design →</br> `@awa-impl` / `@awa-test` code markers | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
259
|
+
| **Traceability** | ✅ Requirement IDs →</br> design →</br> `@awa-impl` / `@awa-test` code markers</br> + `awa check` | ❌ | ❌ | ❌ | ❌ | ❌ |
|
|
181
260
|
| **Template engine** | ✅ Eta with conditionals, loops, partials | ❌ | ❌ Static templates copied on init | ❌ Static skill files | ❌ Static markdown | ❌ |
|
|
182
261
|
| **Feature flags** | ✅ Enable/disable content per project | ❌ | ❌ | ❌ | ⚠️ Lite/Full modes | ❌ |
|
|
183
262
|
| **Presets** | ✅ Named flag bundles | ❌ | ❌ | ⚠️ Complexity levels | ⚠️ Operation levels | ❌ |
|
|
@@ -212,6 +291,7 @@ npm run build
|
|
|
212
291
|
| `npm test` | Run tests |
|
|
213
292
|
| `npm run test:watch` | Run tests in watch mode |
|
|
214
293
|
| `npm run test:coverage` | Run tests with coverage |
|
|
294
|
+
| `npm run check` | Run `awa check` on this project |
|
|
215
295
|
| `npm run lint` | Check code with Biome |
|
|
216
296
|
| `npm run lint:fix` | Fix linting issues |
|
|
217
297
|
| `npm run format` | Format code with Biome |
|
|
@@ -219,13 +299,13 @@ npm run build
|
|
|
219
299
|
| `npm run gen:example` | Generate example template to `outputs/example` |
|
|
220
300
|
| `npm run gen:awa` | Generate awa templates to `outputs/awa` |
|
|
221
301
|
| `npm run gen:awa:this` | Generate awa templates to current directory |
|
|
222
|
-
| `npm run diff:awa` | Diff awa templates against current directory |
|
|
302
|
+
| `npm run diff:awa:this` | Diff awa templates against current directory |
|
|
223
303
|
|
|
224
304
|
|
|
225
305
|
|
|
226
306
|
## License
|
|
227
307
|
|
|
228
|
-
[MIT](LICENSE)
|
|
308
|
+
© 2025-26 ncoderz Ltd. Released under the [MIT License](LICENSE).
|
|
229
309
|
|
|
230
310
|
## Acknowledgments
|
|
231
311
|
|