@ncoderz/awa 0.2.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.
Files changed (112) hide show
  1. package/README.md +96 -16
  2. package/dist/index.js +2307 -128
  3. package/dist/index.js.map +1 -1
  4. package/package.json +14 -4
  5. package/templates/awa/.agent/skills/awa-align/SKILL.md +3 -0
  6. package/templates/awa/.agent/skills/awa-check/SKILL.md +4 -0
  7. package/templates/awa/.agent/workflows/awa-align.md +3 -0
  8. package/templates/awa/.agent/workflows/awa-check.md +4 -0
  9. package/templates/awa/.agents/skills/awa-align/SKILL.md +3 -0
  10. package/templates/awa/.agents/skills/awa-check/SKILL.md +4 -0
  11. package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
  12. package/templates/awa/.awa/.agent/schemas/API.schema.yaml +7 -0
  13. package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +260 -0
  14. package/templates/awa/.awa/.agent/schemas/DESIGN.schema.yaml +361 -0
  15. package/templates/awa/.awa/.agent/schemas/EXAMPLES.schema.yaml +98 -0
  16. package/templates/awa/.awa/.agent/schemas/FEAT.schema.yaml +143 -0
  17. package/templates/awa/.awa/.agent/schemas/PLAN.schema.yaml +151 -0
  18. package/templates/awa/.awa/.agent/schemas/README.schema.yaml +137 -0
  19. package/templates/awa/.awa/.agent/schemas/REQ.schema.yaml +169 -0
  20. package/templates/awa/.awa/.agent/schemas/TASK.schema.yaml +200 -0
  21. package/templates/awa/.claude/agents/awa.md +2 -2
  22. package/templates/awa/.claude/skills/awa-align/SKILL.md +3 -0
  23. package/templates/awa/.claude/skills/awa-check/SKILL.md +4 -0
  24. package/templates/awa/.codex/prompts/awa-align.md +3 -0
  25. package/templates/awa/.codex/prompts/awa-check.md +4 -0
  26. package/templates/awa/.cursor/rules/awa-agent.md +1 -1
  27. package/templates/awa/.cursor/rules/awa-align.md +8 -0
  28. package/templates/awa/.cursor/rules/awa-check.md +9 -0
  29. package/templates/awa/.gemini/commands/awa-align.md +3 -0
  30. package/templates/awa/.gemini/commands/awa-check.md +4 -0
  31. package/templates/awa/.gemini/skills/awa-align/SKILL.md +3 -0
  32. package/templates/awa/.gemini/skills/awa-check/SKILL.md +4 -0
  33. package/templates/awa/.github/agents/awa.agent.md +2 -2
  34. package/templates/awa/.github/prompts/awa.align.prompt.md +8 -0
  35. package/templates/awa/.github/prompts/awa.check.prompt.md +9 -0
  36. package/templates/awa/.github/skills/awa-align/SKILL.md +8 -0
  37. package/templates/awa/.github/skills/awa-check/SKILL.md +9 -0
  38. package/templates/awa/.kilocode/rules/awa-agent.md +1 -1
  39. package/templates/awa/.kilocode/skills/awa-align/SKILL.md +3 -0
  40. package/templates/awa/.kilocode/skills/awa-check/SKILL.md +4 -0
  41. package/templates/awa/.kilocode/workflows/awa-align.md +3 -0
  42. package/templates/awa/.kilocode/workflows/awa-check.md +4 -0
  43. package/templates/awa/.opencode/agents/awa.md +2 -2
  44. package/templates/awa/.opencode/commands/awa-align.md +3 -0
  45. package/templates/awa/.opencode/commands/awa-check.md +4 -0
  46. package/templates/awa/.opencode/skills/awa-align/SKILL.md +3 -0
  47. package/templates/awa/.opencode/skills/awa-check/SKILL.md +4 -0
  48. package/templates/awa/.qwen/commands/awa-align.md +3 -0
  49. package/templates/awa/.qwen/commands/awa-check.md +4 -0
  50. package/templates/awa/.qwen/skills/awa-align/SKILL.md +3 -0
  51. package/templates/awa/.qwen/skills/awa-check/SKILL.md +4 -0
  52. package/templates/awa/.roo/rules/awa-agent.md +1 -1
  53. package/templates/awa/.roo/skills/awa-align/SKILL.md +3 -0
  54. package/templates/awa/.roo/skills/awa-check/SKILL.md +4 -0
  55. package/templates/awa/.windsurf/rules/awa-agent.md +1 -1
  56. package/templates/awa/.windsurf/skills/awa-align/SKILL.md +3 -0
  57. package/templates/awa/.windsurf/skills/awa-check/SKILL.md +4 -0
  58. package/templates/awa/AGENTS.md +1 -1
  59. package/templates/awa/CLAUDE.md +1 -1
  60. package/templates/awa/GEMINI.md +1 -1
  61. package/templates/awa/QWEN.md +1 -1
  62. package/templates/awa/_README.md +3 -2
  63. package/templates/awa/_delete.txt +49 -0
  64. package/templates/awa/_partials/{_cmd.awa-validate-alignment.md → _cmd.awa-align.md} +1 -1
  65. package/templates/awa/_partials/_cmd.awa-check.md +6 -0
  66. package/templates/awa/_partials/_skill.awa-align.md +6 -0
  67. package/templates/awa/_partials/_skill.awa-check.md +6 -0
  68. package/templates/awa/_partials/{awa.validate-alignment.md → awa.align.md} +2 -2
  69. package/templates/awa/_partials/awa.architecture.md +1 -1
  70. package/templates/awa/_partials/awa.check.md +73 -0
  71. package/templates/awa/_partials/awa.code.md +1 -0
  72. package/templates/awa/_partials/awa.core.md +24 -10
  73. package/templates/awa/_partials/awa.design.md +3 -2
  74. package/templates/awa/_partials/awa.documentation.md +1 -1
  75. package/templates/awa/_partials/awa.examples.md +1 -1
  76. package/templates/awa/_partials/awa.feature.md +1 -1
  77. package/templates/awa/_partials/awa.plan.md +1 -1
  78. package/templates/awa/_partials/awa.refactor.md +1 -0
  79. package/templates/awa/_partials/awa.requirements.md +2 -1
  80. package/templates/awa/_partials/awa.tasks.md +3 -3
  81. package/templates/awa/_partials/awa.upgrade.md +13 -12
  82. package/templates/awa/_tests/claude.toml +7 -0
  83. package/templates/awa/_tests/copilot.toml +6 -0
  84. package/templates/awa/.agent/skills/awa-validate-alignment/SKILL.md +0 -3
  85. package/templates/awa/.agent/workflows/awa-validate-alignment.md +0 -3
  86. package/templates/awa/.agents/skills/awa-validate-alignment/SKILL.md +0 -3
  87. package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.md +0 -156
  88. package/templates/awa/.awa/.agent/schemas/API.schema.md +0 -4
  89. package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.md +0 -176
  90. package/templates/awa/.awa/.agent/schemas/DESIGN.schema.md +0 -253
  91. package/templates/awa/.awa/.agent/schemas/EXAMPLES.schema.md +0 -51
  92. package/templates/awa/.awa/.agent/schemas/FEAT.schema.md +0 -61
  93. package/templates/awa/.awa/.agent/schemas/PLAN.schema.md +0 -8
  94. package/templates/awa/.awa/.agent/schemas/README.schema.md +0 -133
  95. package/templates/awa/.awa/.agent/schemas/REQ.schema.md +0 -125
  96. package/templates/awa/.awa/.agent/schemas/TASK.schema.md +0 -137
  97. package/templates/awa/.claude/skills/awa-validate-alignment/SKILL.md +0 -3
  98. package/templates/awa/.codex/prompts/awa-validate-alignment.md +0 -3
  99. package/templates/awa/.cursor/rules/awa-validate-alignment.md +0 -8
  100. package/templates/awa/.gemini/commands/awa-validate-alignment.md +0 -3
  101. package/templates/awa/.gemini/skills/awa-validate-alignment/SKILL.md +0 -3
  102. package/templates/awa/.github/prompts/awa.validate-alignment.prompt.md +0 -8
  103. package/templates/awa/.github/skills/awa-validate-alignment/SKILL.md +0 -8
  104. package/templates/awa/.kilocode/skills/awa-validate-alignment/SKILL.md +0 -3
  105. package/templates/awa/.kilocode/workflows/awa-validate-alignment.md +0 -3
  106. package/templates/awa/.opencode/commands/awa-validate-alignment.md +0 -3
  107. package/templates/awa/.opencode/skills/awa-validate-alignment/SKILL.md +0 -3
  108. package/templates/awa/.qwen/commands/awa-validate-alignment.md +0 -3
  109. package/templates/awa/.qwen/skills/awa-validate-alignment/SKILL.md +0 -3
  110. package/templates/awa/.roo/skills/awa-validate-alignment/SKILL.md +0 -3
  111. package/templates/awa/.windsurf/skills/awa-validate-alignment/SKILL.md +0 -3
  112. package/templates/awa/_partials/_skill.awa-validate-alignment.md +0 -6
@@ -1,137 +0,0 @@
1
- <schema target-files=".awa/tasks/TASK-{CODE}-{feature-name}-{nnn}.md">
2
-
3
- ```json
4
- {
5
- "description": "Implementation tasks only. Dependency-ordered. Traceable to REQ and DESIGN.",
6
- "required": ["feature", "source", "phases", "dependencies", "traceSummary"],
7
- "properties": {
8
- "feature": { "type": "feature name from REQ" },
9
- "source": { "type": "array of source file paths (REQ, DESIGN)" },
10
- "phases": { "type": "array", "items": { "$ref": "#/$defs/phase" } },
11
- "dependencies": { "type": "array", "items": { "$ref": "#/$defs/dependency" } },
12
- "parallelOpportunities": { "type": "array", "items": { "properties": { "phase": {}, "tasks": { "type": "array of task IDs" }, "notes": {} } } },
13
- "traceSummary": {
14
- "required": ["acCoverage", "propertyCoverage"],
15
- "properties": {
16
- "acCoverage": { "type": "array", "items": { "properties": { "ac": {}, "task": {}, "test": {} } } },
17
- "propertyCoverage": { "type": "array", "items": { "properties": { "property": {}, "test": {} } } },
18
- "uncovered": { "type": "array of AC or P IDs" }
19
- }
20
- }
21
- },
22
- "$defs": {
23
- "phase": {
24
- "required": ["name", "tasks"],
25
- "properties": {
26
- "name": { "type": "phase name" },
27
- "type": { "enum": ["setup", "foundation", "requirement", "polish"] },
28
- "requirement": { "type": "{CODE}-{n} (only for requirement phases)" },
29
- "priority": { "enum": ["must", "should", "could"] },
30
- "goal": { "type": "requirement's story.want (only for requirement phases)" },
31
- "testCriteria": { "type": "how to verify phase is complete" },
32
- "tasks": { "type": "array", "items": { "$ref": "#/$defs/task" } }
33
- }
34
- },
35
- "task": {
36
- "required": ["id", "description", "path"],
37
- "properties": {
38
- "id": { "type": "pattern: T-{CODE}-{nnn} (e.g., T-CFG-001)" },
39
- "parallel": { "type": "boolean, true if parallelizable" },
40
- "requirement": { "type": "{CODE}-{n} (only in requirement phases)" },
41
- "description": { "type": "clear action" },
42
- "path": { "type": "target file path" },
43
- "implements": { "type": "array of {CODE}-{n}[.{p}]_AC-{m}" },
44
- "tests": { "type": "array of {CODE}_P-{n} or {CODE}-{n}[.{p}]_AC-{m}" }
45
- }
46
- },
47
- "dependency": {
48
- "required": ["requirement", "dependsOn"],
49
- "properties": {
50
- "requirement": { "type": "{CODE}-{n}" },
51
- "dependsOn": { "type": "array of {CODE}-{n} or empty" },
52
- "reason": { "type": "why dependency exists" }
53
- }
54
- }
55
- },
56
- "$render": {
57
- "template": "# Implementation Tasks\n\nFEATURE: {feature}\nSOURCE: {source}\n\n{phases→'## {name} {[priority]?}\n\n{goal→\"GOAL: {}\"}\n{testCriteria→\"TEST CRITERIA: {}\"}\n\n{tasks→\"- [ ] {id} {[P]?} {[requirement]?} {description} → {path}\n {implements→\\\"IMPLEMENTS: {}\\\"}\n {tests→\\\"TESTS: {}\\\"}\"}'}\n\n---\n\n## Dependencies\n{dependencies→'{requirement} → {dependsOn|\"(none)\"} {reason?}'}\n\n## Parallel Opportunities\n{parallelOpportunities→'{phase}: {tasks} {notes?}'}\n\n## Trace Summary\n\n| AC | Task | Test |\n|----|------|------|\n{traceSummary.acCoverage→'| {ac} | {task} | {test} |'}\n\n| Property | Test |\n|----------|------|\n{traceSummary.propertyCoverage→'| {property} | {test} |'}\n\nUNCOVERED: {traceSummary.uncovered|\"(none)\"}",
58
- "omit": ["[P] if parallel false/absent", "[requirement] if absent", "[priority] if absent", "GOAL if absent", "TEST CRITERIA if absent", "IMPLEMENTS line if empty", "TESTS line if empty", "reason if absent", "notes if absent"],
59
- "prohibited": ["**bold** — use CAPITALS", "tasks without file paths", "IMPLEMENTS/TESTS on setup tasks", "[requirement] labels on setup/foundation/polish phases", "orphan tasks (must trace to AC or P)"],
60
- "checkbox": "[ ] always unchecked in generated output"
61
- }
62
- }
63
- ```
64
-
65
- <example>
66
- # Implementation Tasks
67
-
68
- FEATURE: Configuration System
69
- SOURCE: REQ-CFG-config.md, DESIGN-CFG-config.md
70
-
71
- ## Phase 1: Setup
72
-
73
- - [ ] T-CFG-001 Initialize module structure → src/config/
74
- - [ ] T-CFG-002 [P] Add dependencies (smol-toml) → package.json
75
-
76
- ## Phase 2: Foundation
77
-
78
- - [ ] T-CFG-003 Define Config and RawConfig types → src/config/types.ts
79
- - [ ] T-CFG-004 Define ConfigError variants → src/config/errors.ts
80
-
81
- ## Phase 3: Config Loading [MUST]
82
-
83
- GOAL: Load and merge configuration from file with defaults
84
- TEST CRITERIA: Can load valid TOML, missing keys get defaults
85
-
86
- - [ ] T-CFG-010 [CFG-1] Implement load function → src/config/loader.ts
87
- IMPLEMENTS: CFG-1_AC-1
88
- - [ ] T-CFG-011 [CFG-1] Implement merge function → src/config/loader.ts
89
- IMPLEMENTS: CFG-1_AC-2
90
- - [ ] T-CFG-012 [P] [CFG-1] Property test for default preservation → tests/config/loader.test.ts
91
- TESTS: CFG_P-1
92
- - [ ] T-CFG-013 [P] [CFG-1] Test load from valid path → tests/config/loader.test.ts
93
- TESTS: CFG-1_AC-1
94
-
95
- ## Phase 4: Config Validation [SHOULD]
96
-
97
- GOAL: Validate loaded config against schema
98
- TEST CRITERIA: Invalid config rejected with clear error
99
-
100
- - [ ] T-CFG-020 [CFG-2] Implement validate function → src/config/validator.ts
101
- IMPLEMENTS: CFG-2_AC-1
102
- - [ ] T-CFG-021 [P] [CFG-2] Test schema validation → tests/config/validator.test.ts
103
- TESTS: CFG-2_AC-1
104
-
105
- ## Phase 5: Polish
106
-
107
- - [ ] T-CFG-030 Integration test: load → validate → use → tests/config/integration.test.ts
108
- TESTS: CFG-1_AC-1, CFG-2_AC-1
109
-
110
- ---
111
-
112
- ## Dependencies
113
-
114
- CFG-1 → (none)
115
- CFG-2 → CFG-1 (validates loaded config)
116
-
117
- ## Parallel Opportunities
118
-
119
- Phase 3: T-CFG-012, T-CFG-013 can run parallel after T-CFG-011
120
- Phase 4: T-CFG-021 can run parallel with T-CFG-020
121
-
122
- ## Trace Summary
123
-
124
- | AC | Task | Test |
125
- |----|------|------|
126
- | CFG-1_AC-1 | T-CFG-010 | T-CFG-013 |
127
- | CFG-1_AC-2 | T-CFG-011 | T-CFG-012 |
128
- | CFG-2_AC-1 | T-CFG-020 | T-CFG-021 |
129
-
130
- | Property | Test |
131
- |----------|------|
132
- | CFG_P-1 | T-CFG-012 |
133
-
134
- UNCOVERED: (none)
135
- </example>
136
-
137
- </schema>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('claude')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('codex')) { %>
2
- <%~ include('_partials/_cmd.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,8 +0,0 @@
1
- <% if (it.features.includes('cursor')) { %>
2
- ---
3
- description: Validate alignment of source with target
4
- alwaysApply: false
5
- ---
6
-
7
- <%~ include('_partials/awa.validate-alignment.md', it) %>
8
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('gemini')) { %>
2
- <%~ include('_partials/_cmd.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('gemini')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,8 +0,0 @@
1
- <% if (it.features.includes('copilot')) { %>
2
- ---
3
- description: Validate alignment of source with target (check source matches target, and if not list differences)
4
- argument-hint: "<source> [<target>]"
5
- ---
6
-
7
- <%~ include('_partials/awa.validate-alignment.md', it) %>
8
- <% } %>
@@ -1,8 +0,0 @@
1
- <% if (it.features.includes('copilot')) { %>
2
- ---
3
- name: awa-validate-alignment
4
- description: Validate alignment of source with target. Use this when asked to validate, check, or verify alignment between artifacts.
5
- ---
6
-
7
- <%~ include('_partials/awa.validate-alignment.md', it) %>
8
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('kilocode')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('kilocode')) { %>
2
- <%~ include('_partials/_cmd.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('opencode')) { %>
2
- <%~ include('_partials/_cmd.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('opencode')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('qwen')) { %>
2
- <%~ include('_partials/_cmd.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('qwen')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('roo')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,3 +0,0 @@
1
- <% if (it.features.includes('windsurf')) { %>
2
- <%~ include('_partials/_skill.awa-validate-alignment.md', it) %>
3
- <% } %>
@@ -1,6 +0,0 @@
1
- ---
2
- name: awa-validate-alignment
3
- description: Validate alignment of source with target. Use this when asked to validate, check, or verify alignment between artifacts.
4
- ---
5
-
6
- <%~ include('awa.validate-alignment.md', it) %>