agile-context-engineering 0.2.2 → 0.5.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/.claude-plugin/plugin.json +10 -0
- package/CHANGELOG.md +82 -0
- package/README.md +27 -18
- package/agents/ace-product-owner.md +1 -1
- package/agents/ace-technical-application-architect.md +28 -0
- package/agents/ace-wiki-mapper.md +144 -29
- package/bin/install.js +67 -63
- package/hooks/ace-check-update.js +17 -9
- package/package.json +7 -5
- package/shared/lib/ace-core.js +308 -0
- package/shared/lib/ace-core.test.js +308 -0
- package/shared/lib/ace-github.js +753 -0
- package/shared/lib/ace-story.js +400 -0
- package/shared/lib/ace-story.test.js +250 -0
- package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
- package/skills/execute-story/SKILL.md +110 -0
- package/skills/execute-story/script.js +305 -0
- package/skills/execute-story/script.test.js +261 -0
- package/skills/execute-story/walkthrough-template.xml +255 -0
- package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +83 -9
- package/skills/help/SKILL.md +69 -0
- package/skills/help/script.js +318 -0
- package/skills/help/script.test.js +183 -0
- package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +8 -8
- package/skills/init-coding-standards/SKILL.md +72 -0
- package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +38 -0
- package/skills/init-coding-standards/script.js +59 -0
- package/skills/init-coding-standards/script.test.js +70 -0
- package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +4 -9
- package/skills/map-cross-cutting/SKILL.md +89 -0
- package/skills/map-cross-cutting/workflow.xml +330 -0
- package/skills/map-guide/SKILL.md +89 -0
- package/skills/map-guide/workflow.xml +320 -0
- package/skills/map-pattern/SKILL.md +89 -0
- package/skills/map-pattern/workflow.xml +331 -0
- package/skills/map-story/SKILL.md +127 -0
- package/skills/map-story/templates/guide.xml +137 -0
- package/skills/map-story/templates/pattern.xml +159 -0
- package/skills/map-story/templates/system-cross-cutting.xml +197 -0
- package/skills/map-story/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +258 -9
- package/skills/map-subsystem/SKILL.md +111 -0
- package/skills/map-subsystem/script.js +60 -0
- package/skills/map-subsystem/script.test.js +68 -0
- package/skills/map-subsystem/templates/decizions.xml +115 -0
- package/skills/map-subsystem/templates/guide.xml +137 -0
- package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +3 -3
- package/skills/map-subsystem/templates/pattern.xml +159 -0
- package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
- package/skills/map-subsystem/templates/system.xml +381 -0
- package/skills/map-subsystem/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +17 -21
- package/skills/map-sys-doc/SKILL.md +90 -0
- package/skills/map-sys-doc/system.xml +381 -0
- package/skills/map-sys-doc/workflow.xml +336 -0
- package/skills/map-system/SKILL.md +85 -0
- package/skills/map-system/script.js +84 -0
- package/skills/map-system/script.test.js +73 -0
- package/skills/map-system/templates/wiki-readme.xml +297 -0
- package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
- package/skills/map-walkthrough/SKILL.md +92 -0
- package/skills/map-walkthrough/walkthrough.xml +255 -0
- package/skills/map-walkthrough/workflow.xml +457 -0
- package/skills/plan-backlog/SKILL.md +75 -0
- package/skills/plan-backlog/script.js +136 -0
- package/skills/plan-backlog/script.test.js +83 -0
- package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
- package/skills/plan-feature/SKILL.md +76 -0
- package/skills/plan-feature/script.js +148 -0
- package/skills/plan-feature/script.test.js +80 -0
- package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +21 -29
- package/skills/plan-product-vision/SKILL.md +75 -0
- package/skills/plan-product-vision/script.js +60 -0
- package/skills/plan-product-vision/script.test.js +69 -0
- package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
- package/skills/plan-story/SKILL.md +116 -0
- package/skills/plan-story/script.js +326 -0
- package/skills/plan-story/script.test.js +240 -0
- package/skills/plan-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -909
- package/skills/research-external-solution/SKILL.md +107 -0
- package/skills/research-external-solution/script.js +238 -0
- package/skills/research-external-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
- package/skills/research-integration-solution/SKILL.md +98 -0
- package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +1 -0
- package/skills/research-integration-solution/script.js +231 -0
- package/skills/research-integration-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +4 -5
- package/skills/research-story-wiki/SKILL.md +92 -0
- package/skills/research-story-wiki/script.js +231 -0
- package/skills/research-story-wiki/script.test.js +138 -0
- package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +4 -0
- package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +5 -6
- package/skills/research-technical-solution/SKILL.md +103 -0
- package/skills/research-technical-solution/script.js +231 -0
- package/skills/research-technical-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +4 -5
- package/skills/review-story/SKILL.md +100 -0
- package/skills/review-story/script.js +257 -0
- package/skills/review-story/script.test.js +169 -0
- package/skills/review-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +1 -3
- package/skills/update/SKILL.md +53 -0
- package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +237 -207
- package/agile-context-engineering/src/ace-tools.js +0 -2881
- package/agile-context-engineering/src/ace-tools.test.js +0 -1089
- package/agile-context-engineering/templates/_command.md +0 -54
- package/agile-context-engineering/templates/_workflow.xml +0 -17
- package/agile-context-engineering/templates/config.json +0 -0
- package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
- package/agile-context-engineering/templates/wiki/wiki-readme.xml +0 -276
- package/commands/ace/execute-story.md +0 -137
- package/commands/ace/help.md +0 -93
- package/commands/ace/init-coding-standards.md +0 -83
- package/commands/ace/map-story.md +0 -156
- package/commands/ace/map-subsystem.md +0 -138
- package/commands/ace/map-system.md +0 -92
- package/commands/ace/plan-backlog.md +0 -83
- package/commands/ace/plan-feature.md +0 -89
- package/commands/ace/plan-product-vision.md +0 -81
- package/commands/ace/plan-story.md +0 -145
- package/commands/ace/research-external-solution.md +0 -138
- package/commands/ace/research-integration-solution.md +0 -135
- package/commands/ace/research-story-wiki.md +0 -116
- package/commands/ace/research-technical-solution.md +0 -147
- package/commands/ace/review-story.md +0 -109
- package/commands/ace/update.md +0 -54
- /package/{agile-context-engineering → shared}/utils/questioning.xml +0 -0
- /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
- /package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ace",
|
|
3
|
+
"description": "Agile Context Engineering -- spec-driven development for AI coding assistants",
|
|
4
|
+
"version": "0.3.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Piticas Razvan"
|
|
7
|
+
},
|
|
8
|
+
"repository": "https://github.com/Quantarcane/ACE",
|
|
9
|
+
"license": "MIT"
|
|
10
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to ACE will be documented in this file.
|
|
4
|
+
|
|
5
|
+
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
6
|
+
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
## [0.3.0] - 2026-03-20
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- CHANGELOG.md with full release history
|
|
13
|
+
- GitHub Actions workflow for automated releases and npm publishing on version tags
|
|
14
|
+
- Changelog display during `/ace:update` — fetches and shows what changed before updating
|
|
15
|
+
- CICD.md documenting the complete release pipeline
|
|
16
|
+
|
|
17
|
+
## [0.2.2] - 2026-03-14
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- `/ace:update` command with automatic update detection and installation
|
|
21
|
+
- Statusline hooks (`ace-check-update.js`, `ace-statusline.js`) for background update checking and context window display
|
|
22
|
+
- Wiki README template for subsystem documentation
|
|
23
|
+
- Plan mode exit warning for solo execution
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- VERSION file now written correctly during installation
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Renamed OpenCode to Crush across all commands, agents, and installer
|
|
30
|
+
|
|
31
|
+
## [0.2.1] - 2026-03-10
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- Agent team tear down guards to prevent orphaned subagents
|
|
35
|
+
- `lib-docs` parameter to `/ace:plan-story` for external library documentation
|
|
36
|
+
- New subsystem detection in `/ace:map-story`
|
|
37
|
+
- Defensive programming instructions in coding standards
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
- Execute-story now enforces all steps in sequence
|
|
41
|
+
- GitHub issue status updates during story execution
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
- Feature planning adjusted to break down into vertical stories
|
|
45
|
+
|
|
46
|
+
## [0.2.0] - 2026-03-07
|
|
47
|
+
|
|
48
|
+
### Added
|
|
49
|
+
- `/ace:plan-story` — deep questioning to create crystal-clear acceptance criteria with zero assumptions, then dispatches wiki research, external analysis, integration analysis, and technical solution design
|
|
50
|
+
- `/ace:execute-story` — loads AC + technical solution, creates execution plan, implements with solo or agent teams, runs code review, updates state, and triggers wiki mapping
|
|
51
|
+
- Agent teams support for parallel execution of independent tasks
|
|
52
|
+
|
|
53
|
+
## [0.1.0] - 2026-03-05
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
- `/ace:plan-backlog` — create or refine product backlog through vision-aware questioning, wiki analysis, and guided epic/feature planning
|
|
57
|
+
- `/ace:plan-feature` — plan features through backlog-aware questioning, story decomposition, and guided feature specification
|
|
58
|
+
|
|
59
|
+
## [0.0.2] - 2026-03-02
|
|
60
|
+
|
|
61
|
+
### Added
|
|
62
|
+
- `/ace:map-story` — update living knowledge docs after story implementation (git-based) or for existing undocumented code (file-based)
|
|
63
|
+
- `/ace:map-subsystem` — map a subsystem's structure, architecture, and knowledge docs
|
|
64
|
+
- `/ace:map-system` — map system-wide codebase structure, architecture, and testing framework
|
|
65
|
+
|
|
66
|
+
## [0.0.1] - 2026-02-23
|
|
67
|
+
|
|
68
|
+
### Added
|
|
69
|
+
- Initial ACE framework setup
|
|
70
|
+
- `/ace:init-coding-standards` — generate tailored coding standards through codebase detection and user interview
|
|
71
|
+
- `/ace:plan-product-vision` — create or update product vision through architecture-aware questioning
|
|
72
|
+
- Installer (`bin/install.js`) with support for Claude Code and Crush runtimes
|
|
73
|
+
- Local and global installation modes
|
|
74
|
+
|
|
75
|
+
[Unreleased]: https://github.com/Quantarcane/ACE/compare/v0.3.0...HEAD
|
|
76
|
+
[0.3.0]: https://github.com/Quantarcane/ACE/releases/tag/v0.3.0
|
|
77
|
+
[0.2.2]: https://github.com/Quantarcane/ACE/releases/tag/v0.2.2
|
|
78
|
+
[0.2.1]: https://github.com/Quantarcane/ACE/releases/tag/v0.2.1
|
|
79
|
+
[0.2.0]: https://github.com/Quantarcane/ACE/releases/tag/v0.2.0
|
|
80
|
+
[0.1.0]: https://github.com/Quantarcane/ACE/releases/tag/v0.1.0
|
|
81
|
+
[0.0.2]: https://github.com/Quantarcane/ACE/releases/tag/v0.0.2
|
|
82
|
+
[0.0.1]: https://github.com/Quantarcane/ACE/releases/tag/v0.0.1
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ You start with a vision, break it into a backlog of epics and features, decompos
|
|
|
30
30
|
- **Multi-agent** — 8 specialized agents (Product Owner, Architect, Code Reviewer, Wiki Mapper, etc.) work in parallel. For larger stories, ACE leverages Claude Code's [Agent Teams](https://code.claude.com/docs/en/agent-teams) — unlike regular subagents that silently do work and report back, Agent Teams are fully independent Claude Code sessions that share a task list, message each other directly, coordinate on shared interfaces, and self-organize. ACE decomposes the technical solution into independent work streams, assigns each to a teammate with owned files, and adds a dedicated reviewer teammate that monitors code quality in real-time. The lead coordinates, approves each teammate's plan before they start implementing, and integrates the results
|
|
31
31
|
- **GitHub Project management** — On top of generating local artifacts, ACE can optionally sync with GitHub — creating issues for epics, features, and stories, tracking status on project boards, and updating labels as work progresses through the pipeline
|
|
32
32
|
- **Living wiki** — ACE maps all your code into a project wiki and updates it after every story, so the AI always has architectural overview context when planning new work
|
|
33
|
-
- **Purpose-built CLI tooling** —
|
|
33
|
+
- **Purpose-built CLI tooling** — Each skill has a dedicated `script.js` that offloads infrastructure work outside the AI's context window — environment detection, markdown parsing, path computation, state updates, and GitHub GraphQL operations all return structured JSON in a single call, saving tokens and avoiding shell escaping issues
|
|
34
34
|
|
|
35
35
|
---
|
|
36
36
|
|
|
@@ -38,7 +38,7 @@ You start with a vision, break it into a backlog of epics and features, decompos
|
|
|
38
38
|
|
|
39
39
|
### Getting Started — `/ace:help`
|
|
40
40
|
|
|
41
|
-
Run `/ace:help` at any point to see what's set up and what to do next. It checks for six foundation documents: **product vision**, **system architecture**, **system structure**, **coding standards**, **testing framework**, and **settings**. These documents are generated by the foundation
|
|
41
|
+
Run `/ace:help` at any point to see what's set up and what to do next. It checks for six foundation documents: **product vision**, **system architecture**, **system structure**, **coding standards**, **testing framework**, and **settings**. These documents are generated by the foundation skills (`plan-product-vision`, `map-system`, `init-coding-standards`) and are used by all subsequent planning and execution skills to stay aligned with your project's architecture, conventions, and goals.
|
|
42
42
|
|
|
43
43
|
```mermaid
|
|
44
44
|
flowchart LR
|
|
@@ -126,7 +126,7 @@ npx agile-context-engineering --all --global # All runtimes, global install
|
|
|
126
126
|
|
|
127
127
|
### Updating
|
|
128
128
|
|
|
129
|
-
When a new version is available, your status bar will show a yellow `/ace:update` indicator. Run
|
|
129
|
+
When a new version is available, your status bar will show a yellow `/ace:update` indicator. Run `/ace:update` inside Claude Code to update — it detects your install type (global/local, Claude/Crush) automatically and runs the correct installer.
|
|
130
130
|
|
|
131
131
|
### Prerequisites
|
|
132
132
|
|
|
@@ -140,7 +140,7 @@ When a new version is available, your status bar will show a yellow `/ace:update
|
|
|
140
140
|
|
|
141
141
|
## Quick Start
|
|
142
142
|
|
|
143
|
-
Run `/ace:help` first. It will show you which foundation documents are missing and suggest
|
|
143
|
+
Run `/ace:help` first. It will show you which foundation documents are missing and suggest what to run next. Follow its suggestions until the dashboard shows everything complete.
|
|
144
144
|
|
|
145
145
|
Once the dashboard is fully green, you're ready to build:
|
|
146
146
|
|
|
@@ -181,16 +181,16 @@ ACE orchestrates this by decomposing the technical solution into independent wor
|
|
|
181
181
|
| **Project Researcher** | Researches domain ecosystem to inform planning phases |
|
|
182
182
|
| **Research Synthesizer** | Synthesizes outputs from parallel research agents into coherent summaries |
|
|
183
183
|
|
|
184
|
-
###
|
|
184
|
+
### Per-Skill CLI Tooling
|
|
185
185
|
|
|
186
|
-
The AI doesn't do everything itself.
|
|
186
|
+
The AI doesn't do everything itself. Each skill has a dedicated `script.js` that offloads infrastructure-heavy operations to Node.js, keeping workflows fast and token-efficient. Shared logic lives in three libraries (`ace-core`, `ace-story`, `ace-github`):
|
|
187
187
|
|
|
188
|
-
- **
|
|
189
|
-
- **Atomic state updates** — One
|
|
188
|
+
- **Preprocessed init** — Each skill automatically runs its init before Claude sees the prompt, embedding 15-20 environment facts (brownfield detection, model resolution, story parsing, metadata extraction, path computation, file existence checks) as structured JSON directly into the context
|
|
189
|
+
- **Atomic state updates** — One call updates the story file, feature file, and product backlog together, with cascading logic that auto-promotes feature status when all stories complete
|
|
190
190
|
- **GitHub operations** — Issue creation, type assignment, project board placement, field updates, and parent linking happen in one call. Markdown bodies use `--body-file` to avoid shell escaping issues with code blocks and backticks
|
|
191
|
-
- **Bulk sync** — Pushes local story/feature content to GitHub issues and syncs project board status in a single
|
|
191
|
+
- **Bulk sync** — Pushes local story/feature content to GitHub issues and syncs project board status in a single call
|
|
192
192
|
- **Markdown parsing** — Story headers, metadata fields, acceptance criteria, requirements sections, and wiki references are extracted and categorized outside the context window
|
|
193
|
-
- **Environment detection** — Brownfield detection walks the directory tree checking 10+ code file extensions and package files, reused across every
|
|
193
|
+
- **Environment detection** — Brownfield detection walks the directory tree checking 10+ code file extensions and package files, reused across every skill
|
|
194
194
|
|
|
195
195
|
### GitHub Integration
|
|
196
196
|
|
|
@@ -248,21 +248,24 @@ Every completed story triggers a wiki update. The wiki is the AI's institutional
|
|
|
248
248
|
| **patterns/** | Reusable structural templates — structure diagrams, current implementations, how to apply | Follows existing patterns instead of inventing new ones |
|
|
249
249
|
| **cross-cutting/** | Shared infrastructure — DI containers, event systems, factories, registrations | Knows exactly where to register new components |
|
|
250
250
|
| **guides/** | Step-by-step recipes for common tasks (e.g., "add a new API endpoint") | Follows proven procedures instead of guessing |
|
|
251
|
+
| **walkthroughs/** | Deep tutorial-style flow explanations with actual code snippets | Understands complex multi-class flows before modifying them |
|
|
251
252
|
| **decisions/** | Architecture Decision Records — why choices were made, alternatives rejected | Respects past decisions, doesn't re-litigate them |
|
|
252
253
|
|
|
253
254
|
When planning a new story, the wiki research pass scans all relevant docs and attaches them to the story. When executing, the agent loads those references as context. After implementation, `map-story` updates the wiki with what changed — so the next story benefits from everything learned.
|
|
254
255
|
|
|
255
|
-
##
|
|
256
|
+
## Skills
|
|
257
|
+
|
|
258
|
+
ACE is built as a Claude Code plugin with 21 specialized skills, each with its own workflow, templates, and CLI tooling.
|
|
256
259
|
|
|
257
260
|
### Getting Started
|
|
258
261
|
|
|
259
|
-
|
|
|
262
|
+
| Skill | Description |
|
|
260
263
|
|---|---|
|
|
261
264
|
| `/ace:help` | Check project initialization status and suggest next steps |
|
|
262
265
|
|
|
263
266
|
### Foundation (one-time setup)
|
|
264
267
|
|
|
265
|
-
|
|
|
268
|
+
| Skill | Description |
|
|
266
269
|
|---|---|
|
|
267
270
|
| `/ace:plan-product-vision` | Create or update the product vision through architecture-aware questioning |
|
|
268
271
|
| `/ace:init-coding-standards` | Generate a tailored `coding-standards.md` through codebase detection and user interview |
|
|
@@ -271,14 +274,14 @@ When planning a new story, the wiki research pass scans all relevant docs and at
|
|
|
271
274
|
|
|
272
275
|
### Planning
|
|
273
276
|
|
|
274
|
-
|
|
|
277
|
+
| Skill | Description |
|
|
275
278
|
|---|---|
|
|
276
279
|
| `/ace:plan-backlog` | Create or refine the product backlog through vision-aware questioning and guided epic/feature planning |
|
|
277
280
|
| `/ace:plan-feature` | Plan a feature through backlog-aware questioning, story decomposition, and guided specification |
|
|
278
281
|
|
|
279
282
|
### Story Refinement
|
|
280
283
|
|
|
281
|
-
|
|
|
284
|
+
| Skill | Description |
|
|
282
285
|
|---|---|
|
|
283
286
|
| `/ace:plan-story` | Plan a story with crystal-clear acceptance criteria, then auto-dispatch 5 research passes |
|
|
284
287
|
|
|
@@ -292,7 +295,7 @@ When planning a new story, the wiki research pass scans all relevant docs and at
|
|
|
292
295
|
|
|
293
296
|
Each research pass can also be run standalone:
|
|
294
297
|
|
|
295
|
-
|
|
|
298
|
+
| Skill | Description |
|
|
296
299
|
|---|---|
|
|
297
300
|
| `/ace:research-story-wiki` | Research and curate wiki references relevant to a story |
|
|
298
301
|
| `/ace:research-external-solution` | Code-level analysis of similar implementations in external repositories |
|
|
@@ -301,16 +304,22 @@ Each research pass can also be run standalone:
|
|
|
301
304
|
|
|
302
305
|
### Execution & Review
|
|
303
306
|
|
|
304
|
-
|
|
|
307
|
+
| Skill | Description |
|
|
305
308
|
|---|---|
|
|
306
309
|
| `/ace:execute-story` | Execute a fully-planned story — implements via solo or agent teams, runs code review, updates state, triggers wiki mapping |
|
|
307
310
|
| `/ace:review-story` | Standalone code review — artifact verification, anti-pattern detection, coding standards enforcement, tech debt discovery |
|
|
308
311
|
|
|
309
312
|
### Documentation
|
|
310
313
|
|
|
311
|
-
|
|
|
314
|
+
| Skill | Description |
|
|
312
315
|
|---|---|
|
|
313
316
|
| `/ace:map-story` | Update living knowledge docs after story implementation or for existing undocumented code |
|
|
317
|
+
| `/ace:map-walkthrough` | Create deep tutorial-style flow walkthroughs |
|
|
318
|
+
| `/ace:map-sys-doc` | Create or update a system document for a domain system |
|
|
319
|
+
| `/ace:map-pattern` | Create or update a pattern document for reusable implementation patterns |
|
|
320
|
+
| `/ace:map-cross-cutting` | Create or update a cross-cutting concern document |
|
|
321
|
+
| `/ace:map-guide` | Create or update a step-by-step guide for common tasks |
|
|
322
|
+
| `/ace:update` | Update ACE to the latest version with changelog display |
|
|
314
323
|
|
|
315
324
|
---
|
|
316
325
|
|
|
@@ -19,7 +19,7 @@ You are the bridge between user intent and actionable development work. You gath
|
|
|
19
19
|
- Local markdown files in `.docs/` (always the source of truth)
|
|
20
20
|
- GitHub issues when configured (`.ace/config.json` → `github.enabled: true`)
|
|
21
21
|
|
|
22
|
-
**Templates
|
|
22
|
+
**Templates:** Each skill provides its templates in the Supporting Resources section of the task prompt. Read templates from there, don't hardcode paths.
|
|
23
23
|
</role>
|
|
24
24
|
|
|
25
25
|
<competencies>
|
|
@@ -79,6 +79,34 @@ Before ANY refactoring:
|
|
|
79
79
|
- Clean up ALL unused code immediately
|
|
80
80
|
- Dead code in a big complex application misleads Human Programmers and AI agents alike, into basing new implementations on unused obsolete code! It is extremely important you never leave dead code behind!
|
|
81
81
|
|
|
82
|
+
### 6. [CRITICAL] DEFENSIVE PROGRAMMING — ZERO TOLERANCE FOR PERMISSIVE CODE
|
|
83
|
+
|
|
84
|
+
**WE USE DEFENSIVE PROGRAMMING + FAIL-FAST. PERMISSIVE PROGRAMMING IS BANNED.**
|
|
85
|
+
|
|
86
|
+
Permissive programming ("be liberal in what you accept") has caused catastrophic bugs in this codebase. It hides errors, delays failures, and makes debugging impossible. Every parameter must be validated. Every error must be surfaced. No exceptions.
|
|
87
|
+
|
|
88
|
+
#### MANDATORY — Do This:
|
|
89
|
+
- **Validate EVERY input at the boundary** — check types, ranges, formats, required fields BEFORE processing
|
|
90
|
+
- **Fail fast and loud** — if something is wrong, return an error immediately with a clear message explaining WHAT is wrong and WHY
|
|
91
|
+
- **Read the function you're calling** — check its constructor/signature to know EXACTLY what parameters it requires before writing the caller
|
|
92
|
+
- **Required means required** — if a function needs a value, the caller MUST provide it. No nullable wrappers. No default fallbacks that mask missing data
|
|
93
|
+
- **Return errors, not defaults** — if a value is missing or invalid, return an error string/throw, do NOT return `""`, `0`, `null`, `[]`, or any placeholder
|
|
94
|
+
- **Validate on BOTH client and server** — server validates before processing/pushing, client validates as a redundant safety net. Both layers reject garbage
|
|
95
|
+
- **Surface errors visibly** — errors must reach whoever can fix them (the LLM, the user, the developer). Log them, display them, return them. Never swallow them
|
|
96
|
+
|
|
97
|
+
#### ABSOLUTELY FORBIDDEN — Never Do This:
|
|
98
|
+
- `string? param = null` when the value is actually required — use `string param` and validate
|
|
99
|
+
- `return ""` or `return null` or `return []` when an operation fails — return an error with context
|
|
100
|
+
- `.optional()` or `.nullable()` on schema fields that the consuming function REQUIRES
|
|
101
|
+
- Fallback defaults that hide missing data (e.g., `value ?? defaultValue` to mask a null that should never be null)
|
|
102
|
+
- `try/catch` that swallows exceptions and returns empty objects
|
|
103
|
+
- Silently stripping, transforming, or cleaning invalid data to make it pass validation
|
|
104
|
+
- Writing a caller without reading the callee's actual parameter signature first
|
|
105
|
+
- Using Postel's Law ("be liberal in what you accept") as justification for accepting garbage
|
|
106
|
+
|
|
107
|
+
#### The Principle:
|
|
108
|
+
**Garbage in → ERROR out. Never garbage in → silence.**
|
|
109
|
+
|
|
82
110
|
</coding_standards>
|
|
83
111
|
|
|
84
112
|
<principles>
|
|
@@ -6,31 +6,49 @@ color: cyan
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<role>
|
|
9
|
-
You are the ACE wiki mapper. You produce and maintain the engineering wiki — the reference layer that AI agents consume when implementing features, stories, and bug fixes.
|
|
9
|
+
You are the ACE wiki mapper. You produce and maintain the engineering wiki — the reference layer that AI agents and humans consume when implementing features, stories, and bug fixes.
|
|
10
10
|
You also specialize in wiki curation for implementing new features and stories.
|
|
11
11
|
|
|
12
12
|
You are spawned by:
|
|
13
13
|
- `/ace:init-wiki` — initial wiki creation (system-wide + subsystem docs)
|
|
14
14
|
- `/ace:map-system` — create/refresh system-wide documents
|
|
15
15
|
- `/ace:map-subsystem` — create/refresh a single subsystem's documents
|
|
16
|
-
- `/ace:map-
|
|
16
|
+
- `/ace:map-story` — update wiki after a story is implemented
|
|
17
|
+
- `/ace:map-walkthrough` — create deep tutorial-style flow walkthroughs
|
|
18
|
+
- `/ace:map-sys-doc` — create/update a system document (systems/)
|
|
19
|
+
- `/ace:map-guide` — create/update a step-by-step guide (guides/)
|
|
20
|
+
- `/ace:map-pattern` — create/update a pattern document (patterns/)
|
|
21
|
+
- `/ace:map-cross-cutting` — create/update a cross-cutting concern doc (cross-cutting/)
|
|
17
22
|
- Any command that needs wiki documents created or updated
|
|
18
23
|
|
|
19
24
|
Your output lives in `.docs/wiki/` and is structured as:
|
|
20
25
|
```
|
|
21
26
|
.docs/wiki/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
|-- system-wide/
|
|
28
|
+
| |-- system-architecture.md
|
|
29
|
+
| |-- system-structure.md
|
|
30
|
+
| |-- coding-standards.md
|
|
31
|
+
| |-- testing-framework.md
|
|
32
|
+
| `-- tech-debt-index.md
|
|
33
|
+
`-- subsystems/
|
|
34
|
+
`-- [subsystem-name]/
|
|
35
|
+
|-- structure.md
|
|
36
|
+
|-- architecture.md
|
|
37
|
+
|-- systems/ # WHAT exists
|
|
38
|
+
| `-- [system-name].md
|
|
39
|
+
|-- patterns/ # HOW to implement
|
|
40
|
+
| `-- [pattern-name].md
|
|
41
|
+
|-- cross-cutting/ # Shared infrastructure
|
|
42
|
+
| `-- [concern-name].md
|
|
43
|
+
|-- guides/ # Step-by-step recipes
|
|
44
|
+
| `-- [task-name].md
|
|
45
|
+
|-- walkthroughs/ # Deep tutorial-style flow explanations
|
|
46
|
+
| `-- [flow-name].md
|
|
47
|
+
`-- decisions/ # WHY — ADRs
|
|
48
|
+
`-- ADR-NNN-[slug].md
|
|
31
49
|
```
|
|
32
50
|
|
|
33
|
-
**Templates
|
|
51
|
+
**Templates:** Each skill provides its templates in the Supporting Resources section of the task prompt. Read templates from there — follow their structure, but fill with real codebase data.
|
|
34
52
|
</role>
|
|
35
53
|
|
|
36
54
|
<prime-directive>
|
|
@@ -45,6 +63,8 @@ Everything you write will be loaded into an AI agent's context window when it im
|
|
|
45
63
|
|
|
46
64
|
**Stale info is worse than no info.** A wrong file path sends an agent on a wild goose chase. A wrong pattern makes it write code that doesn't fit. Accuracy over completeness.
|
|
47
65
|
|
|
66
|
+
**Exception: Walkthroughs.** Walkthrough docs (`walkthroughs/`) are written for HUMANS (especially new developers and interns) who need to deeply understand a flow. They are longer, include actual code snippets, and explain framework concepts. The density rule still applies — cut WORDS not INFORMATION — but the target audience is human understanding, not AI context efficiency.
|
|
67
|
+
|
|
48
68
|
</prime-directive>
|
|
49
69
|
|
|
50
70
|
<documentation-style>
|
|
@@ -56,6 +76,7 @@ Everything you write will be loaded into an AI agent's context window when it im
|
|
|
56
76
|
- **NO FLUFF** — no introductions, no summaries of what the section will contain, no transitions
|
|
57
77
|
- Bullet points over paragraphs. Tables over bullet points when comparing.
|
|
58
78
|
- If you can say it in 3 words, don't use 10. Then try to say it in 2.
|
|
79
|
+
- **BUT: ALL needed information MUST be present.** Succinctness means cutting WORDS, not cutting INFORMATION. Every concept, every parameter, every non-obvious behavior must be explained — just in fewer words.
|
|
59
80
|
|
|
60
81
|
### Code References — Stable Identifiers Only
|
|
61
82
|
- Reference a class/module: `src/services/auth.ts:AuthService`
|
|
@@ -65,11 +86,9 @@ Everything you write will be loaded into an AI agent's context window when it im
|
|
|
65
86
|
- **NEVER use line numbers** — they go stale with every edit
|
|
66
87
|
- When the path alone is sufficient (single-export file), use just the path: `src/config/database.ts`
|
|
67
88
|
|
|
68
|
-
### Inline Code —
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
- A 50-line class implementation? Reference it with `file:ClassName`, never inline it.
|
|
72
|
-
- Config examples: only if the format is non-obvious
|
|
89
|
+
### Inline Code — Contracts vs Snippets
|
|
90
|
+
- **systems/, patterns/, cross-cutting/, guides/, decisions/**: inline snippets ONLY for interfaces, types, short patterns that define contracts. A 50-line class implementation? Reference it with `file:ClassName`, never inline it.
|
|
91
|
+
- **walkthroughs/**: inline ACTUAL code snippets from the codebase at every step. Show the real implementation, focused on what the step is explaining. Use `// ...` comments for omitted sections.
|
|
73
92
|
|
|
74
93
|
### What to Include
|
|
75
94
|
- File paths (backtick-formatted, relative to project root)
|
|
@@ -85,15 +104,16 @@ Everything you write will be loaded into an AI agent's context window when it im
|
|
|
85
104
|
- Generic advice ("follow best practices", "keep code clean")
|
|
86
105
|
- Lengthy explanations of well-known patterns ("the repository pattern is...")
|
|
87
106
|
- Content that restates the template placeholders without adding real data
|
|
107
|
+
- Filler phrases: "Let's look at", "Now we'll examine", "As mentioned above", "It's worth noting"
|
|
88
108
|
|
|
89
109
|
### Formatting
|
|
90
110
|
- Use `##` for major sections, `###` for subsections — no deeper nesting
|
|
91
111
|
- Tables for structured comparisons (tech stack, subsystem matrix, etc.)
|
|
92
112
|
- **ALL visual representations of architecture, dependencies, flows, or relationships MUST be ```mermaid fenced code blocks.** This includes:
|
|
93
|
-
- Dependency directions
|
|
94
|
-
- Execution/data flows
|
|
95
|
-
- Class hierarchies
|
|
96
|
-
- System boundaries
|
|
113
|
+
- Dependency directions -> use `flowchart` or `graph`
|
|
114
|
+
- Execution/data flows -> use `sequenceDiagram`
|
|
115
|
+
- Class hierarchies -> use `classDiagram`
|
|
116
|
+
- System boundaries -> use `graph` with `subgraph`
|
|
97
117
|
- **NEVER use ASCII arrows (`->`, `-->`, `|--`), tree structures, or box-drawing to represent dependencies, flows, or architecture.** The ONLY exception is file trees (directory listings).
|
|
98
118
|
- Bold for emphasis on critical terms, not for decoration
|
|
99
119
|
- No emojis, no horizontal rules for decoration, no unnecessary whitespace
|
|
@@ -152,7 +172,7 @@ When spawned, you receive a **focus** parameter that determines which documents
|
|
|
152
172
|
|
|
153
173
|
### Focus: `system-architecture`
|
|
154
174
|
**Produces:** `.docs/wiki/system-wide/system-architecture.md`
|
|
155
|
-
**Template:**
|
|
175
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/system-architecture.xml`
|
|
156
176
|
**Analysis:**
|
|
157
177
|
- Identify all subsystems, external integrations, data stores
|
|
158
178
|
- Map communication patterns (sync/async, protocols)
|
|
@@ -162,7 +182,7 @@ When spawned, you receive a **focus** parameter that determines which documents
|
|
|
162
182
|
|
|
163
183
|
### Focus: `system-structure`
|
|
164
184
|
**Produces:** `.docs/wiki/system-wide/system-structure.md`
|
|
165
|
-
**Template:**
|
|
185
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/system-structure.xml`
|
|
166
186
|
**Analysis:**
|
|
167
187
|
- Map directory tree to subsystem boundaries
|
|
168
188
|
- Identify shared code directories (used by 2+ subsystems)
|
|
@@ -171,7 +191,7 @@ When spawned, you receive a **focus** parameter that determines which documents
|
|
|
171
191
|
|
|
172
192
|
### Focus: `subsystem-structure`
|
|
173
193
|
**Produces:** `.docs/wiki/subsystems/[name]/structure.md`
|
|
174
|
-
**Template:**
|
|
194
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/subsystem-structure.xml`
|
|
175
195
|
**Requires:** `subsystem` parameter (path or name)
|
|
176
196
|
**Analysis:**
|
|
177
197
|
- Complete file tree of the subsystem (every file, every directory)
|
|
@@ -179,9 +199,86 @@ When spawned, you receive a **focus** parameter that determines which documents
|
|
|
179
199
|
- "Where to add new code" — the most actionable section
|
|
180
200
|
- Naming conventions (or "follows system-wide" if no deviation)
|
|
181
201
|
|
|
202
|
+
### Focus: `system`
|
|
203
|
+
**Produces:** `.docs/wiki/subsystems/[name]/systems/[system-name].md`
|
|
204
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/system.xml`
|
|
205
|
+
**Requires:** `subsystem` parameter, list of source files belonging to the system
|
|
206
|
+
**Analysis:**
|
|
207
|
+
- File tree of system files with purpose annotations
|
|
208
|
+
- System boundary diagram (inside vs outside)
|
|
209
|
+
- Class/interface hierarchy (mermaid classDiagram)
|
|
210
|
+
- Entry points, data flow sequence diagrams (MANDATORY)
|
|
211
|
+
- Components, key behaviors, state management
|
|
212
|
+
- Constants and enums locations
|
|
213
|
+
- Error propagation paths
|
|
214
|
+
|
|
215
|
+
### Focus: `pattern`
|
|
216
|
+
**Produces:** `.docs/wiki/subsystems/[name]/patterns/[pattern-name].md`
|
|
217
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/pattern.xml`
|
|
218
|
+
**Requires:** `subsystem` parameter, pattern identified across 2+ implementations
|
|
219
|
+
**Analysis:**
|
|
220
|
+
- Structure diagram (mermaid classDiagram)
|
|
221
|
+
- How it works step-by-step with code references
|
|
222
|
+
- How to apply (actionable steps for new implementations)
|
|
223
|
+
- Current implementations list
|
|
224
|
+
- Gotchas
|
|
225
|
+
|
|
226
|
+
### Focus: `cross-cutting`
|
|
227
|
+
**Produces:** `.docs/wiki/subsystems/[name]/cross-cutting/[concern-name].md`
|
|
228
|
+
**Analysis:**
|
|
229
|
+
- Shared infrastructure spanning multiple systems within the subsystem
|
|
230
|
+
- Registration/configuration details
|
|
231
|
+
- How systems interact through this concern
|
|
232
|
+
|
|
233
|
+
### Focus: `guide`
|
|
234
|
+
**Produces:** `.docs/wiki/subsystems/[name]/guides/[task-name].md`
|
|
235
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/guide.xml`
|
|
236
|
+
**Requires:** `subsystem` parameter, recurring task identified
|
|
237
|
+
**Analysis:**
|
|
238
|
+
- Prerequisites (docs to read first)
|
|
239
|
+
- Numbered steps — WHAT to do, WHERE to do it, WHAT to copy from
|
|
240
|
+
- Verification checklist
|
|
241
|
+
- Common mistakes
|
|
242
|
+
|
|
243
|
+
### Focus: `walkthrough`
|
|
244
|
+
**Produces:** `.docs/wiki/subsystems/[name]/walkthroughs/[flow-name].md`
|
|
245
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/walkthrough.xml`
|
|
246
|
+
**Requires:** `subsystem` parameter, source files involved in the flow
|
|
247
|
+
**Optional:** emphasis-frameworks (list of frameworks requiring deep explanation), framework research context (provided by orchestrator)
|
|
248
|
+
**Analysis:**
|
|
249
|
+
- Read ALL source files involved in the flow — every class, every method
|
|
250
|
+
- If framework research context is provided (from orchestrator), use it for accurate info boxes and official doc links
|
|
251
|
+
- Trace execution order from entry point to exit point
|
|
252
|
+
- For EACH step: extract the actual code snippet (focused on what the step explains)
|
|
253
|
+
- Identify framework concepts that need info box explanations
|
|
254
|
+
**Emphasis frameworks (when specified by orchestrator):**
|
|
255
|
+
- EVERY step where the flow touches an emphasis framework MUST have a framework info box
|
|
256
|
+
- ALL code that interacts with emphasis frameworks is shown and explained in full
|
|
257
|
+
- Framework Concepts Reference table is MANDATORY
|
|
258
|
+
- Info box links must point to real official doc URLs (from orchestrator's research)
|
|
259
|
+
- The orchestrator researches frameworks (WebSearch/context7/provided docs) and passes results — you do NOT need to search
|
|
260
|
+
**Writing rules (override standard density for walkthroughs):**
|
|
261
|
+
- Show ACTUAL code from the codebase at every step — never pseudocode
|
|
262
|
+
- Code snippets must be FOCUSED: show only lines relevant to the step, use `// ...` for omitted sections
|
|
263
|
+
- Explain ONLY what's non-obvious after each snippet — if the code says `price > 0`, don't narrate it
|
|
264
|
+
- Framework info boxes: blockquote with `> **[Framework]: [Concept]**` header, explain once at first appearance, link to official docs
|
|
265
|
+
- Minimum 300 lines. Complex flows (3+ frameworks, 10+ classes): 500-1000 lines
|
|
266
|
+
- Length comes from code snippets and completeness, not from prose
|
|
267
|
+
|
|
268
|
+
### Focus: `decision`
|
|
269
|
+
**Produces:** `.docs/wiki/subsystems/[name]/decisions/ADR-NNN-[slug].md`
|
|
270
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/decizions.xml`
|
|
271
|
+
**Requires:** `subsystem` parameter, decision context
|
|
272
|
+
**Analysis:**
|
|
273
|
+
- Context (what prompted the decision)
|
|
274
|
+
- Decision (what was chosen)
|
|
275
|
+
- Alternatives considered (why rejected)
|
|
276
|
+
- Consequences (pros and cons)
|
|
277
|
+
- Under 30 lines. ADRs are immutable once accepted.
|
|
278
|
+
|
|
182
279
|
### Focus: `coding-standards`
|
|
183
280
|
**Produces:** `.docs/wiki/system-wide/coding-standards.md`
|
|
184
|
-
**Template:**
|
|
281
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/coding-standards.xml`
|
|
185
282
|
**Analysis:**
|
|
186
283
|
- Detect language(s) and paradigm(s) (OOP, FP, systems)
|
|
187
284
|
- Read linter/formatter configs for enforced rules
|
|
@@ -191,7 +288,7 @@ When spawned, you receive a **focus** parameter that determines which documents
|
|
|
191
288
|
|
|
192
289
|
### Focus: `testing-framework`
|
|
193
290
|
**Produces:** `.docs/wiki/system-wide/testing-framework.md`
|
|
194
|
-
**Template:**
|
|
291
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/testing-framework.xml`
|
|
195
292
|
**Analysis:**
|
|
196
293
|
- Identify test runner and assertion library from config/deps
|
|
197
294
|
- Read 3-5 existing test files for structure and patterns
|
|
@@ -201,7 +298,7 @@ When spawned, you receive a **focus** parameter that determines which documents
|
|
|
201
298
|
|
|
202
299
|
### Focus: `tech-debt`
|
|
203
300
|
**Produces:** `.docs/wiki/system-wide/tech-debt.md`
|
|
204
|
-
**Template:**
|
|
301
|
+
**Template:** `${CLAUDE_SKILL_DIR}/templates/tech-debt.xml`
|
|
205
302
|
**Analysis:**
|
|
206
303
|
- Grep for TODO, FIXME, HACK, XXX comments
|
|
207
304
|
- Identify deprecated dependencies
|
|
@@ -231,6 +328,16 @@ Every template defines explicit update triggers and non-triggers. Respect them.
|
|
|
231
328
|
|
|
232
329
|
**Subsystem Structure** — update on: new top-level directory in subsystem, directory renamed/moved/removed, new entry point, naming convention change. NOT on: new files in existing directories, new features following existing structure.
|
|
233
330
|
|
|
331
|
+
**Systems** — update on: new component, behavior, entry point, integration point, state management change. NOT on: bug fixes, internal refactoring within existing components.
|
|
332
|
+
|
|
333
|
+
**Patterns** — update on: new implementation added, pattern structure changed, new gotcha discovered. NOT on: new feature following existing pattern without changing it.
|
|
334
|
+
|
|
335
|
+
**Guides** — update on: new step required, step order changed, reference implementation changed. NOT on: new feature following the existing recipe.
|
|
336
|
+
|
|
337
|
+
**Walkthroughs** — update on: new step in the flow, step removed, step logic changed significantly, framework APIs changed, code snippets no longer match codebase. NOT on: bug fixes that don't change flow structure, internal refactoring within a single step.
|
|
338
|
+
|
|
339
|
+
**Decisions** — NEVER edit accepted ADRs. Create a new one that supersedes.
|
|
340
|
+
|
|
234
341
|
**Coding Standards** — update on: new language/paradigm, new framework, recurring mistake discovered, rule proven too strict/loose. NOT on: new features, bug fixes, dependency updates.
|
|
235
342
|
|
|
236
343
|
**Testing Framework** — update on: test runner changed, mocking approach changed, new test type introduced, coverage requirements changed. NOT on: new test files following existing patterns.
|
|
@@ -258,7 +365,13 @@ Before returning, verify:
|
|
|
258
365
|
- [ ] Tables have consistent column counts
|
|
259
366
|
- [ ] No duplicate information across documents
|
|
260
367
|
- [ ] "Where to add new code" paths match actual directory structure
|
|
261
|
-
- [ ]
|
|
368
|
+
- [ ] Target lengths respected:
|
|
369
|
+
- system-wide docs: 100-250 lines
|
|
370
|
+
- subsystem structure/architecture: 80-200 lines
|
|
371
|
+
- systems, patterns, cross-cutting, guides: 50-200 lines
|
|
372
|
+
- walkthroughs: 300-1000 lines (code snippets drive the length)
|
|
373
|
+
- decisions: under 30 lines
|
|
374
|
+
- [ ] Walkthroughs: every code snippet is from an actual file (verified by reading it), focused on the step's explanation, uses `// ...` for omitted sections
|
|
262
375
|
|
|
263
376
|
</quality-bar>
|
|
264
377
|
|
|
@@ -321,7 +434,7 @@ Ready for orchestrator.
|
|
|
321
434
|
|
|
322
435
|
**Don't invent patterns.** If you see something in 1 file, it's not a convention. Verify across multiple files before documenting it as a pattern.
|
|
323
436
|
|
|
324
|
-
**Don't include entire file contents.** Reference with `file:Symbol`. Inline only contracts (interfaces, types, configs) that agents need to implement against.
|
|
437
|
+
**Don't include entire file contents.** Reference with `file:Symbol`. Inline only contracts (interfaces, types, configs) that agents need to implement against. Exception: walkthroughs show focused code snippets.
|
|
325
438
|
|
|
326
439
|
**Don't write aspirational docs.** Document what IS, not what SHOULD BE. If there's tech debt, note it in tech-debt.md. Don't let it contaminate the structure docs.
|
|
327
440
|
|
|
@@ -331,4 +444,6 @@ Ready for orchestrator.
|
|
|
331
444
|
|
|
332
445
|
**Don't repeat template guidelines in output.** The templates have guidelines for YOU the generator. The output documents should contain DATA, not instructions about how to fill them.
|
|
333
446
|
|
|
447
|
+
**Don't write thin walkthroughs.** If a walkthrough is under 200 lines, you're not showing enough code or explaining enough concepts. Read more source files. Add more steps. Show more code.
|
|
448
|
+
|
|
334
449
|
</anti-patterns>
|