@ncoderz/awa 1.7.2 → 1.8.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.
Files changed (155) hide show
  1. package/LICENSE +23 -16
  2. package/README.md +25 -27
  3. package/dist/{chunk-OQZTQ5ZI.js → chunk-LRQWZCYL.js} +1 -4
  4. package/dist/chunk-LRQWZCYL.js.map +1 -0
  5. package/dist/chunk-WGGMDWBE.js +760 -0
  6. package/dist/chunk-WGGMDWBE.js.map +1 -0
  7. package/dist/{config-WL3SLSP6.js → config-EJIXC7D7.js} +2 -2
  8. package/dist/index.js +1252 -452
  9. package/dist/index.js.map +1 -1
  10. package/dist/renumber-ZCI2H5HZ.js +9 -0
  11. package/dist/renumber-ZCI2H5HZ.js.map +1 -0
  12. package/package.json +13 -6
  13. package/templates/awa/.agent/skills/spec-merge/SKILL.md +3 -0
  14. package/templates/awa/.agent/skills/spec-tidy/SKILL.md +3 -0
  15. package/templates/awa/.agent/workflows/spec-merge.md +3 -0
  16. package/templates/awa/.agent/workflows/spec-tidy.md +3 -0
  17. package/templates/awa/.agents/skills/spec-merge/SKILL.md +3 -0
  18. package/templates/awa/.agents/skills/spec-tidy/SKILL.md +3 -0
  19. package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +1 -1
  20. package/templates/awa/.awa/.agent/schemas/API.schema.yaml +1 -1
  21. package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +7 -0
  22. package/templates/awa/.awa/.agent/schemas/DESIGN.schema.yaml +1 -1
  23. package/templates/awa/.awa/.agent/schemas/{EXAMPLES.schema.yaml → EXAMPLE.schema.yaml} +4 -4
  24. package/templates/awa/.awa/.agent/schemas/FEAT.schema.yaml +8 -1
  25. package/templates/awa/.awa/.agent/schemas/PLAN.schema.yaml +1 -1
  26. package/templates/awa/.awa/.agent/schemas/README.schema.yaml +1 -1
  27. package/templates/awa/.awa/.agent/schemas/REQ.schema.yaml +1 -1
  28. package/templates/awa/.awa/.agent/schemas/TASK.schema.yaml +1 -1
  29. package/templates/awa/.claude/skills/spec-merge/SKILL.md +3 -0
  30. package/templates/awa/.claude/skills/spec-tidy/SKILL.md +3 -0
  31. package/templates/awa/.gemini/commands/spec-merge.md +3 -0
  32. package/templates/awa/.gemini/commands/spec-tidy.md +3 -0
  33. package/templates/awa/.gemini/skills/spec-merge/SKILL.md +3 -0
  34. package/templates/awa/.gemini/skills/spec-tidy/SKILL.md +3 -0
  35. package/templates/awa/.github/prompts/awa.spec-merge.prompt.md +8 -0
  36. package/templates/awa/.github/prompts/awa.spec-tidy.prompt.md +7 -0
  37. package/templates/awa/.github/skills/spec-merge/SKILL.md +3 -0
  38. package/templates/awa/.github/skills/spec-tidy/SKILL.md +3 -0
  39. package/templates/awa/.kilocode/skills/spec-merge/SKILL.md +3 -0
  40. package/templates/awa/.kilocode/skills/spec-tidy/SKILL.md +3 -0
  41. package/templates/awa/.kilocode/workflows/spec-merge.md +3 -0
  42. package/templates/awa/.kilocode/workflows/spec-tidy.md +3 -0
  43. package/templates/awa/.opencode/commands/spec-merge.md +3 -0
  44. package/templates/awa/.opencode/commands/spec-tidy.md +3 -0
  45. package/templates/awa/.opencode/skills/spec-merge/SKILL.md +3 -0
  46. package/templates/awa/.opencode/skills/spec-tidy/SKILL.md +3 -0
  47. package/templates/awa/.qwen/commands/spec-merge.md +3 -0
  48. package/templates/awa/.qwen/commands/spec-tidy.md +3 -0
  49. package/templates/awa/.qwen/skills/spec-merge/SKILL.md +3 -0
  50. package/templates/awa/.qwen/skills/spec-tidy/SKILL.md +3 -0
  51. package/templates/awa/.roo/skills/spec-merge/SKILL.md +3 -0
  52. package/templates/awa/.roo/skills/spec-tidy/SKILL.md +3 -0
  53. package/templates/awa/.windsurf/skills/spec-merge/SKILL.md +3 -0
  54. package/templates/awa/.windsurf/skills/spec-tidy/SKILL.md +3 -0
  55. package/templates/awa/_delete.txt +4 -0
  56. package/templates/awa/_partials/_cmd.spec-merge.md +6 -0
  57. package/templates/awa/_partials/_cmd.spec-tidy.md +5 -0
  58. package/templates/awa/_partials/_skill.spec-merge.md +6 -0
  59. package/templates/awa/_partials/_skill.spec-tidy.md +6 -0
  60. package/templates/awa/_partials/awa.align.md +1 -1
  61. package/templates/awa/_partials/awa.brainstorm.md +1 -1
  62. package/templates/awa/_partials/awa.code.md +1 -1
  63. package/templates/awa/_partials/awa.core.md +8 -4
  64. package/templates/awa/_partials/awa.design.md +3 -2
  65. package/templates/awa/_partials/awa.documentation.md +1 -1
  66. package/templates/awa/_partials/awa.examples.md +4 -4
  67. package/templates/awa/_partials/awa.feature.md +2 -1
  68. package/templates/awa/_partials/awa.plan.md +2 -2
  69. package/templates/awa/_partials/awa.requirements.md +4 -2
  70. package/templates/awa/_partials/awa.spec-merge.md +97 -0
  71. package/templates/awa/_partials/awa.spec.tidy.md +92 -0
  72. package/templates/awa/_partials/awa.tasks.md +1 -1
  73. package/templates/awa/_partials/awa.upgrade.md +3 -3
  74. package/templates/awa/_partials/awa.usage.md +74 -6
  75. package/templates/awa/_partials/awa.vibe.md +1 -1
  76. package/templates/awa/_tests/claude/.awa/.agent/awa.core.md +126 -0
  77. package/templates/awa/_tests/claude/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
  78. package/templates/awa/_tests/claude/.awa/.agent/schemas/API.schema.yaml +7 -0
  79. package/templates/awa/_tests/claude/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +257 -0
  80. package/templates/awa/_tests/claude/.awa/.agent/schemas/DESIGN.schema.yaml +351 -0
  81. package/templates/awa/_tests/claude/.awa/.agent/schemas/EXAMPLE.schema.yaml +89 -0
  82. package/templates/awa/_tests/claude/.awa/.agent/schemas/FEAT.schema.yaml +142 -0
  83. package/templates/awa/_tests/claude/.awa/.agent/schemas/PLAN.schema.yaml +146 -0
  84. package/templates/awa/_tests/claude/.awa/.agent/schemas/README.schema.yaml +137 -0
  85. package/templates/awa/_tests/claude/.awa/.agent/schemas/REQ.schema.yaml +160 -0
  86. package/templates/awa/_tests/claude/.awa/.agent/schemas/TASK.schema.yaml +204 -0
  87. package/templates/awa/_tests/claude/.claude/agents/awa.md +137 -0
  88. package/templates/awa/_tests/claude/.claude/skills/awa-align/SKILL.md +67 -0
  89. package/templates/awa/_tests/claude/.claude/skills/awa-architecture/SKILL.md +50 -0
  90. package/templates/awa/_tests/claude/.claude/skills/awa-brainstorm/SKILL.md +57 -0
  91. package/templates/awa/_tests/claude/.claude/skills/awa-check/SKILL.md +79 -0
  92. package/templates/awa/_tests/claude/.claude/skills/awa-code/SKILL.md +179 -0
  93. package/templates/awa/_tests/claude/.claude/skills/awa-design/SKILL.md +62 -0
  94. package/templates/awa/_tests/claude/.claude/skills/awa-documentation/SKILL.md +91 -0
  95. package/templates/awa/_tests/claude/.claude/skills/awa-examples/SKILL.md +58 -0
  96. package/templates/awa/_tests/claude/.claude/skills/awa-feature/SKILL.md +56 -0
  97. package/templates/awa/_tests/claude/.claude/skills/awa-plan/SKILL.md +53 -0
  98. package/templates/awa/_tests/claude/.claude/skills/awa-refactor/SKILL.md +53 -0
  99. package/templates/awa/_tests/claude/.claude/skills/awa-requirements/SKILL.md +58 -0
  100. package/templates/awa/_tests/claude/.claude/skills/awa-tasks/SKILL.md +158 -0
  101. package/templates/awa/_tests/claude/.claude/skills/awa-upgrade/SKILL.md +68 -0
  102. package/templates/awa/_tests/claude/.claude/skills/awa-usage/SKILL.md +368 -0
  103. package/templates/awa/_tests/claude/.claude/skills/awa-vibe/SKILL.md +72 -0
  104. package/templates/awa/_tests/claude/.claude/skills/spec-merge/SKILL.md +102 -0
  105. package/templates/awa/_tests/claude/.claude/skills/spec-tidy/SKILL.md +97 -0
  106. package/templates/awa/_tests/claude/CLAUDE.md +132 -0
  107. package/templates/awa/_tests/copilot/.awa/.agent/awa.core.md +126 -0
  108. package/templates/awa/_tests/copilot/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
  109. package/templates/awa/_tests/copilot/.awa/.agent/schemas/API.schema.yaml +7 -0
  110. package/templates/awa/_tests/copilot/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +257 -0
  111. package/templates/awa/_tests/copilot/.awa/.agent/schemas/DESIGN.schema.yaml +351 -0
  112. package/templates/awa/_tests/copilot/.awa/.agent/schemas/EXAMPLE.schema.yaml +89 -0
  113. package/templates/awa/_tests/copilot/.awa/.agent/schemas/FEAT.schema.yaml +142 -0
  114. package/templates/awa/_tests/copilot/.awa/.agent/schemas/PLAN.schema.yaml +146 -0
  115. package/templates/awa/_tests/copilot/.awa/.agent/schemas/README.schema.yaml +137 -0
  116. package/templates/awa/_tests/copilot/.awa/.agent/schemas/REQ.schema.yaml +160 -0
  117. package/templates/awa/_tests/copilot/.awa/.agent/schemas/TASK.schema.yaml +204 -0
  118. package/templates/awa/_tests/copilot/.github/agents/awa.agent.md +137 -0
  119. package/templates/awa/_tests/copilot/.github/prompts/awa.align.prompt.md +67 -0
  120. package/templates/awa/_tests/copilot/.github/prompts/awa.architecture.prompt.md +50 -0
  121. package/templates/awa/_tests/copilot/.github/prompts/awa.brainstorm.prompt.md +57 -0
  122. package/templates/awa/_tests/copilot/.github/prompts/awa.check.prompt.md +79 -0
  123. package/templates/awa/_tests/copilot/.github/prompts/awa.code.prompt.md +179 -0
  124. package/templates/awa/_tests/copilot/.github/prompts/awa.design.prompt.md +62 -0
  125. package/templates/awa/_tests/copilot/.github/prompts/awa.documentation.prompt.md +91 -0
  126. package/templates/awa/_tests/copilot/.github/prompts/awa.examples.prompt.md +58 -0
  127. package/templates/awa/_tests/copilot/.github/prompts/awa.feature.prompt.md +56 -0
  128. package/templates/awa/_tests/copilot/.github/prompts/awa.plan.prompt.md +53 -0
  129. package/templates/awa/_tests/copilot/.github/prompts/awa.refactor.prompt.md +53 -0
  130. package/templates/awa/_tests/copilot/.github/prompts/awa.requirements.prompt.md +58 -0
  131. package/templates/awa/_tests/copilot/.github/prompts/awa.spec-merge.prompt.md +102 -0
  132. package/templates/awa/_tests/copilot/.github/prompts/awa.spec-tidy.prompt.md +96 -0
  133. package/templates/awa/_tests/copilot/.github/prompts/awa.tasks.prompt.md +158 -0
  134. package/templates/awa/_tests/copilot/.github/prompts/awa.upgrade.prompt.md +68 -0
  135. package/templates/awa/_tests/copilot/.github/prompts/awa.vibe.prompt.md +72 -0
  136. package/templates/awa/_tests/copilot/.github/skills/awa-align/SKILL.md +67 -0
  137. package/templates/awa/_tests/copilot/.github/skills/awa-architecture/SKILL.md +50 -0
  138. package/templates/awa/_tests/copilot/.github/skills/awa-brainstorm/SKILL.md +57 -0
  139. package/templates/awa/_tests/copilot/.github/skills/awa-check/SKILL.md +79 -0
  140. package/templates/awa/_tests/copilot/.github/skills/awa-code/SKILL.md +179 -0
  141. package/templates/awa/_tests/copilot/.github/skills/awa-design/SKILL.md +62 -0
  142. package/templates/awa/_tests/copilot/.github/skills/awa-documentation/SKILL.md +91 -0
  143. package/templates/awa/_tests/copilot/.github/skills/awa-examples/SKILL.md +58 -0
  144. package/templates/awa/_tests/copilot/.github/skills/awa-feature/SKILL.md +56 -0
  145. package/templates/awa/_tests/copilot/.github/skills/awa-plan/SKILL.md +53 -0
  146. package/templates/awa/_tests/copilot/.github/skills/awa-refactor/SKILL.md +53 -0
  147. package/templates/awa/_tests/copilot/.github/skills/awa-requirements/SKILL.md +58 -0
  148. package/templates/awa/_tests/copilot/.github/skills/awa-tasks/SKILL.md +158 -0
  149. package/templates/awa/_tests/copilot/.github/skills/awa-upgrade/SKILL.md +68 -0
  150. package/templates/awa/_tests/copilot/.github/skills/awa-usage/SKILL.md +368 -0
  151. package/templates/awa/_tests/copilot/.github/skills/awa-vibe/SKILL.md +72 -0
  152. package/templates/awa/_tests/copilot/.github/skills/spec-merge/SKILL.md +102 -0
  153. package/templates/awa/_tests/copilot/.github/skills/spec-tidy/SKILL.md +97 -0
  154. package/dist/chunk-OQZTQ5ZI.js.map +0 -1
  155. /package/dist/{config-WL3SLSP6.js.map → config-EJIXC7D7.js.map} +0 -0
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: awa-code
3
+ description: Implement code and tests based on architecture, requirements, and design (or a set of tasks). Use this when asked to implement features, write code, or create tests.
4
+ ---
5
+
6
+ # Implement Code and Tests from Architecture, Requirements, Design, and (optional) Tasks
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ </tool>
15
+
16
+ ## User Input
17
+
18
+ ```text
19
+ ${input}
20
+ ```
21
+
22
+ You **MUST** consider the user input before proceeding (if not empty).
23
+
24
+ ## Inputs
25
+
26
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
27
+ <file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
28
+ <file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
29
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
31
+ <file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
32
+ <file type="tasks" path=".awa/tasks/TASK-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
33
+ <file type="code" required="if relevant" />
34
+
35
+ ## Action
36
+
37
+ Implement code and tests based on architecture, requirements, and design (tasks optional) as specified in the instruction above, following awa conventions.
38
+
39
+ ## Traceability Markers
40
+
41
+ You MUST add these markers to create explicit traces:
42
+
43
+ ```
44
+ // @awa-component: {CODE}-{ComponentName}
45
+ ```
46
+ Place at the top of each file/module that implements a design component.
47
+
48
+ ```
49
+ // @awa-impl: {CODE}-{n}[.{p}]_AC-{m}
50
+ ```
51
+ Place above code that satisfies an acceptance criterion. Multiple markers allowed per block.
52
+
53
+ ```
54
+ // @awa-test: {CODE}_P-{n}
55
+ // @awa-test: {CODE}-{n}[.{p}]_AC-{m}
56
+ ```
57
+ Place above tests. Use P- for property-based tests, AC- for direct acceptance tests.
58
+
59
+ ## Implementation Process
60
+
61
+ 1. PARSE DESIGN
62
+ - Identify components and their interfaces
63
+ - Note IMPLEMENTS references (which ACs each component covers)
64
+ - Note properties ({CODE}_P-{n}) and what they VALIDATE
65
+
66
+ 2. PARSE REQ
67
+ - Understand acceptance criteria being implemented
68
+ - Note criterion types (event, ubiquitous, conditional, etc.)
69
+
70
+ 3. IF TASKS PROVIDED
71
+ - Follow task order strictly
72
+ - Implement one task at a time
73
+ - Update TASK file checkmark, and report completion of each task before proceeding to the next
74
+
75
+ 4. IF NO TASKS
76
+ - Implement components in dependency order
77
+ - Start with bootstrapping, then types/interfaces, then core logic, then entry points
78
+
79
+ 5. FOR EACH COMPONENT
80
+ - Add @awa-component marker at file/module top
81
+ - Implement interface as specified in DESIGN
82
+ - Add @awa-impl marker above code satisfying each AC
83
+ - One AC may require multiple @awa-impl markers across files
84
+
85
+ 6. FOR EACH TEST
86
+ - Property tests (@awa-test: {CODE}_P-{n}): Use property-based testing framework
87
+ - Acceptance tests (@awa-test: {CODE}-{n}[.{p}]_AC-{m}): Use example-based assertions
88
+ - A single test may verify multiple ACs or properties
89
+
90
+ 7. UPDATE DOCUMENTATION
91
+ - If user-facing behavior changed: update user docs
92
+ - If CLI commands or options changed: update CLI reference docs
93
+ - If project structure changed: update ARCHITECTURE.md
94
+ - If no user-facing changes: skip this step
95
+
96
+ ## Outputs
97
+
98
+ - source code files with appropriate markers
99
+ - test files with appropriate markers
100
+ - associated project configuration files if needed
101
+ - updated documentation if necessary
102
+
103
+ ## Constraints
104
+
105
+ - Never implement without a corresponding DESIGN component
106
+ - Never add @awa-impl without understanding the AC's criterion type
107
+ - Prefer one @awa-component per file; split if file covers multiple components
108
+ - Keep @awa-impl markers close to the implementing code, not at file top
109
+ - If AC cannot be fully satisfied, add marker with comment: `// @awa-impl: {CODE}-{n}[.{p}]_AC-{m} (partial: reason)`
110
+ - If PLAN task is blocked, report blocker and await instruction
111
+
112
+ ## Example
113
+
114
+ Given:
115
+ - CFG-1: Config Loading with CFG-1_AC-1 (load from path), CFG-1_AC-2 (merge with defaults)
116
+ - DESIGN component CFG-ConfigLoader with IMPLEMENTS: CFG-1_AC-1, CFG-1_AC-2
117
+ - DESIGN property CFG_P-1 [Default Preservation] VALIDATES: CFG-1_AC-2
118
+
119
+ Output:
120
+
121
+ ```typescript
122
+ // FILE: src/config/loader.ts
123
+
124
+ // @awa-component: CFG-ConfigLoader
125
+
126
+ import { Config, RawConfig } from './types';
127
+ import { defaults } from './defaults';
128
+
129
+ // @awa-impl: CFG-1_AC-1
130
+ export async function load(path: string): Promise {
131
+ const content = await fs.readFile(path, 'utf8');
132
+ return parse(content);
133
+ }
134
+
135
+ // @awa-impl: CFG-1_AC-2
136
+ export function merge(raw: RawConfig): Config {
137
+ return { ...defaults, ...raw };
138
+ }
139
+ ```
140
+
141
+ ```typescript
142
+ // FILE: tests/config/loader.test.ts
143
+
144
+ import * as fc from 'fast-check';
145
+
146
+ // @awa-test: CFG_P-1
147
+ test.prop([fc.object()])('preserves defaults for missing keys', (partial) => {
148
+ const result = merge(partial);
149
+ for (const [key, value] of Object.entries(defaults)) {
150
+ if (!(key in partial)) {
151
+ expect(result[key]).toBe(value);
152
+ }
153
+ }
154
+ });
155
+
156
+ // @awa-test: CFG-1_AC-1
157
+ test('loads config from valid path', async () => {
158
+ const config = await load('fixtures/valid.toml');
159
+ expect(config).toBeDefined();
160
+ });
161
+ ```
162
+
163
+ ## Rules
164
+
165
+ You SHALL write code at the level of a technical lead.
166
+ You SHALL consider edge cases and error handling.
167
+ You SHALL use KISS, and YAGNI principles. Do not create more than requested.
168
+ You SHALL write tests to cover the requirements and success criteria. If no tests exist for the written code, you MUST create them.
169
+ You SHALL actively research existing code to apply the DRY principle.
170
+ You SHALL consider edge cases, UX, technical constraints, success criteria.
171
+ You MUST NOT add features or functionality beyond what is specified or requested.
172
+ You SHALL use any tools you need to help write and test code (e.g. MCP tools for result visualization).
173
+ You MUST add traceability markers (`@awa-component`, `@awa-impl`, `@awa-test`) to all code and tests.
174
+ You MUST ensure every feature implementation traces to at least one acceptance criterion.
175
+ You MUST ensure every test file traces to at least one design property.
176
+ You MUST run `awa check` after implementation to verify all traceability markers resolve to spec IDs and no acceptance criteria are left uncovered.
177
+ You SHALL update user-facing documentation when implementation changes user-facing behavior, CLI, API, or configuration.
178
+ You SHALL clarify open points with user.
179
+ You MAY use todos and tools as needed.
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: awa-design
3
+ description: Create or update design documents. Use this when asked to create, update or modify feature designs.
4
+ ---
5
+
6
+ # Create or Update Design(s)
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/DESIGN.schema.yaml" required="true" error="on not found" />
15
+ <read path=".awa/.agent/schemas/REQ.schema.yaml" optional="true" />
16
+ </tool>
17
+
18
+ ## User Input
19
+
20
+ ```text
21
+ ${input}
22
+ ```
23
+
24
+ You **MUST** consider the user input before proceeding (if not empty).
25
+
26
+ ## Inputs
27
+
28
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
29
+ <file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
31
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
32
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
33
+ <file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
34
+ <file type="code" required="if reverse workflow" />
35
+
36
+ ## Action
37
+
38
+ Update or create the design document(s) as specified in the instruction above, following awa conventions.
39
+
40
+ If deriving from existing code (reverse workflow), analyze the codebase to extract component structure, interfaces, data models, and design patterns.
41
+
42
+ ## Outputs
43
+
44
+ <file path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" />
45
+ <file path=".awa/specs/API-{CODE}-{api-name}.tsp" />
46
+
47
+ ## Rules
48
+
49
+ You SHALL ensure the {CODE} matches the corresponding REQ {CODE} for the same feature if one exists.
50
+ You SHALL run `awa spec codes` to help choose the {CODE} extending existing one if logical.
51
+ You SHALL solidify design with respect to architecture and requirements.
52
+ You SHALL create and maintain design specifications for features.
53
+ You SHALL create and maintain API specifications in TypeSpec format.
54
+ You SHALL define component interfaces, data models, and error handling strategies.
55
+ You SHALL identify existing requirements to update, or new requirements to create.
56
+ You SHALL consider edge cases, UX, technical constraints, success criteria.
57
+ You MUST identify areas where research is needed based on the feature requirements.
58
+ You MUST conduct research and build up context in the conversation thread.
59
+ You SHALL ensure IMPLEMENTS and VALIDATES cross-references in design components resolve to real requirement IDs and AC IDs.
60
+ You SHALL support reverse workflow: deriving design from existing code when requested.
61
+ You SHALL clarify open points with user.
62
+ You MAY use todos and tools as needed.
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: awa-documentation
3
+ description: Create or update project documentation (README.md and /docs). Use this when asked to write, update or improve documentation.
4
+ ---
5
+
6
+ # Create or Update Documentation
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/README.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
29
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="readme" path="README.md" required="if exists" />
31
+ <file type="docs" path="docs/*.md" required="if exists and relevant" />
32
+
33
+ ## Action
34
+
35
+ Update or create documentation as specified in the instruction above, following awa conventions.
36
+
37
+ ## Documentation Structure Example
38
+
39
+ ```
40
+ README.md # Project entry point (user-facing)
41
+ docs/
42
+ ├── {topic}.md # Documentation on a specific topic
43
+ ├── getting-started.md # Quick start guide
44
+ ├── configuration.md # Configuration reference
45
+ ├── cli-reference.md # CLI command reference (if CLI project)
46
+ ├── api.md # API reference (if library)
47
+ ├── templates.md # Template authoring (if template-based)
48
+ ├── architecture.md # Public architecture overview (optional)
49
+ └── contributing.md # Contribution guidelines (or CONTRIBUTING.md at root)
50
+ ```
51
+
52
+ ## Documentation Principles
53
+
54
+ 1. README.md is the entry point
55
+ - User-facing, not developer-facing
56
+ - Brief and scannable
57
+ - Links to /docs for details
58
+ - Shows quick start, not comprehensive guide
59
+
60
+ 2. /docs contains detailed documentation
61
+ - Each file covers one topic
62
+ - Reference style for commands/APIs
63
+ - Tutorial style for guides
64
+ - Keep files under the specified line-limit; split if larger
65
+
66
+ 3. Derive from specifications
67
+ - Do not duplicate; summarize and link
68
+
69
+ 4. Keep synchronized
70
+ - Update docs when specs change
71
+ - Remove docs for deprecated features
72
+
73
+ ## Output Files
74
+
75
+ <file path="README.md" />
76
+ <file path="docs/{topic}.md" />
77
+
78
+ ## Rules
79
+
80
+ You SHALL write documentation for end users, not internal developers.
81
+ You SHALL keep README.md concise and link to /docs for details.
82
+ You SHALL derive documentation content from architecture and design specs.
83
+ You SHALL NOT duplicate specification content; summarize and reference.
84
+ You SHALL ensure code examples are accurate and runnable.
85
+ You SHALL use consistent terminology matching the glossary in specs.
86
+ You SHALL organize /docs by topic, not by component.
87
+ You SHALL include practical examples for each feature documented.
88
+ You SHOULD update documentation when related specifications change.
89
+ You SHOULD include troubleshooting sections for common issues.
90
+ You SHALL clarify open points with user.
91
+ You MAY use todos and tools as needed.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: awa-examples
3
+ description: Create or update usage examples for a feature. Use this when asked to provide detailed code examples, CLI demonstrations, or configuration samples.
4
+ ---
5
+
6
+ # Create or Update Usage Examples
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="if exists" />
14
+ <read path=".awa/.agent/schemas/EXAMPLE.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
29
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
31
+ <file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if updating" />
32
+ <file type="code" required="if relevant" />
33
+
34
+ ## Action
35
+
36
+ Create or update concrete usage examples for a feature as specified in the instruction above, following awa conventions.
37
+
38
+ If deriving from existing code (reverse workflow), extract representative usage patterns, CLI invocations, and configuration samples.
39
+
40
+ ## Outputs
41
+
42
+ <file path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" />
43
+
44
+ ## Rules
45
+
46
+ You SHALL provide concrete, detailed, reproducible examples (code, CLI, config).
47
+ You SHALL include context for each example explaining when to use it and what it demonstrates.
48
+ You SHALL use the same {CODE} as the corresponding FEAT/REQ for the feature.
49
+ You SHALL mark the document as INFORMATIVE (not normative).
50
+ You SHALL split into multiple files (-001, -002, ...) if a single file would exceed the line-limit.
51
+ You SHALL NOT use normative language (SHALL/SHOULD/MAY) — that belongs in REQ documents.
52
+ You SHALL NOT define acceptance criteria or traceability IDs — that belongs in REQ documents.
53
+ You SHALL NOT describe design decisions or implementation details — that belongs in DESIGN documents.
54
+ You SHALL support reverse workflow: extracting examples from existing code when requested.
55
+ You SHALL clarify open points with user.
56
+ You MAY include prerequisites, expected output, and notes for each example.
57
+ You MAY create examples proactively when detailed demonstrations would aid understanding.
58
+ You MAY use todos and tools as needed.
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: awa-feature
3
+ description: Create or update feature context documents. Use this when asked to describe a feature, explain motivation, or provide non-normative context.
4
+ ---
5
+
6
+ # Create or Update Feature Context
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/FEAT.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if updating" />
29
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="code" required="if reverse workflow" />
31
+
32
+ ## Action
33
+
34
+ Create or update a non-normative feature context document as specified in the instruction above, following awa conventions.
35
+ Consider existing specifications before making changes.
36
+
37
+ If deriving from existing code or requirements (reverse workflow), analyze the codebase and specs to extract the problem statement, conceptual model, and usage scenarios.
38
+
39
+ ## Outputs
40
+
41
+ <file path=".awa/specs/FEAT-{CODE}-{feature-name}.md" />
42
+
43
+ ## Rules
44
+
45
+ You SHALL run `awa spec codes` to help choose the {CODE} extending existing one if logical.
46
+ You SHALL describe the problem, motivation, and conceptual model for the feature.
47
+ You SHALL provide concrete usage scenarios that illustrate the feature in action.
48
+ You SHALL mark the document as INFORMATIVE (not normative).
49
+ You SHALL NOT use normative language (SHALL/SHOULD/MAY) — that belongs in REQ documents.
50
+ You SHALL NOT define acceptance criteria or traceability IDs — that belongs in REQ documents.
51
+ You SHALL NOT describe design decisions or implementation details — that belongs in DESIGN documents.
52
+ You SHALL use clear, accessible language; define jargon in a glossary if needed.
53
+ You SHALL support reverse workflow: deriving feature context from existing code or requirements when requested.
54
+ You SHALL clarify open points with user.
55
+ You MAY include diagrams, background, and non-normative notes as needed.
56
+ You MAY use todos and tools as needed.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: awa-plan
3
+ description: Create or update ad-hoc plan documents. Use this when asked to create plans, break down work, or organize tasks, but not when specifically asked to create tasks from requirements and design documents.
4
+ ---
5
+
6
+ # Create or Update Plan(s)
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/PLAN.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
29
+ <file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
30
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
31
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
32
+ <file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
33
+ <file type="code_and_tests" path="various" required="if relevant" />
34
+
35
+ ## Action
36
+
37
+ Update or create the ad-hoc plan document(s) as specified in the instruction above, following awa conventions.
38
+
39
+ ## Outputs
40
+
41
+ <file path=".awa/plans/PLAN-{nnn}-{plan-name}.md" />
42
+
43
+ ## Rules
44
+
45
+ You SHALL create and maintain ad-hoc plans for features, improvements, refactors, or other user requests.
46
+ You SHALL break down work into detailed, actionable steps
47
+ You SHALL identify risks, dependencies, and completion criteria
48
+ You SHALL ensure the 3-number {nnn} used in the filename follows the previous plans within the project.
49
+ You SHOULD NOT write significant code in the plan documents. Code can be used to define data structures and for explanation.
50
+ You SHOULD consider edge cases, user experience, technical constraints, and success criteria.
51
+ You SHOULD suggest specific areas where the plan might need clarification or expansion.
52
+ You SHALL clarify open points with user.
53
+ You MAY use todos and tools as needed.
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: awa-refactor
3
+ description: Refactor code or docs while preserving behavior, meaning, and traceability. Use this when asked to refactor, restructure, or improve code quality.
4
+ ---
5
+
6
+ # Refactor Code
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ </tool>
15
+
16
+ ## User Input
17
+
18
+ ```text
19
+ ${input}
20
+ ```
21
+
22
+ You **MUST** consider the user input before proceeding (if not empty).
23
+
24
+ ## Inputs
25
+
26
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
27
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
28
+ <file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
29
+ <file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
30
+ <file type="tasks" path=".awa/tasks/TASK-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
31
+ <file type="code" required="if relevant" />
32
+
33
+ ## Action
34
+
35
+ Refactor the specified cod or docs as instructed, following awa conventions.
36
+
37
+ ## Outputs
38
+
39
+ - Refactored source code files with preserved markers
40
+ - Updated test files if structure changed
41
+ - Refactored documentation
42
+
43
+ ## Rules
44
+
45
+ You SHALL preserve existing behavior unless explicitly asked to change it.
46
+ You SHALL maintain all traceability markers (@awa-component, @awa-impl, @awa-test).
47
+ You SHALL run `awa check` after refactoring to verify all traceability markers are preserved and still resolve correctly.
48
+ You SHALL ensure tests pass before and after refactoring.
49
+ You SHALL make incremental changes, not wholesale rewrites.
50
+ You SHALL NOT change public interfaces without explicit approval.
51
+ You SHALL update user-facing documentation when implementation changes user-facing behavior, CLI, API, or configuration.
52
+ You SHALL clarify scope and risks with user before major refactors.
53
+ You MAY use todos and tools as needed.
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: awa-requirements
3
+ description: Create or update requirements documents. Use this when asked to create, update or modify requirements.
4
+ ---
5
+
6
+ # Create or Update Requirements
7
+
8
+ ## Bootstrap
9
+
10
+ <tool name="read_file">
11
+ <read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
12
+ <read path=".awa/rules/*.md" required="true" />
13
+ <read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
14
+ <read path=".awa/.agent/schemas/REQ.schema.yaml" required="true" error="on not found" />
15
+ </tool>
16
+
17
+ ## User Input
18
+
19
+ ```text
20
+ ${input}
21
+ ```
22
+
23
+ You **MUST** consider the user input before proceeding (if not empty).
24
+
25
+ ## Inputs
26
+
27
+ <file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
28
+ <file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="true" />
29
+ <file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
30
+ <file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
31
+ <file type="code" required="if reverse workflow" />
32
+
33
+ ## Action
34
+
35
+ Create or update the requirements document(s) as specified in the instruction above, following awa conventions.
36
+ Consider existing specifications before making changes.
37
+
38
+ If deriving from existing code (reverse workflow), analyze the codebase to extract implicit requirements, acceptance criteria, and behavioral expectations.
39
+
40
+ ## Outputs
41
+
42
+ <file path=".awa/specs/REQ-{CODE}-{feature-name}.md" />
43
+
44
+ ## Rules
45
+
46
+ You SHALL ensure the {CODE} matches the corresponding FEAT {CODE} for the same feature if one exists.
47
+ You SHALL run `awa spec codes` to help choose the {CODE} extending existing one if logical.
48
+ You SHALL read the corresponding FEAT document before writing requirements.
49
+ You SHALL solidify requirements with respect to architecture, feature context, and existing requirements.
50
+ You SHALL create set of requirements in EARS format (INCOSE-compliant) based on the feature context.
51
+ You SHALL identify existing requirements to update, or new requirements to create.
52
+ You SHALL consider edge cases, UX, technical constraints, success criteria.
53
+ You SHOULD focus on requirements which will later be turned into a design.
54
+ You SHOULD keep requirements at a manageable level of detail.
55
+ You SHALL ensure requirement IDs and AC IDs follow the format defined in the traceability chain (e.g. `{CODE}-{n}`, `{CODE}-{n}_AC-{m}`, `{CODE}-{n}.{p}_AC-{m}`).
56
+ You SHALL support reverse workflow: deriving requirements from existing code when requested.
57
+ You SHALL clarify open points with user.
58
+ You MAY use todos and tools as needed.