@ncoderz/awa 1.0.0 → 1.2.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 (128) hide show
  1. package/README.md +96 -16
  2. package/dist/chunk-3SSUJFKN.js +625 -0
  3. package/dist/chunk-3SSUJFKN.js.map +1 -0
  4. package/dist/config-2TOQATI3.js +10 -0
  5. package/dist/config-2TOQATI3.js.map +1 -0
  6. package/dist/index.js +2190 -414
  7. package/dist/index.js.map +1 -1
  8. package/package.json +10 -4
  9. package/templates/awa/.agent/skills/awa-align/SKILL.md +3 -0
  10. package/templates/awa/.agent/skills/awa-check/SKILL.md +4 -0
  11. package/templates/awa/.agent/skills/awa-usage/SKILL.md +3 -0
  12. package/templates/awa/.agent/workflows/awa-align.md +3 -0
  13. package/templates/awa/.agent/workflows/awa-check.md +4 -0
  14. package/templates/awa/.agents/skills/awa-align/SKILL.md +3 -0
  15. package/templates/awa/.agents/skills/awa-check/SKILL.md +4 -0
  16. package/templates/awa/.agents/skills/awa-usage/SKILL.md +3 -0
  17. package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
  18. package/templates/awa/.awa/.agent/schemas/API.schema.yaml +7 -0
  19. package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +260 -0
  20. package/templates/awa/.awa/.agent/schemas/DESIGN.schema.yaml +361 -0
  21. package/templates/awa/.awa/.agent/schemas/EXAMPLES.schema.yaml +98 -0
  22. package/templates/awa/.awa/.agent/schemas/FEAT.schema.yaml +143 -0
  23. package/templates/awa/.awa/.agent/schemas/PLAN.schema.yaml +151 -0
  24. package/templates/awa/.awa/.agent/schemas/README.schema.yaml +137 -0
  25. package/templates/awa/.awa/.agent/schemas/REQ.schema.yaml +169 -0
  26. package/templates/awa/.awa/.agent/schemas/TASK.schema.yaml +200 -0
  27. package/templates/awa/.claude/agents/awa.md +2 -2
  28. package/templates/awa/.claude/skills/awa-align/SKILL.md +3 -0
  29. package/templates/awa/.claude/skills/awa-check/SKILL.md +4 -0
  30. package/templates/awa/.claude/skills/awa-usage/SKILL.md +3 -0
  31. package/templates/awa/.codex/prompts/awa-align.md +3 -0
  32. package/templates/awa/.codex/prompts/awa-check.md +4 -0
  33. package/templates/awa/.cursor/rules/awa-agent.md +1 -1
  34. package/templates/awa/.cursor/rules/awa-align.md +8 -0
  35. package/templates/awa/.cursor/rules/awa-check.md +9 -0
  36. package/templates/awa/.gemini/commands/awa-align.md +3 -0
  37. package/templates/awa/.gemini/commands/awa-check.md +4 -0
  38. package/templates/awa/.gemini/skills/awa-align/SKILL.md +3 -0
  39. package/templates/awa/.gemini/skills/awa-check/SKILL.md +4 -0
  40. package/templates/awa/.gemini/skills/awa-usage/SKILL.md +3 -0
  41. package/templates/awa/.github/agents/awa.agent.md +2 -2
  42. package/templates/awa/.github/prompts/awa.align.prompt.md +8 -0
  43. package/templates/awa/.github/prompts/awa.check.prompt.md +9 -0
  44. package/templates/awa/.github/skills/awa-align/SKILL.md +8 -0
  45. package/templates/awa/.github/skills/awa-check/SKILL.md +9 -0
  46. package/templates/awa/.github/skills/awa-usage/SKILL.md +8 -0
  47. package/templates/awa/.kilocode/rules/awa-agent.md +1 -1
  48. package/templates/awa/.kilocode/skills/awa-align/SKILL.md +3 -0
  49. package/templates/awa/.kilocode/skills/awa-check/SKILL.md +4 -0
  50. package/templates/awa/.kilocode/skills/awa-usage/SKILL.md +3 -0
  51. package/templates/awa/.kilocode/workflows/awa-align.md +3 -0
  52. package/templates/awa/.kilocode/workflows/awa-check.md +4 -0
  53. package/templates/awa/.opencode/agents/awa.md +2 -2
  54. package/templates/awa/.opencode/commands/awa-align.md +3 -0
  55. package/templates/awa/.opencode/commands/awa-check.md +4 -0
  56. package/templates/awa/.opencode/skills/awa-align/SKILL.md +3 -0
  57. package/templates/awa/.opencode/skills/awa-check/SKILL.md +4 -0
  58. package/templates/awa/.opencode/skills/awa-usage/SKILL.md +3 -0
  59. package/templates/awa/.qwen/commands/awa-align.md +3 -0
  60. package/templates/awa/.qwen/commands/awa-check.md +4 -0
  61. package/templates/awa/.qwen/skills/awa-align/SKILL.md +3 -0
  62. package/templates/awa/.qwen/skills/awa-check/SKILL.md +4 -0
  63. package/templates/awa/.qwen/skills/awa-usage/SKILL.md +3 -0
  64. package/templates/awa/.roo/rules/awa-agent.md +1 -1
  65. package/templates/awa/.roo/skills/awa-align/SKILL.md +3 -0
  66. package/templates/awa/.roo/skills/awa-check/SKILL.md +4 -0
  67. package/templates/awa/.roo/skills/awa-usage/SKILL.md +3 -0
  68. package/templates/awa/.windsurf/rules/awa-agent.md +1 -1
  69. package/templates/awa/.windsurf/skills/awa-align/SKILL.md +3 -0
  70. package/templates/awa/.windsurf/skills/awa-check/SKILL.md +4 -0
  71. package/templates/awa/.windsurf/skills/awa-usage/SKILL.md +3 -0
  72. package/templates/awa/AGENTS.md +1 -1
  73. package/templates/awa/CLAUDE.md +1 -1
  74. package/templates/awa/GEMINI.md +1 -1
  75. package/templates/awa/QWEN.md +1 -1
  76. package/templates/awa/_README.md +3 -2
  77. package/templates/awa/_delete.txt +49 -0
  78. package/templates/awa/_partials/{_cmd.awa-validate-alignment.md → _cmd.awa-align.md} +1 -1
  79. package/templates/awa/_partials/_cmd.awa-check.md +6 -0
  80. package/templates/awa/_partials/_skill.awa-align.md +6 -0
  81. package/templates/awa/_partials/_skill.awa-check.md +6 -0
  82. package/templates/awa/_partials/_skill.awa-usage.md +6 -0
  83. package/templates/awa/_partials/{awa.validate-alignment.md → awa.align.md} +2 -2
  84. package/templates/awa/_partials/awa.architecture.md +1 -1
  85. package/templates/awa/_partials/awa.check.md +73 -0
  86. package/templates/awa/_partials/awa.code.md +1 -0
  87. package/templates/awa/_partials/awa.core.md +24 -10
  88. package/templates/awa/_partials/awa.design.md +3 -2
  89. package/templates/awa/_partials/awa.documentation.md +1 -1
  90. package/templates/awa/_partials/awa.examples.md +1 -1
  91. package/templates/awa/_partials/awa.feature.md +1 -1
  92. package/templates/awa/_partials/awa.plan.md +1 -1
  93. package/templates/awa/_partials/awa.refactor.md +1 -0
  94. package/templates/awa/_partials/awa.requirements.md +2 -1
  95. package/templates/awa/_partials/awa.tasks.md +3 -3
  96. package/templates/awa/_partials/awa.upgrade.md +13 -12
  97. package/templates/awa/_partials/awa.usage.md +265 -0
  98. package/templates/awa/_tests/claude.toml +7 -0
  99. package/templates/awa/_tests/copilot.toml +6 -0
  100. package/templates/awa/.agent/skills/awa-validate-alignment/SKILL.md +0 -3
  101. package/templates/awa/.agent/workflows/awa-validate-alignment.md +0 -3
  102. package/templates/awa/.agents/skills/awa-validate-alignment/SKILL.md +0 -3
  103. package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.md +0 -156
  104. package/templates/awa/.awa/.agent/schemas/API.schema.md +0 -4
  105. package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.md +0 -176
  106. package/templates/awa/.awa/.agent/schemas/DESIGN.schema.md +0 -253
  107. package/templates/awa/.awa/.agent/schemas/EXAMPLES.schema.md +0 -51
  108. package/templates/awa/.awa/.agent/schemas/FEAT.schema.md +0 -61
  109. package/templates/awa/.awa/.agent/schemas/PLAN.schema.md +0 -8
  110. package/templates/awa/.awa/.agent/schemas/README.schema.md +0 -133
  111. package/templates/awa/.awa/.agent/schemas/REQ.schema.md +0 -125
  112. package/templates/awa/.awa/.agent/schemas/TASK.schema.md +0 -137
  113. package/templates/awa/.claude/skills/awa-validate-alignment/SKILL.md +0 -3
  114. package/templates/awa/.codex/prompts/awa-validate-alignment.md +0 -3
  115. package/templates/awa/.cursor/rules/awa-validate-alignment.md +0 -8
  116. package/templates/awa/.gemini/commands/awa-validate-alignment.md +0 -3
  117. package/templates/awa/.gemini/skills/awa-validate-alignment/SKILL.md +0 -3
  118. package/templates/awa/.github/prompts/awa.validate-alignment.prompt.md +0 -8
  119. package/templates/awa/.github/skills/awa-validate-alignment/SKILL.md +0 -8
  120. package/templates/awa/.kilocode/skills/awa-validate-alignment/SKILL.md +0 -3
  121. package/templates/awa/.kilocode/workflows/awa-validate-alignment.md +0 -3
  122. package/templates/awa/.opencode/commands/awa-validate-alignment.md +0 -3
  123. package/templates/awa/.opencode/skills/awa-validate-alignment/SKILL.md +0 -3
  124. package/templates/awa/.qwen/commands/awa-validate-alignment.md +0 -3
  125. package/templates/awa/.qwen/skills/awa-validate-alignment/SKILL.md +0 -3
  126. package/templates/awa/.roo/skills/awa-validate-alignment/SKILL.md +0 -3
  127. package/templates/awa/.windsurf/skills/awa-validate-alignment/SKILL.md +0 -3
  128. package/templates/awa/_partials/_skill.awa-validate-alignment.md +0 -6
@@ -1,61 +0,0 @@
1
- <schema target-files=".awa/specs/FEAT-{CODE}-{feature-name}.md">
2
-
3
- - Non-normative feature context. Explain what and why, not how.
4
- - Use clear, accessible language. Avoid jargon unless defined in glossary.
5
- - Required sections: problem, conceptual model, scenarios.
6
- - Optional sections: background, glossary, stakeholders, diagrams, non-normative notes.
7
- - Prohibited: normative language (SHALL/SHOULD/MAY), acceptance criteria, traceability IDs, design decisions.
8
- - Mark the document as INFORMATIVE (not normative).
9
- - Add metadata with change log.
10
-
11
- Example structure:
12
-
13
- ```
14
- # Feature Context [INFORMATIVE]
15
-
16
- ## Problem
17
-
18
- Why this feature exists. What pain point or gap it addresses.
19
-
20
- ## Conceptual Model
21
-
22
- How users should think about this feature. Mental model, key abstractions.
23
-
24
- ## Scenarios
25
-
26
- Concrete usage examples illustrating the feature in action.
27
-
28
- ### Scenario 1: {title}
29
- {narrative}
30
-
31
- ### Scenario 2: {title}
32
- {narrative}
33
-
34
- ## Background
35
-
36
- Additional context: history, prior art, references.
37
-
38
- ## Glossary
39
-
40
- - TERM: Definition
41
-
42
- ## Stakeholders
43
-
44
- - ROLE: How they relate to this feature
45
-
46
- ## Diagrams
47
-
48
- ```mermaid
49
- {diagram}
50
- ```
51
-
52
- ## Non-Normative Notes
53
-
54
- Recommendations, best practices, or explanatory content that is not testable.
55
-
56
- ## Change Log
57
-
58
- - {version} ({date}): {changes}
59
- ```
60
-
61
- </schema>
@@ -1,8 +0,0 @@
1
- <schema target-files=".awa/plans/PLAN-{nnn}-{plan-name}.md">
2
- - Plan as already instructed, and:
3
- - Use as succinct language as possible
4
- - Add metadata:
5
- - Status: "in-progress", "completed", "blocked"
6
- - Workflow direction: "top-down", "bottom-up", "lateral"
7
- - Traceability links to requirements/design/code/tests
8
- </schema>
@@ -1,133 +0,0 @@
1
- <schema target-file="README.md">
2
-
3
- ```json
4
- {
5
- "description": "Project README. Succinct language. User-facing. Link to detailed docs in /docs folder.",
6
- "required": ["title", "description", "installation", "usage"],
7
- "properties": {
8
- "title": { "type": "project name" },
9
- "badges": { "type": "array of badge markdown" },
10
- "description": { "type": "one paragraph: what the project does and why" },
11
- "features": { "type": "array of key features" },
12
- "installation": {
13
- "required": ["steps"],
14
- "properties": {
15
- "prerequisites": { "type": "array of requirements" },
16
- "steps": { "type": "array of commands or instructions" }
17
- }
18
- },
19
- "usage": {
20
- "required": ["quickStart"],
21
- "properties": {
22
- "quickStart": { "type": "minimal example to get started" },
23
- "examples": { "type": "array", "items": { "$ref": "#/$defs/example" } }
24
- }
25
- },
26
- "documentation": { "type": "array of links to /docs files", "items": { "$ref": "#/$defs/docLink" } },
27
- "contributing": { "type": "brief instructions or link to CONTRIBUTING.md" },
28
- "license": { "type": "license name and link" },
29
- "acknowledgments": { "type": "array of credits" }
30
- },
31
- "$defs": {
32
- "example": {
33
- "properties": {
34
- "title": {},
35
- "description": {},
36
- "code": { "type": "code block" }
37
- }
38
- },
39
- "docLink": {
40
- "required": ["title", "path"],
41
- "properties": {
42
- "title": {},
43
- "path": { "type": "relative path to /docs file" },
44
- "description": {}
45
- }
46
- }
47
- },
48
- "$render": {
49
- "template": "# {title}\\n\\n{badges?}\\n\\n{description}\\n\\n## Features\\n{features→'- {}'}\\n\\n## Installation\\n\\n### Prerequisites\\n{installation.prerequisites→'- {}'}\\n\\n### Install\\n{installation.steps→'```bash\\n{}\\n```'}\\n\\n## Usage\\n\\n{usage.quickStart}\\n\\n### Examples\\n{usage.examples→'#### {title}\\n{description?}\\n```\\n{CODE}\\n```'}\\n\\n## Documentation\\n{documentation→'- [{title}]({path}) — {description?}'}\\n\\n## Contributing\\n{contributing}\\n\\n## License\\n{license}\\n\\n## Acknowledgments\\n{acknowledgments→'- {}'}",
50
- "omit": ["section if empty", "badges if absent", "Prerequisites if empty", "description in examples if absent", "Acknowledgments if empty"],
51
- "prohibited": ["**bold** in section headers", "implementation details", "internal architecture", "excessive length — link to /docs instead"]
52
- }
53
- }
54
- ```
55
-
56
- <example>
57
- # awa CLI
58
-
59
- [![npm version](https://img.shields.io/npm/v/awa-cli.svg)](https://www.npmjs.com/package/awa-cli)
60
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
61
-
62
- awa CLI generates AI coding agent configuration files from templates, enabling developers to quickly scaffold consistent agent setups across projects.
63
-
64
- ## Features
65
-
66
- - Template-based configuration generation
67
- - Feature flag support for conditional content
68
- - Multiple output formats (Markdown, YAML, JSON)
69
- - Diff mode to preview changes before applying
70
- - Local and remote template sources
71
-
72
- ## Installation
73
-
74
- ### Prerequisites
75
-
76
- - Node.js 20 or higher
77
- - npm or pnpm
78
-
79
- ### Install
80
-
81
- ```bash
82
- npm install -g awa-cli
83
- ```
84
-
85
- ## Usage
86
-
87
- ```bash
88
- # Generate configuration from default template
89
- awa generate
90
-
91
- # Generate with specific features enabled
92
- awa generate --features typescript,testing
93
-
94
- # Preview changes without writing files
95
- awa diff
96
- ```
97
-
98
- ### Examples
99
-
100
- #### Custom Template
101
-
102
- ```bash
103
- awa generate --template ./my-templates --output ./.ai
104
- ```
105
-
106
- #### Feature Flags
107
-
108
- ```bash
109
- awa generate --features strict,verbose --remove-features legacy
110
- ```
111
-
112
- ## Documentation
113
-
114
- - [Configuration Guide](docs/configuration.md) — Configure templates and options
115
- - [Template Authoring](docs/templates.md) — Create custom templates
116
- - [CLI Reference](docs/cli-reference.md) — Complete command documentation
117
- - [API Reference](docs/api.md) — Programmatic usage
118
-
119
- ## Contributing
120
-
121
- See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
122
-
123
- ## License
124
-
125
- [MIT](LICENSE)
126
-
127
- ## Acknowledgments
128
-
129
- - Eta templating engine
130
- - Citty CLI framework
131
- </example>
132
-
133
- </schema>
@@ -1,125 +0,0 @@
1
- <schema target-files=".awa/specs/REQ-{CODE}-{feature-name}.md">
2
-
3
- ```json
4
- {
5
- "description": "Requirements only. Succinct language. Do not overspecify. Omit irrelevant information.",
6
- "required": ["introduction", "requirements"],
7
- "properties": {
8
- "metadata": { "properties": { "changeLog": { "type": "array", "items": { "properties": { "version": {}, "date": {}, "changes": {} } } } } },
9
- "introduction": { "type": "brief context for the requirements" },
10
- "stakeholders": { "type": "array", "items": { "properties": { "role": {}, "description": {} } } },
11
- "glossary": { "type": "object of term→definition" },
12
- "requirements": { "type": "array", "items": { "$ref": "#/$defs/requirement" } },
13
- "assumptions": { "type": "array of strings" },
14
- "constraints": { "type": "array of strings" },
15
- "outOfScope": { "type": "array of strings" }
16
- },
17
- "$defs": {
18
- "requirement": {
19
- "required": ["id", "title", "story", "criteria"],
20
- "properties": {
21
- "id": { "type": "pattern: {CODE}-{n} or {CODE}-{n}.{p} for subrequirements (e.g., CLI-3, ENG-1.1)" },
22
- "title": { "type": "short title" },
23
- "story": { "required": ["role", "want", "benefit"], "properties": { "role": {}, "want": {}, "benefit": {} } },
24
- "criteria": { "type": "array", "items": { "$ref": "#/$defs/criterion" } },
25
- "priority": { "enum": ["must", "should", "could", "wont"] },
26
- "rationale": { "type": "why this requirement exists" },
27
- "dependencies": { "type": "array of requirement IDs" },
28
- "subrequirements": { "type": "array", "items": { "$ref": "#/$defs/requirement" } }
29
- }
30
- },
31
- "criterion": {
32
- "required": ["id", "type", "statement"],
33
- "properties": {
34
- "id": { "type": "pattern: {CODE}-{n}[.{p}]_AC-{m} for subrequirements (e.g., CLI-3_AC-1, ENG-1.1_AC-2)" },
35
- "type": { "enum": ["ubiquitous", "event", "state", "conditional", "optional", "complex"] },
36
- "statement": { "type": "testable statement using SHALL/SHOULD/MAY" },
37
- "notes": { "type": "additional context" },
38
- "testable": { "type": "boolean, default true" },
39
- "verified": { "type": "boolean; true when validated as implemented and tested" }
40
- }
41
- }
42
- },
43
- "$render": {
44
- "template": "# Requirements Specification\n\n## Introduction\n{introduction}\n\n## Glossary\n{glossary→'- {TERM}: {definition}'}\n\n## Stakeholders\n{stakeholders→'- {ROLE}: {description}'}\n\n## Requirements\n{requirements→'### {id}: {title} [{PRIORITY?}]\n\nAS A {story.role}, I WANT {story.want}, SO THAT {story.benefit}.\n\n> {rationale?}\n\nACCEPTANCE CRITERIA\n\n{criteria→\"- [{verified?x: }] {id} [{type}]: {statement} — {notes?} [untestable?]\"}\n\nDEPENDS ON: {dependencies?}'}\n\n## Assumptions\n{assumptions→'- {}'}\n\n## Constraints\n{constraints→'- {}'}\n\n## Out of Scope\n{outOfScope→'- {}'}\n\n## Change Log\n{metadata.changeLog→'- {version} ({date}): {changes}'}",
45
- "omit": ["section if empty", "[PRIORITY] if absent", "rationale blockquote if absent", "— {notes} if absent", "[untestable] if testable true/absent", "DEPENDS ON if empty"],
46
- "checkbox": "[x] if verified true, [ ] otherwise",
47
- "prohibited": ["**bold** — use CAPITALS", "FieldName: value patterns", "nested bullets for story/criterion", "showing 'testable: true'", "headers for individual criteria"]
48
- }
49
- }
50
- ```
51
-
52
- <example>
53
- # Requirements Specification
54
-
55
- ## Introduction
56
-
57
- Core engine requirements for game framework.
58
-
59
- ## Glossary
60
-
61
- - GAME LOOP: Core cycle of update-render that drives the engine
62
- - CONTEXT: Runtime state container for engine subsystems
63
-
64
- ## Stakeholders
65
-
66
- - GAME DEVELOPER: Builds games using the engine API
67
- - ENGINE MAINTAINER: Maintains and extends engine internals
68
-
69
- ## Requirements
70
-
71
- ### ENG-1: Core Engine Framework [MUST]
72
-
73
- AS A game developer, I WANT a game loop, SO THAT predictable execution.
74
-
75
- > Foundation for all games.
76
-
77
- ACCEPTANCE CRITERIA
78
-
79
- - [x] ENG-1_AC-1 [event]: WHEN engine initializes THEN system SHALL create context
80
- - [ ] ENG-1_AC-2 [event]: WHEN `--verbose` flag is provided THEN system SHALL enable debug logging — CLI flag
81
- - [ ] ENG-1_AC-3 [ubiquitous]: The system SHALL maintain 60fps minimum frame rate
82
- - [ ] ENG-1_AC-4 [event]: WHEN multiple `--preset` options are provided THEN system SHALL collect all values
83
- - [ ] ENG-1_AC-5 [conditional]: IF config contains a `[presets]` table THEN system SHALL parse it as a dictionary
84
-
85
- ### ENG-1.1: Subsystem Registration [SHOULD]
86
-
87
- AS A engine maintainer, I WANT subsystems to self-register, SO THAT modular architecture.
88
-
89
- ACCEPTANCE CRITERIA
90
-
91
- - [ ] ENG-1.1_AC-1 [event]: WHEN subsystem loads THEN it SHALL register with context
92
-
93
- ### ENG-2: Resource Management [MUST]
94
-
95
- AS A game developer, I WANT automatic resource loading, SO THAT simplified asset management.
96
-
97
- ACCEPTANCE CRITERIA
98
-
99
- - [ ] ENG-2_AC-1 [event]: WHEN resource requested THEN system SHALL load asynchronously
100
- - [ ] ENG-2_AC-2 [ubiquitous]: The system SHALL cache loaded resources
101
-
102
- DEPENDS ON: ENG-1
103
-
104
- ## Assumptions
105
-
106
- - Target platform supports OpenGL 3.3 or higher
107
- - Config file uses TOML format with `[section]` syntax
108
-
109
- ## Constraints
110
-
111
- - Must run on Windows, macOS, and Linux
112
- - CLI options like `--features` and `--remove-features` follow POSIX conventions
113
-
114
- ## Out of Scope
115
-
116
- - Mobile platform support
117
- - Console platform support
118
-
119
- ## Change Log
120
-
121
- - 1.0.0 (2025-01-10): Initial requirements
122
- - 1.1.0 (2025-01-15): Added `--preset` CLI option
123
- </example>
124
-
125
- </schema>
@@ -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) %>