@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.
- package/LICENSE +23 -16
- package/README.md +25 -27
- package/dist/{chunk-OQZTQ5ZI.js → chunk-LRQWZCYL.js} +1 -4
- package/dist/chunk-LRQWZCYL.js.map +1 -0
- package/dist/chunk-WGGMDWBE.js +760 -0
- package/dist/chunk-WGGMDWBE.js.map +1 -0
- package/dist/{config-WL3SLSP6.js → config-EJIXC7D7.js} +2 -2
- package/dist/index.js +1252 -452
- package/dist/index.js.map +1 -1
- package/dist/renumber-ZCI2H5HZ.js +9 -0
- package/dist/renumber-ZCI2H5HZ.js.map +1 -0
- package/package.json +13 -6
- package/templates/awa/.agent/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.agent/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.agent/workflows/spec-merge.md +3 -0
- package/templates/awa/.agent/workflows/spec-tidy.md +3 -0
- package/templates/awa/.agents/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.agents/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/API.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +7 -0
- package/templates/awa/.awa/.agent/schemas/DESIGN.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/{EXAMPLES.schema.yaml → EXAMPLE.schema.yaml} +4 -4
- package/templates/awa/.awa/.agent/schemas/FEAT.schema.yaml +8 -1
- package/templates/awa/.awa/.agent/schemas/PLAN.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/README.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/REQ.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/TASK.schema.yaml +1 -1
- package/templates/awa/.claude/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.claude/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.gemini/commands/spec-merge.md +3 -0
- package/templates/awa/.gemini/commands/spec-tidy.md +3 -0
- package/templates/awa/.gemini/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.gemini/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.github/prompts/awa.spec-merge.prompt.md +8 -0
- package/templates/awa/.github/prompts/awa.spec-tidy.prompt.md +7 -0
- package/templates/awa/.github/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.github/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.kilocode/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.kilocode/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.kilocode/workflows/spec-merge.md +3 -0
- package/templates/awa/.kilocode/workflows/spec-tidy.md +3 -0
- package/templates/awa/.opencode/commands/spec-merge.md +3 -0
- package/templates/awa/.opencode/commands/spec-tidy.md +3 -0
- package/templates/awa/.opencode/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.opencode/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.qwen/commands/spec-merge.md +3 -0
- package/templates/awa/.qwen/commands/spec-tidy.md +3 -0
- package/templates/awa/.qwen/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.qwen/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.roo/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.roo/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.windsurf/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.windsurf/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/_delete.txt +4 -0
- package/templates/awa/_partials/_cmd.spec-merge.md +6 -0
- package/templates/awa/_partials/_cmd.spec-tidy.md +5 -0
- package/templates/awa/_partials/_skill.spec-merge.md +6 -0
- package/templates/awa/_partials/_skill.spec-tidy.md +6 -0
- package/templates/awa/_partials/awa.align.md +1 -1
- package/templates/awa/_partials/awa.brainstorm.md +1 -1
- package/templates/awa/_partials/awa.code.md +1 -1
- package/templates/awa/_partials/awa.core.md +8 -4
- 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 +4 -4
- package/templates/awa/_partials/awa.feature.md +2 -1
- package/templates/awa/_partials/awa.plan.md +2 -2
- package/templates/awa/_partials/awa.requirements.md +4 -2
- package/templates/awa/_partials/awa.spec-merge.md +97 -0
- package/templates/awa/_partials/awa.spec.tidy.md +92 -0
- package/templates/awa/_partials/awa.tasks.md +1 -1
- package/templates/awa/_partials/awa.upgrade.md +3 -3
- package/templates/awa/_partials/awa.usage.md +74 -6
- package/templates/awa/_partials/awa.vibe.md +1 -1
- package/templates/awa/_tests/claude/.awa/.agent/awa.core.md +126 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/API.schema.yaml +7 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +257 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/DESIGN.schema.yaml +351 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/EXAMPLE.schema.yaml +89 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/FEAT.schema.yaml +142 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/PLAN.schema.yaml +146 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/README.schema.yaml +137 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/REQ.schema.yaml +160 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/TASK.schema.yaml +204 -0
- package/templates/awa/_tests/claude/.claude/agents/awa.md +137 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-align/SKILL.md +67 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-architecture/SKILL.md +50 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-brainstorm/SKILL.md +57 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-check/SKILL.md +79 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-code/SKILL.md +179 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-design/SKILL.md +62 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-documentation/SKILL.md +91 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-examples/SKILL.md +58 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-feature/SKILL.md +56 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-plan/SKILL.md +53 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-refactor/SKILL.md +53 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-requirements/SKILL.md +58 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-tasks/SKILL.md +158 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-upgrade/SKILL.md +68 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-usage/SKILL.md +368 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-vibe/SKILL.md +72 -0
- package/templates/awa/_tests/claude/.claude/skills/spec-merge/SKILL.md +102 -0
- package/templates/awa/_tests/claude/.claude/skills/spec-tidy/SKILL.md +97 -0
- package/templates/awa/_tests/claude/CLAUDE.md +132 -0
- package/templates/awa/_tests/copilot/.awa/.agent/awa.core.md +126 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/API.schema.yaml +7 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +257 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/DESIGN.schema.yaml +351 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/EXAMPLE.schema.yaml +89 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/FEAT.schema.yaml +142 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/PLAN.schema.yaml +146 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/README.schema.yaml +137 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/REQ.schema.yaml +160 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/TASK.schema.yaml +204 -0
- package/templates/awa/_tests/copilot/.github/agents/awa.agent.md +137 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.align.prompt.md +67 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.architecture.prompt.md +50 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.brainstorm.prompt.md +57 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.check.prompt.md +79 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.code.prompt.md +179 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.design.prompt.md +62 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.documentation.prompt.md +91 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.examples.prompt.md +58 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.feature.prompt.md +56 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.plan.prompt.md +53 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.refactor.prompt.md +53 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.requirements.prompt.md +58 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.spec-merge.prompt.md +102 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.spec-tidy.prompt.md +96 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.tasks.prompt.md +158 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.upgrade.prompt.md +68 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.vibe.prompt.md +72 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-align/SKILL.md +67 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-architecture/SKILL.md +50 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-brainstorm/SKILL.md +57 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-check/SKILL.md +79 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-code/SKILL.md +179 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-design/SKILL.md +62 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-documentation/SKILL.md +91 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-examples/SKILL.md +58 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-feature/SKILL.md +56 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-plan/SKILL.md +53 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-refactor/SKILL.md +53 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-requirements/SKILL.md +58 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-tasks/SKILL.md +158 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-upgrade/SKILL.md +68 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-usage/SKILL.md +368 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-vibe/SKILL.md +72 -0
- package/templates/awa/_tests/copilot/.github/skills/spec-merge/SKILL.md +102 -0
- package/templates/awa/_tests/copilot/.github/skills/spec-tidy/SKILL.md +97 -0
- package/dist/chunk-OQZTQ5ZI.js.map +0 -1
- /package/dist/{config-WL3SLSP6.js.map → config-EJIXC7D7.js.map} +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Merge two feature codes into one using awa spec merge
|
|
3
|
+
argument-hint: "<source-code> <target-code>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Merge Two Feature Codes
|
|
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-{SOURCE_CODE}-*.md" required="true" />
|
|
28
|
+
<file type="feat" path=".awa/specs/FEAT-{TARGET_CODE}-*.md" required="if exists" />
|
|
29
|
+
<file type="requirements" path=".awa/specs/REQ-{SOURCE_CODE}-*.md" required="if exists" />
|
|
30
|
+
<file type="requirements" path=".awa/specs/REQ-{TARGET_CODE}-*.md" required="if exists" />
|
|
31
|
+
<file type="design" path=".awa/specs/DESIGN-{SOURCE_CODE}-*.md" required="if exists" />
|
|
32
|
+
<file type="design" path=".awa/specs/DESIGN-{TARGET_CODE}-*.md" required="if exists" />
|
|
33
|
+
<file type="api" path=".awa/specs/API-{SOURCE_CODE}-*.tsp" required="if exists" />
|
|
34
|
+
<file type="api" path=".awa/specs/API-{TARGET_CODE}-*.tsp" required="if exists" />
|
|
35
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{SOURCE_CODE}-*.md" required="if exists" />
|
|
36
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{TARGET_CODE}-*.md" required="if exists" />
|
|
37
|
+
<file type="tasks" path=".awa/tasks/TASK-{SOURCE_CODE}-*.md" required="if exists" />
|
|
38
|
+
<file type="tasks" path=".awa/tasks/TASK-{TARGET_CODE}-*.md" required="if exists" />
|
|
39
|
+
|
|
40
|
+
## Action
|
|
41
|
+
|
|
42
|
+
Merge the source feature code into the target feature code using `awa spec merge`, following awa conventions.
|
|
43
|
+
|
|
44
|
+
This combines all spec files, traceability IDs, code markers, and tests from the source code into the target code's namespace, then removes the source.
|
|
45
|
+
|
|
46
|
+
## Merge Process
|
|
47
|
+
|
|
48
|
+
0. PRE-VALIDATE
|
|
49
|
+
- Run `awa check` to record existing errors before proceeding
|
|
50
|
+
|
|
51
|
+
1. IDENTIFY CODES
|
|
52
|
+
- Determine the source code (to be absorbed) and target code (to receive content)
|
|
53
|
+
- Verify both codes exist by checking for spec files: `awa spec codes`
|
|
54
|
+
- Confirm the merge direction with the user if ambiguous
|
|
55
|
+
|
|
56
|
+
2. PREVIEW CHANGES
|
|
57
|
+
- Run `awa spec merge <source> <target> --dry-run` to see planned operations
|
|
58
|
+
- Review the output: ID remap table, file moves, renames
|
|
59
|
+
- If output looks wrong, abort and investigate
|
|
60
|
+
|
|
61
|
+
3. EXECUTE MERGE
|
|
62
|
+
- Run `awa spec merge <source> <target>` to apply the merge
|
|
63
|
+
|
|
64
|
+
4. CONSOLIDATE TARGET FILES
|
|
65
|
+
- List all spec files now under the target code namespace
|
|
66
|
+
- For each file type (FEAT, REQ, DESIGN, API, EXAMPLE), check if multiple files exist that should be combined
|
|
67
|
+
- Where two files of the same type cover closely related or overlapping content, merge them into one:
|
|
68
|
+
- Append the smaller file's content to the larger one
|
|
69
|
+
- Remove duplicate sections, but do not alter the wording of requirements or design components
|
|
70
|
+
- Ensure the merged file stays within schema line limits; split if needed
|
|
71
|
+
- Files that cover distinct topics should remain separate
|
|
72
|
+
|
|
73
|
+
5. FIX MERGED FILES
|
|
74
|
+
- Open every merged spec file and verify content coherence
|
|
75
|
+
- Reorder content into logical order
|
|
76
|
+
- Check that REQ files have consistent requirement structure
|
|
77
|
+
- Check that DESIGN files have non-overlapping component names
|
|
78
|
+
- Ensure all files respect schema line limits; split if needed
|
|
79
|
+
|
|
80
|
+
6. VALIDATE
|
|
81
|
+
- Run `awa check` to verify new status
|
|
82
|
+
- Fix any newly reported errors
|
|
83
|
+
- If no errors reported, process is complete
|
|
84
|
+
|
|
85
|
+
## Outputs
|
|
86
|
+
|
|
87
|
+
- Renamed spec files under the target code namespace, with recoded traceability markers
|
|
88
|
+
- Optionally consolidated target files where content overlaps
|
|
89
|
+
|
|
90
|
+
## Rules
|
|
91
|
+
|
|
92
|
+
You SHALL always preview with `--dry-run` before executing a merge.
|
|
93
|
+
You SHALL confirm the merge direction (source → target) with the user.
|
|
94
|
+
You SHALL run `awa check --spec-only` after merge to verify structural integrity.
|
|
95
|
+
You SHALL run `awa check` after merge if code markers were rewritten.
|
|
96
|
+
You SHALL review merged file content for coherence and size limits.
|
|
97
|
+
You SHALL use `--renumber` when clean sequential IDs are requested.
|
|
98
|
+
You SHALL NOT merge a code into itself.
|
|
99
|
+
You SHALL NOT proceed if `--dry-run` reveals unexpected stale references.
|
|
100
|
+
You SHALL update user-facing documentation when the merge changes public features, CLI, or configuration.
|
|
101
|
+
You SHALL clarify open points with user.
|
|
102
|
+
You MAY use todos and tools as needed.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Tidy and reorganise the specifications logically
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Tidy and Reorganise Specifications
|
|
6
|
+
|
|
7
|
+
## Bootstrap
|
|
8
|
+
|
|
9
|
+
<tool name="read_file">
|
|
10
|
+
<read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
|
|
11
|
+
<read path=".awa/rules/*.md" required="true" />
|
|
12
|
+
<read path=".awa/specs/ARCHITECTURE.md" required="true" error="on not found" />
|
|
13
|
+
</tool>
|
|
14
|
+
|
|
15
|
+
## User Input
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
${input}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
22
|
+
|
|
23
|
+
## Inputs
|
|
24
|
+
|
|
25
|
+
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
26
|
+
<file type="feat" path=".awa/specs/FEAT-{SOURCE_CODE}-*.md" required="true" />
|
|
27
|
+
<file type="requirements" path=".awa/specs/REQ-{SOURCE_CODE}-*.md" required="if exists" />
|
|
28
|
+
<file type="design" path=".awa/specs/DESIGN-{SOURCE_CODE}-*.md" required="if exists" />
|
|
29
|
+
<file type="api" path=".awa/specs/API-{SOURCE_CODE}-*.tsp" required="if exists" />
|
|
30
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{SOURCE_CODE}-*.md" required="if exists" />
|
|
31
|
+
<file type="tasks" path=".awa/tasks/TASK-{SOURCE_CODE}-*.md" required="if exists" />
|
|
32
|
+
|
|
33
|
+
## Action
|
|
34
|
+
|
|
35
|
+
Tidy and reorganise the specifications logically, following awa conventions. Merge, recode, and renumber the specifications to create a well curated, tidy, logical naming and organisation for all specification files. Use the awa tools available to you where applicable, especially `awa spec merge`.
|
|
36
|
+
|
|
37
|
+
## Merge Process
|
|
38
|
+
|
|
39
|
+
0. PRE-VALIDATE
|
|
40
|
+
- Run `awa check` to record existing errors before proceeding
|
|
41
|
+
|
|
42
|
+
1. IDENTIFY CHANGES
|
|
43
|
+
- Find existing codes for spec files: `awa spec codes`
|
|
44
|
+
- Read through all spec files to understand their content and relationships
|
|
45
|
+
- Identify files that should be merged, recoded, or renumbered to improve logical organisation
|
|
46
|
+
- For merges, determine the source and target codes
|
|
47
|
+
|
|
48
|
+
2. PREVIEW CHANGES
|
|
49
|
+
- For each planned merge, run `awa spec merge <source> <target> --dry-run` to see planned operations
|
|
50
|
+
- Review the output: ID remap table, file moves, renames
|
|
51
|
+
- For each planned recode, run `awa spec recode <code> <new-code> --dry-run` to see planned operations
|
|
52
|
+
- Review the output: ID remap table, file renames
|
|
53
|
+
- For each planned renumber, run `awa spec renumber <code> --dry-run` to see planned ID changes
|
|
54
|
+
- Review the output: ID remap table
|
|
55
|
+
- If output looks wrong, abort and investigate
|
|
56
|
+
|
|
57
|
+
3. EXECUTE MERGE / RECODE / RENUMBER
|
|
58
|
+
- Run the commands without dry run to apply the changes
|
|
59
|
+
|
|
60
|
+
4. CONSOLIDATE FILES
|
|
61
|
+
- Re-list all spec files
|
|
62
|
+
- For each file type (FEAT, REQ, DESIGN, API, EXAMPLE), check if multiple files exist that should be combined
|
|
63
|
+
- Where two files of the same type cover closely related or overlapping content, merge them into one:
|
|
64
|
+
- Append the smaller file's content to the larger one
|
|
65
|
+
- Remove duplicate sections, but do not alter the wording of requirements or design components
|
|
66
|
+
- Ensure the merged file stays within schema line limits; split if needed
|
|
67
|
+
- Files that cover distinct topics should remain separate
|
|
68
|
+
|
|
69
|
+
5. FIX MERGED FILES
|
|
70
|
+
- Open every merged spec file and verify content coherence
|
|
71
|
+
- Reorder content into logical order
|
|
72
|
+
- Check that REQ files have consistent requirement structure
|
|
73
|
+
- Check that DESIGN files have non-overlapping component names
|
|
74
|
+
- Ensure all files respect schema line limits; split if needed
|
|
75
|
+
|
|
76
|
+
6. VALIDATE
|
|
77
|
+
- Run `awa check` to verify new status
|
|
78
|
+
- Fix any newly reported errors
|
|
79
|
+
- If no errors reported, process is complete
|
|
80
|
+
|
|
81
|
+
## Outputs
|
|
82
|
+
|
|
83
|
+
- Well named and structured spec files with consistent codes and logical organisation
|
|
84
|
+
|
|
85
|
+
## Rules
|
|
86
|
+
|
|
87
|
+
You SHALL always preview with `--dry-run` before executing an awa operation.
|
|
88
|
+
You SHALL run `awa check --spec-only` after reorganisation to verify structural integrity.
|
|
89
|
+
You SHALL run `awa check` after reorganisation if code markers were rewritten.
|
|
90
|
+
You SHALL review reorganised file content for coherence and size limits.
|
|
91
|
+
You SHALL use `--renumber` when clean sequential IDs are requested.
|
|
92
|
+
You SHALL NOT merge a code into itself.
|
|
93
|
+
You SHALL NOT proceed if `--dry-run` reveals unexpected stale references.
|
|
94
|
+
You SHALL update user-facing documentation when the reorganisation changes public features, CLI, or configuration.
|
|
95
|
+
You SHALL clarify open points with user.
|
|
96
|
+
You MAY use todos and tools as needed.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create or update task list document
|
|
3
|
+
argument-hint: "<design> [<instructions>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create or Update Task List(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" optional="true" />
|
|
15
|
+
<read path=".awa/.agent/schemas/REQ.schema.yaml" optional="true" />
|
|
16
|
+
<read path=".awa/.agent/schemas/TASK.schema.yaml" required="true" error="on not found" />
|
|
17
|
+
</tool>
|
|
18
|
+
|
|
19
|
+
## User Input
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
${input}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
26
|
+
|
|
27
|
+
## Inputs
|
|
28
|
+
|
|
29
|
+
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
30
|
+
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
31
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
32
|
+
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
33
|
+
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
34
|
+
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
35
|
+
|
|
36
|
+
## Action
|
|
37
|
+
|
|
38
|
+
Update or create the task list document(s) as specified in the instruction above, following awa conventions.
|
|
39
|
+
|
|
40
|
+
## Process
|
|
41
|
+
|
|
42
|
+
1. PARSE REQ
|
|
43
|
+
- Extract requirements ({CODE}-{n}) with priorities (must/should/could)
|
|
44
|
+
- Extract acceptance criteria ({CODE}-{n}[.{p}]_AC-{m}) with types
|
|
45
|
+
- Note dependencies between requirements
|
|
46
|
+
- Identify testable criteria
|
|
47
|
+
|
|
48
|
+
2. PARSE DESIGN
|
|
49
|
+
- Extract components ({CODE}-{ComponentName}) and interfaces
|
|
50
|
+
- Map IMPLEMENTS references (component → ACs)
|
|
51
|
+
- Extract properties ({CODE}_P-{n}) and VALIDATES references
|
|
52
|
+
- Note architectural decisions and constraints
|
|
53
|
+
- Extract error types for error handling tasks
|
|
54
|
+
|
|
55
|
+
3. IF ARCH PROVIDED
|
|
56
|
+
- Extract project structure for file paths
|
|
57
|
+
- Extract technology stack for setup tasks
|
|
58
|
+
- Note architectural rules as constraints
|
|
59
|
+
|
|
60
|
+
4. GENERATE TASKS
|
|
61
|
+
- Phase 1: Setup (project initialization, dependencies)
|
|
62
|
+
- Phase 2: Foundation (shared types, core interfaces, error types)
|
|
63
|
+
- Phase 3+: One phase per requirement (priority order: must → should → could)
|
|
64
|
+
- Final Phase: Integration and polish
|
|
65
|
+
- Include test tasks based on properties and ACs
|
|
66
|
+
|
|
67
|
+
5. VALIDATE
|
|
68
|
+
- Every AC has at least one implementing task
|
|
69
|
+
- Every P has a test task
|
|
70
|
+
- No orphan tasks (all trace to AC or P)
|
|
71
|
+
- Dependencies respect component order from DESIGN
|
|
72
|
+
|
|
73
|
+
## Task Organization
|
|
74
|
+
|
|
75
|
+
### From Requirements
|
|
76
|
+
|
|
77
|
+
- Each requirement ({CODE}-{n}) becomes a phase (priority order)
|
|
78
|
+
- All ACs for that requirement → tasks within its phase
|
|
79
|
+
- Subrequirements ({CODE}-{n}.{p}) nest under parent phase
|
|
80
|
+
|
|
81
|
+
### From Design Components
|
|
82
|
+
|
|
83
|
+
- Each component → one or more implementation tasks
|
|
84
|
+
- Component's IMPLEMENTS list → task's IMPLEMENTS line
|
|
85
|
+
- Component interface → task description specifics
|
|
86
|
+
|
|
87
|
+
### From Properties
|
|
88
|
+
|
|
89
|
+
- Each property ({CODE}_P-{n}) → test task
|
|
90
|
+
- Property's VALIDATES list → determines test assertions
|
|
91
|
+
- Property type determines test approach:
|
|
92
|
+
- Invariants → property-based tests
|
|
93
|
+
- Specific behaviors → example-based tests
|
|
94
|
+
|
|
95
|
+
### From Error Types
|
|
96
|
+
|
|
97
|
+
- Each error type → error handling task in Foundation phase
|
|
98
|
+
- Error variants → validation tasks in relevant requirement phases
|
|
99
|
+
|
|
100
|
+
## Phase Structure
|
|
101
|
+
|
|
102
|
+
### Phase 1: Setup
|
|
103
|
+
|
|
104
|
+
- Project initialization
|
|
105
|
+
- Dependency installation
|
|
106
|
+
- Configuration scaffolding
|
|
107
|
+
- No requirement labels, no IMPLEMENTS lines
|
|
108
|
+
|
|
109
|
+
### Phase 2: Foundation
|
|
110
|
+
|
|
111
|
+
- Core types from DESIGN dataModels
|
|
112
|
+
- Error types from DESIGN errorHandling
|
|
113
|
+
- Shared interfaces
|
|
114
|
+
- No requirement labels, IMPLEMENTS only if AC covers foundation
|
|
115
|
+
|
|
116
|
+
### Phase 3+: Requirements (priority order)
|
|
117
|
+
|
|
118
|
+
Within each requirement phase:
|
|
119
|
+
1. Types/models specific to this requirement
|
|
120
|
+
2. Implementation tasks (component by component)
|
|
121
|
+
3. Test tasks (properties first, then direct AC tests)
|
|
122
|
+
|
|
123
|
+
Each phase should be independently testable after completion.
|
|
124
|
+
|
|
125
|
+
### Final Phase: Polish
|
|
126
|
+
|
|
127
|
+
- Integration tests across requirements
|
|
128
|
+
- Cross-cutting concerns
|
|
129
|
+
- No requirement labels
|
|
130
|
+
|
|
131
|
+
### Documentation Phase
|
|
132
|
+
|
|
133
|
+
- Documentation update tasks for any changed user-facing behavior, CLI, API, or configuration
|
|
134
|
+
- If no user-facing changes, include a single task: "No doc changes — internal only"
|
|
135
|
+
- No requirement labels, no IMPLEMENTS lines
|
|
136
|
+
|
|
137
|
+
## Validation Checklist
|
|
138
|
+
|
|
139
|
+
Before output, verify:
|
|
140
|
+
|
|
141
|
+
- [ ] Every task has correct format (checkbox, ID, description, path)
|
|
142
|
+
- [ ] Every AC appears in at least one IMPLEMENTS line
|
|
143
|
+
- [ ] Every P appears in at least one TESTS line
|
|
144
|
+
- [ ] Requirement labels only on requirement phase tasks
|
|
145
|
+
- [ ] [P] markers only where truly parallelizable
|
|
146
|
+
- [ ] Dependencies match DESIGN component order
|
|
147
|
+
- [ ] Each requirement phase has clear test criteria
|
|
148
|
+
- [ ] Trace summary accounts for all ACs and Ps
|
|
149
|
+
- [ ] Documentation phase present with doc update tasks or explicit "no changes" task
|
|
150
|
+
|
|
151
|
+
## Outputs
|
|
152
|
+
|
|
153
|
+
<file path=".awa/tasks/TASK-{CODE}-{feature-name}-{nnn}.md" />
|
|
154
|
+
|
|
155
|
+
## Rules
|
|
156
|
+
|
|
157
|
+
You SHALL clarify open points with user.
|
|
158
|
+
You MAY use todos and tools as needed.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Upgrade specs to match current schemas
|
|
3
|
+
argument-hint: "[<upgrade-instructions>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Upgrade Specs to Current Schemas
|
|
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/ARCHITECTURE.schema.yaml" required="true" error="on not found" />
|
|
15
|
+
<read path=".awa/.agent/schemas/FEAT.schema.yaml" required="true" error="on not found" />
|
|
16
|
+
<read path=".awa/.agent/schemas/EXAMPLE.schema.yaml" required="true" error="on not found" />
|
|
17
|
+
<read path=".awa/.agent/schemas/REQ.schema.yaml" required="true" error="on not found" />
|
|
18
|
+
<read path=".awa/.agent/schemas/DESIGN.schema.yaml" required="true" error="on not found" />
|
|
19
|
+
<read path=".awa/.agent/schemas/TASK.schema.yaml" required="true" error="on not found" />
|
|
20
|
+
<read path=".awa/.agent/schemas/PLAN.schema.yaml" required="true" error="on not found" />
|
|
21
|
+
<read path=".awa/.agent/schemas/ALIGN_REPORT.schema.yaml" required="true" error="on not found" />
|
|
22
|
+
</tool>
|
|
23
|
+
|
|
24
|
+
## User Input
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
${input}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
31
|
+
|
|
32
|
+
## Inputs
|
|
33
|
+
|
|
34
|
+
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
35
|
+
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if exists" />
|
|
36
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if exists" />
|
|
37
|
+
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if exists" />
|
|
38
|
+
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if exists" />
|
|
39
|
+
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if exists" />
|
|
40
|
+
<file type="tasks" path=".awa/tasks/TASK-{CODE}-{feature-name}-{nnn}.md" required="if exists" />
|
|
41
|
+
<file type="plan" path=".awa/plans/PLAN-{nnn}-{plan-name}.md" required="if exists" />
|
|
42
|
+
<file type="align_report" path=".awa/alignment/ALIGN-{x}-WITH-{y}-{nnn}.md" required="if exists" />
|
|
43
|
+
<file type="code" required="if relevant" />
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Action
|
|
47
|
+
|
|
48
|
+
Upgrade the specified specs to conform to their schemas and traceability rules.
|
|
49
|
+
|
|
50
|
+
1) ORIENT: Confirm which artifacts to upgrade; clarify missing targets.
|
|
51
|
+
2) CHECK: Run `awa check` in the terminal to identify schema violations and traceability errors across all target files. Parse the output to build a list of findings to fix.
|
|
52
|
+
3) FIX: For each reported error, edit the file to resolve the violation — fix section structure, heading levels, missing required content, prohibited patterns, and broken trace IDs.
|
|
53
|
+
4) RECHECK: Run `awa check` again to verify all errors are resolved. Repeat FIX → RECHECK until the check passes cleanly (warnings and info findings are acceptable).
|
|
54
|
+
5) REPORT: Summarize changes and remaining questions before finalizing.
|
|
55
|
+
|
|
56
|
+
## Outputs
|
|
57
|
+
|
|
58
|
+
- Updated spec(s) and supporting templates (as applicable)
|
|
59
|
+
|
|
60
|
+
## Rules
|
|
61
|
+
|
|
62
|
+
You SHALL avoid destructive edits; propose clarifications when unsure.
|
|
63
|
+
You SHALL follow schema structure strictly (section order, nesting).
|
|
64
|
+
You SHALL obey schema render expectations (omit optional empty sections, avoid prohibited patterns).
|
|
65
|
+
You SHALL upgrade existing trace IDs if necessary.
|
|
66
|
+
You SHALL upgrade existing filenames if necessary.
|
|
67
|
+
You SHALL respect the file line-limits; split logically if needed.
|
|
68
|
+
You MAY use todos and tools as needed.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Implement an idea from start to finish using the full awa workflow
|
|
3
|
+
argument-hint: "<idea> [<constraints>]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vibe: Idea to Implementation
|
|
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
|
+
</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
|
+
Take an idea from concept to working implementation, flowing through the awa workflow in the standard direction.
|
|
38
|
+
|
|
39
|
+
## Process
|
|
40
|
+
|
|
41
|
+
1. UNDERSTAND: Clarify idea, scope, constraints. Determine starting point.
|
|
42
|
+
2. Flow through stages, creating/updating specs as needed
|
|
43
|
+
3. Checkpoint at each transition: confirm direction with user
|
|
44
|
+
4. Implement code with traceability, write tests
|
|
45
|
+
5. Verify all acceptance criteria satisfied
|
|
46
|
+
|
|
47
|
+
## Checkpoints
|
|
48
|
+
|
|
49
|
+
Pause at each stage transition unless user requests autonomous mode:
|
|
50
|
+
- "Architecture defined. Proceed to feature context?"
|
|
51
|
+
- "Feature context captured. Proceed to requirements?"
|
|
52
|
+
- "Requirements captured. Proceed to design?"
|
|
53
|
+
- "Design complete. Proceed to implementation?"
|
|
54
|
+
- "Implementation complete. Update documentation?"
|
|
55
|
+
|
|
56
|
+
## Outputs
|
|
57
|
+
|
|
58
|
+
- Specs as needed (ARCHITECTURE, FEAT, REQ, DESIGN, TASK)
|
|
59
|
+
- Implemented code with traceability markers
|
|
60
|
+
- Tests covering acceptance criteria
|
|
61
|
+
- Updated documentation if user-facing behavior changed
|
|
62
|
+
|
|
63
|
+
## Rules
|
|
64
|
+
|
|
65
|
+
You SHALL flow through stages in order, skipping only what exists or isn't needed.
|
|
66
|
+
You SHALL pause at checkpoints unless user requests autonomous mode.
|
|
67
|
+
You SHALL maintain traceability throughout.
|
|
68
|
+
You SHOULD keep each stage minimal; avoid overengineering.
|
|
69
|
+
You SHOULD ask clarifying questions early, not mid-implementation.
|
|
70
|
+
You MAY collapse stages for trivial changes.
|
|
71
|
+
You SHALL update user-facing documentation when implementation changes user-facing behavior, CLI, API, or configuration.
|
|
72
|
+
You MAY use todos and tools as needed.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: awa-align
|
|
3
|
+
description: Align of source with target. Use this when asked to validate, check, or verify alignment between artifacts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Validate Alignment of Source(x) with Target(y)
|
|
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/ALIGN_REPORT.schema.yaml" required="true" error="on not found" />
|
|
15
|
+
</tool>
|
|
16
|
+
|
|
17
|
+
## User Input
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
${input}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Format: `<source> [<target>]` where:
|
|
24
|
+
- **Source (x)**: The artifact being validated. If not specified, use the last completed work.
|
|
25
|
+
- **Target (y)**: The artifact to validate against. If not specified, it is implied according to these rules:
|
|
26
|
+
|
|
27
|
+
1. x is plan → ask for clarification
|
|
28
|
+
2. previous work against a plan → use that plan
|
|
29
|
+
3. else → walk UP workflow toward architecture
|
|
30
|
+
|
|
31
|
+
You **MUST** consider the user input before proceeding (if not empty).
|
|
32
|
+
|
|
33
|
+
## Definitions
|
|
34
|
+
|
|
35
|
+
x = source artifact (what is being validated) = design(s).
|
|
36
|
+
y = target artifact (what x is validated against) = requirement(s).
|
|
37
|
+
|
|
38
|
+
## Inputs
|
|
39
|
+
|
|
40
|
+
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
41
|
+
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
42
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
43
|
+
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
44
|
+
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
45
|
+
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
46
|
+
<file type="tasks" path=".awa/tasks/TASK-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
47
|
+
<file type="plan" path=".awa/plans/PLAN-{nnn}-{plan-name}.md" required="if relevant" />
|
|
48
|
+
<file type="code_and_tests" path="various" required="if relevant" />
|
|
49
|
+
|
|
50
|
+
## Action
|
|
51
|
+
|
|
52
|
+
Validate that the specified source:x aligns with the target:y, and if not, report all differences.
|
|
53
|
+
Follow awa conventions.
|
|
54
|
+
|
|
55
|
+
## Outputs
|
|
56
|
+
|
|
57
|
+
<file path=".awa/align/ALIGN-{x}-WITH-{y}-{nnn}.md" />
|
|
58
|
+
<cli>STATUS: {PASSED ✅ | FAILED ❌}</cli>
|
|
59
|
+
|
|
60
|
+
## Rules
|
|
61
|
+
|
|
62
|
+
You SHALL validate alignment of source:y with target:y.
|
|
63
|
+
You SHALL report all differences.
|
|
64
|
+
You SHALL consider traceability.
|
|
65
|
+
You SHALL report missing trace IDs.
|
|
66
|
+
You MAY use todos and tools as needed.
|
|
67
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: awa-architecture
|
|
3
|
+
description: Create or update ARCHITECTURE.md. Use this when asked to create, update or modify the project architecture.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create or Update Architecture
|
|
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/ARCHITECTURE.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" if="exists" />
|
|
28
|
+
<file type="code" required="if reverse workflow" />
|
|
29
|
+
|
|
30
|
+
## Action
|
|
31
|
+
|
|
32
|
+
Update or create the architecture document as specified in the instruction above, following awa conventions.
|
|
33
|
+
|
|
34
|
+
If deriving from existing code (reverse workflow), analyze the codebase to extract architectural patterns, technology stack, and component structure.
|
|
35
|
+
|
|
36
|
+
## Outputs
|
|
37
|
+
|
|
38
|
+
<file path=".awa/specs/ARCHITECTURE.md" />
|
|
39
|
+
|
|
40
|
+
## Rules
|
|
41
|
+
|
|
42
|
+
You SHALL solidify architecture changes with respect to existing architecture if any.
|
|
43
|
+
You SHALL ensure high-level system structure, technology stack, and component relationships.
|
|
44
|
+
You SHALL ensure each section of the architecture is addressed.
|
|
45
|
+
You SHALL establish architectural rules and constraints.
|
|
46
|
+
You SHALL focus on top-level architecture, not design.
|
|
47
|
+
You SHOULD keep architecture at a manageable level of detail.
|
|
48
|
+
You SHALL support reverse workflow: deriving architecture from existing code when requested.
|
|
49
|
+
You SHALL clarify open points with user.
|
|
50
|
+
You MAY use todos and tools as needed.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: awa-brainstorm
|
|
3
|
+
description: Brainstorm ideas, explore solutions, and evaluate options. Use this when asked to brainstorm, explore ideas, or analyze trade-offs.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brainstorm Ideas
|
|
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
|
+
</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
|
+
Brainstorm ideas and explore solutions for the specified topic.
|
|
38
|
+
|
|
39
|
+
1. DIVERGE: Generate multiple distinct approaches without filtering
|
|
40
|
+
2. ANALYZE: Evaluate options against constraints and trade-offs
|
|
41
|
+
3. CONVERGE: Recommend top candidates with rationale
|
|
42
|
+
|
|
43
|
+
## Outputs
|
|
44
|
+
|
|
45
|
+
<cli>Brainstorm summary in conversation</cli>
|
|
46
|
+
<file path=".awa/plans/PLAN-{nnn}-{brainstorm-topic}.md" if="user requests formalization" />
|
|
47
|
+
|
|
48
|
+
## Rules
|
|
49
|
+
|
|
50
|
+
You SHALL explore multiple distinct approaches before converging.
|
|
51
|
+
You SHALL identify trade-offs honestly, not just pros.
|
|
52
|
+
You SHALL distinguish between facts and assumptions.
|
|
53
|
+
You SHOULD challenge assumptions and explore alternatives.
|
|
54
|
+
You SHALL NOT dismiss ideas prematurely during divergence.
|
|
55
|
+
You SHALL engage in dialogue; ask clarifying questions.
|
|
56
|
+
You MAY use web search for research and validation.
|
|
57
|
+
You MAY use todos and tools as needed.
|