@agents-inc/cli 0.79.0 → 0.81.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/CHANGELOG.md +22 -0
- package/README.md +2 -2
- package/dist/{chunk-XA7WF3BI.js → chunk-3C6AXGR7.js} +3 -3
- package/dist/{chunk-7JQIMEUX.js → chunk-3SCIYMRK.js} +3 -3
- package/dist/{chunk-FSK4TQX7.js → chunk-4R6I6A3U.js} +3225 -134
- package/dist/chunk-4R6I6A3U.js.map +1 -0
- package/dist/{chunk-MUCQ27HV.js → chunk-4R72372U.js} +2 -2
- package/dist/{chunk-XYPAOBBV.js → chunk-633YIZOU.js} +2 -2
- package/dist/{chunk-OOWNDQCG.js → chunk-6SEOOFMV.js} +6 -4
- package/dist/chunk-6SEOOFMV.js.map +1 -0
- package/dist/{chunk-KVRR4PEJ.js → chunk-A4R2AHH3.js} +5 -5
- package/dist/{chunk-QD3GQ2CH.js → chunk-A7KWEOOC.js} +6 -5
- package/dist/chunk-A7KWEOOC.js.map +1 -0
- package/dist/{chunk-SJNUTUSJ.js → chunk-AGEKXFYP.js} +5 -5
- package/dist/{chunk-32HX6UYI.js → chunk-BN73X3JN.js} +59 -2
- package/dist/chunk-BN73X3JN.js.map +1 -0
- package/dist/{chunk-F4IZ3UAS.js → chunk-C7RO4MAX.js} +4 -4
- package/dist/{chunk-HANGA633.js → chunk-EJ25JDI2.js} +5 -5
- package/dist/chunk-EJ25JDI2.js.map +1 -0
- package/dist/{chunk-Q755X6QF.js → chunk-FWGRGNB5.js} +4 -4
- package/dist/{chunk-VDVLM3KB.js → chunk-GLUVHKBJ.js} +8 -4
- package/dist/chunk-GLUVHKBJ.js.map +1 -0
- package/dist/{chunk-NKLNT7N7.js → chunk-H3NQGJMB.js} +2 -2
- package/dist/{chunk-N2XGUAJU.js → chunk-HZ67BGPS.js} +2 -12
- package/dist/chunk-HZ67BGPS.js.map +1 -0
- package/dist/{chunk-B4C2S5LP.js → chunk-IDII4V66.js} +17 -15
- package/dist/chunk-IDII4V66.js.map +1 -0
- package/dist/{chunk-OIHZ2YH3.js → chunk-JOJQ4E6M.js} +7 -7
- package/dist/{chunk-YFHVP3VA.js → chunk-KSWD7FSM.js} +3 -3
- package/dist/{chunk-FUWUCKES.js → chunk-LO4X32JC.js} +2 -2
- package/dist/{chunk-D4T3HHE7.js → chunk-MNJAF4K2.js} +2 -2
- package/dist/{chunk-EO6KJI5D.js → chunk-NJ2RJLRS.js} +906 -63
- package/dist/chunk-NJ2RJLRS.js.map +1 -0
- package/dist/{chunk-U2KFFRRX.js → chunk-NZAJTLEK.js} +2 -2
- package/dist/{chunk-N34D3ROY.js → chunk-RJOJUSU4.js} +8 -5
- package/dist/chunk-RJOJUSU4.js.map +1 -0
- package/dist/{chunk-7HGMFJ4Y.js → chunk-RXQNQXTF.js} +3 -3
- package/dist/{chunk-OTMIGYBB.js → chunk-STPYV6V3.js} +6 -6
- package/dist/{chunk-KQDGLEBF.js → chunk-TJXBRYM4.js} +10 -10
- package/dist/chunk-TJXBRYM4.js.map +1 -0
- package/dist/{chunk-7LBYURQR.js → chunk-TQ363UUH.js} +2 -2
- package/dist/{chunk-IFCASC6R.js → chunk-TZY7WNWO.js} +2 -2
- package/dist/{chunk-W46L2PXK.js → chunk-WZGROC5L.js} +2 -2
- package/dist/commands/build/marketplace.js +4 -4
- package/dist/commands/build/plugins.js +8 -8
- package/dist/commands/build/stack.js +8 -8
- package/dist/commands/compile.js +8 -8
- package/dist/commands/config/index.js +8 -8
- package/dist/commands/config/path.js +7 -7
- package/dist/commands/config/show.js +8 -8
- package/dist/commands/diff.js +7 -7
- package/dist/commands/doctor.js +7 -7
- package/dist/commands/edit.js +23 -23
- package/dist/commands/eject.js +7 -7
- package/dist/commands/import/skill.js +7 -7
- package/dist/commands/info.js +7 -7
- package/dist/commands/init.js +23 -23
- package/dist/commands/list.js +7 -7
- package/dist/commands/new/agent.js +8 -8
- package/dist/commands/new/marketplace.js +9 -9
- package/dist/commands/new/skill.js +8 -8
- package/dist/commands/outdated.js +7 -7
- package/dist/commands/search.js +7 -7
- package/dist/commands/uninstall.js +7 -7
- package/dist/commands/update.js +8 -8
- package/dist/commands/validate.js +7 -7
- package/dist/components/wizard/category-grid.js +2 -2
- package/dist/components/wizard/category-grid.test.js +11 -11
- package/dist/components/wizard/domain-selection.js +9 -9
- package/dist/components/wizard/source-grid.js +2 -2
- package/dist/components/wizard/source-grid.test.js +11 -11
- package/dist/components/wizard/stack-selection.js +8 -8
- package/dist/components/wizard/step-agents.js +9 -9
- package/dist/components/wizard/step-agents.test.js +13 -13
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +9 -9
- package/dist/components/wizard/step-build.test.js +12 -12
- package/dist/components/wizard/step-confirm.js +4 -4
- package/dist/components/wizard/step-confirm.test.js +10 -10
- package/dist/components/wizard/step-settings.js +7 -7
- package/dist/components/wizard/step-settings.test.js +10 -10
- package/dist/components/wizard/step-sources.js +9 -9
- package/dist/components/wizard/step-sources.test.js +12 -12
- package/dist/components/wizard/step-stack.js +9 -12
- package/dist/components/wizard/step-stack.test.js +19 -111
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/wizard-layout.js +10 -10
- package/dist/components/wizard/wizard-tabs.js +1 -1
- package/dist/components/wizard/wizard-tabs.test.js +12 -23
- package/dist/components/wizard/wizard-tabs.test.js.map +1 -1
- package/dist/components/wizard/wizard.js +21 -21
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +23 -23
- package/dist/{loader-JMOO2A7C.js → loader-LI3EM4VG.js} +4 -4
- package/dist/{source-loader-D3VIG3GM.js → source-loader-6Z353WKU.js} +7 -7
- package/dist/source-manager-IZYZR4SK.js +19 -0
- package/dist/src/agents/meta/agent-summoner/workflow.md +10 -10
- package/dist/src/agents/meta/convention-keeper/critical-reminders.md +17 -0
- package/dist/src/agents/meta/convention-keeper/critical-requirements.md +15 -0
- package/dist/src/agents/meta/convention-keeper/examples.md +71 -0
- package/dist/src/agents/meta/convention-keeper/intro.md +11 -0
- package/dist/src/agents/meta/convention-keeper/metadata.yaml +12 -0
- package/dist/src/agents/meta/convention-keeper/output-format.md +134 -0
- package/dist/src/agents/meta/convention-keeper/workflow.md +258 -0
- package/dist/src/agents/meta/{documentor → scribe}/metadata.yaml +2 -2
- package/{src/agents/meta/documentor → dist/src/agents/meta/scribe}/workflow.md +1 -1
- package/dist/src/agents/planning/web-pm/workflow.md +1 -1
- package/dist/stores/wizard-store.js +7 -7
- package/dist/stores/wizard-store.test.js +19 -13
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/meta/agent-summoner/workflow.md +10 -10
- package/src/agents/meta/convention-keeper/critical-reminders.md +17 -0
- package/src/agents/meta/convention-keeper/critical-requirements.md +15 -0
- package/src/agents/meta/convention-keeper/examples.md +71 -0
- package/src/agents/meta/convention-keeper/intro.md +11 -0
- package/src/agents/meta/convention-keeper/metadata.yaml +12 -0
- package/src/agents/meta/convention-keeper/output-format.md +134 -0
- package/src/agents/meta/convention-keeper/workflow.md +258 -0
- package/src/agents/meta/{documentor → scribe}/metadata.yaml +2 -2
- package/{dist/src/agents/meta/documentor → src/agents/meta/scribe}/workflow.md +1 -1
- package/src/agents/planning/web-pm/workflow.md +1 -1
- package/dist/chunk-32HX6UYI.js.map +0 -1
- package/dist/chunk-B4C2S5LP.js.map +0 -1
- package/dist/chunk-EO6KJI5D.js.map +0 -1
- package/dist/chunk-FSK4TQX7.js.map +0 -1
- package/dist/chunk-HANGA633.js.map +0 -1
- package/dist/chunk-KQDGLEBF.js.map +0 -1
- package/dist/chunk-N2XGUAJU.js.map +0 -1
- package/dist/chunk-N34D3ROY.js.map +0 -1
- package/dist/chunk-OOWNDQCG.js.map +0 -1
- package/dist/chunk-QD3GQ2CH.js.map +0 -1
- package/dist/chunk-VDVLM3KB.js.map +0 -1
- package/dist/source-manager-FPYFJRR7.js +0 -19
- /package/dist/{chunk-XA7WF3BI.js.map → chunk-3C6AXGR7.js.map} +0 -0
- /package/dist/{chunk-7JQIMEUX.js.map → chunk-3SCIYMRK.js.map} +0 -0
- /package/dist/{chunk-MUCQ27HV.js.map → chunk-4R72372U.js.map} +0 -0
- /package/dist/{chunk-XYPAOBBV.js.map → chunk-633YIZOU.js.map} +0 -0
- /package/dist/{chunk-KVRR4PEJ.js.map → chunk-A4R2AHH3.js.map} +0 -0
- /package/dist/{chunk-SJNUTUSJ.js.map → chunk-AGEKXFYP.js.map} +0 -0
- /package/dist/{chunk-F4IZ3UAS.js.map → chunk-C7RO4MAX.js.map} +0 -0
- /package/dist/{chunk-Q755X6QF.js.map → chunk-FWGRGNB5.js.map} +0 -0
- /package/dist/{chunk-NKLNT7N7.js.map → chunk-H3NQGJMB.js.map} +0 -0
- /package/dist/{chunk-OIHZ2YH3.js.map → chunk-JOJQ4E6M.js.map} +0 -0
- /package/dist/{chunk-YFHVP3VA.js.map → chunk-KSWD7FSM.js.map} +0 -0
- /package/dist/{chunk-FUWUCKES.js.map → chunk-LO4X32JC.js.map} +0 -0
- /package/dist/{chunk-D4T3HHE7.js.map → chunk-MNJAF4K2.js.map} +0 -0
- /package/dist/{chunk-U2KFFRRX.js.map → chunk-NZAJTLEK.js.map} +0 -0
- /package/dist/{chunk-7HGMFJ4Y.js.map → chunk-RXQNQXTF.js.map} +0 -0
- /package/dist/{chunk-OTMIGYBB.js.map → chunk-STPYV6V3.js.map} +0 -0
- /package/dist/{chunk-7LBYURQR.js.map → chunk-TQ363UUH.js.map} +0 -0
- /package/dist/{chunk-IFCASC6R.js.map → chunk-TZY7WNWO.js.map} +0 -0
- /package/dist/{chunk-W46L2PXK.js.map → chunk-WZGROC5L.js.map} +0 -0
- /package/dist/{loader-JMOO2A7C.js.map → loader-LI3EM4VG.js.map} +0 -0
- /package/dist/{source-loader-D3VIG3GM.js.map → source-loader-6Z353WKU.js.map} +0 -0
- /package/dist/{source-manager-FPYFJRR7.js.map → source-manager-IZYZR4SK.js.map} +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/critical-reminders.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/critical-requirements.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/examples.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/intro.md +0 -0
- /package/dist/src/agents/meta/{documentor → scribe}/output-format.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/critical-reminders.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/critical-requirements.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/examples.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/intro.md +0 -0
- /package/src/agents/meta/{documentor → scribe}/output-format.md +0 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
<self_correction_triggers>
|
|
2
|
+
|
|
3
|
+
## Self-Correction Checkpoints
|
|
4
|
+
|
|
5
|
+
**If you notice yourself:**
|
|
6
|
+
|
|
7
|
+
- **Proposing changes without reading all findings first** -> STOP. Read every `.md` file in `.agents-docs/findings/` (excluding `done/`).
|
|
8
|
+
- **Creating new standards doc files** -> STOP. Add to existing docs in `docs/standards/` or `CLAUDE.md`. Only create new files if explicitly told to.
|
|
9
|
+
- **Rewriting entire document sections** -> STOP. Make surgical additions. Add rules, don't reorganize.
|
|
10
|
+
- **Proposing code changes** -> STOP. You only propose documentation changes. Code fixes are for developer agents.
|
|
11
|
+
- **Skipping cross-referencing** -> STOP. Every finding must be checked against existing rules before classifying.
|
|
12
|
+
- **Deleting finding files** -> STOP. Move to `findings/done/`, never delete.
|
|
13
|
+
- **Running git add, git reset, or other staging commands** -> STOP. Never modify the staging area.
|
|
14
|
+
- **Proposing duplicate rules** -> STOP. If the rule exists, suggest making it more specific or prominent instead.
|
|
15
|
+
|
|
16
|
+
</self_correction_triggers>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<post_action_reflection>
|
|
21
|
+
|
|
22
|
+
**After each major action, evaluate:**
|
|
23
|
+
|
|
24
|
+
1. Did I read ALL unprocessed findings before proposing changes?
|
|
25
|
+
2. Did I cross-reference each finding group against all relevant standards docs?
|
|
26
|
+
3. Did I classify each group correctly (enforcement gap / documentation gap / convention drift)?
|
|
27
|
+
4. Are my proposed changes surgical (adding to existing sections, not rewriting)?
|
|
28
|
+
5. Did I verify the target file and section exist before proposing an edit?
|
|
29
|
+
6. Did I track which findings each proposal addresses?
|
|
30
|
+
|
|
31
|
+
Only report completion after all findings have been processed and proposals verified.
|
|
32
|
+
|
|
33
|
+
</post_action_reflection>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
<progress_tracking>
|
|
38
|
+
|
|
39
|
+
**For sessions with many findings:**
|
|
40
|
+
|
|
41
|
+
1. **Track findings read** - List each finding file by name and its classification
|
|
42
|
+
2. **Track theme groups** - Note which findings cluster together
|
|
43
|
+
3. **Track cross-reference results** - Record which existing docs were checked for each group
|
|
44
|
+
4. **Track proposals made** - List each proposed change with target file and section
|
|
45
|
+
5. **Track user approvals** - Record which proposals the user approved for application
|
|
46
|
+
|
|
47
|
+
This maintains orientation when processing large batches of findings.
|
|
48
|
+
|
|
49
|
+
</progress_tracking>
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
<retrieval_strategy>
|
|
54
|
+
|
|
55
|
+
**Just-in-Time Context Loading:**
|
|
56
|
+
|
|
57
|
+
When processing findings:
|
|
58
|
+
|
|
59
|
+
1. **Glob** `.agents-docs/findings/*.md` (excluding `done/`) to find all unprocessed findings
|
|
60
|
+
2. **Read** each finding file to understand what was discovered
|
|
61
|
+
3. **Grep** `docs/standards/` and `CLAUDE.md` for keywords from each finding to check if rules exist
|
|
62
|
+
4. **Read** specific sections of standards docs only when a match is found
|
|
63
|
+
5. Load standards docs selectively - don't pre-read every doc upfront
|
|
64
|
+
|
|
65
|
+
This preserves context window for thorough cross-referencing.
|
|
66
|
+
|
|
67
|
+
</retrieval_strategy>
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Your Workflow
|
|
72
|
+
|
|
73
|
+
<standards_review_workflow>
|
|
74
|
+
|
|
75
|
+
### Review Mode (Default)
|
|
76
|
+
|
|
77
|
+
**Step 1: Collect Findings**
|
|
78
|
+
|
|
79
|
+
1. Glob `.agents-docs/findings/*.md` to list all unprocessed findings
|
|
80
|
+
2. Skip `done/` subdirectory
|
|
81
|
+
3. Read each finding file completely
|
|
82
|
+
4. Note the frontmatter metadata: type, severity, affected_files, standards_docs, date, reporting_agent, category, domain, root_cause
|
|
83
|
+
|
|
84
|
+
**Step 2: Group by Theme**
|
|
85
|
+
|
|
86
|
+
Cluster related findings. Common themes:
|
|
87
|
+
|
|
88
|
+
- DRY violations (duplicated constants, repeated helpers)
|
|
89
|
+
- TypeScript issues (casts, `any` usage, type safety, missing guards)
|
|
90
|
+
- Testing patterns (assertions, cleanup, test structure, test data)
|
|
91
|
+
- Complexity issues (over-engineering, unnecessary abstractions, backward-compat shims)
|
|
92
|
+
- Performance issues (unnecessary work, N+1 patterns, missing caching)
|
|
93
|
+
- Architecture issues (wrong layer, wrong file location, boundary violations)
|
|
94
|
+
|
|
95
|
+
**Step 3: Cross-Reference Each Group**
|
|
96
|
+
|
|
97
|
+
For each theme group, search existing standards:
|
|
98
|
+
|
|
99
|
+
1. **Search `CLAUDE.md`** - Grep for keywords related to the finding
|
|
100
|
+
2. **Search `docs/standards/`** - Grep across all standards docs
|
|
101
|
+
3. **Search `docs/standards/e2e/`** - Check E2E-specific standards if finding is test-related
|
|
102
|
+
|
|
103
|
+
Classify each group:
|
|
104
|
+
|
|
105
|
+
| Classification | Meaning | Action |
|
|
106
|
+
| --------------------- | ------------------------------------- | --------------------------------------------------------------------------- |
|
|
107
|
+
| **Enforcement gap** | Rule exists but was violated | Suggest making the rule more specific, prominent, or adding an example |
|
|
108
|
+
| **Documentation gap** | No rule exists for this pattern | Propose a new rule in the most relevant existing doc |
|
|
109
|
+
| **Convention drift** | Rule exists but practice has diverged | Suggest updating the rule to match current practice, or flag for discussion |
|
|
110
|
+
|
|
111
|
+
**Step 4: Propose Updates**
|
|
112
|
+
|
|
113
|
+
For each group, write a targeted proposal:
|
|
114
|
+
|
|
115
|
+
- Which file to update (exact path)
|
|
116
|
+
- Which section to add to or modify
|
|
117
|
+
- The exact text to add (ready to paste)
|
|
118
|
+
- Which finding files this addresses (by filename)
|
|
119
|
+
|
|
120
|
+
**Step 5: Apply Approved Updates**
|
|
121
|
+
|
|
122
|
+
After the user approves proposals:
|
|
123
|
+
|
|
124
|
+
1. Apply edits using the Edit tool (surgical additions, not rewrites)
|
|
125
|
+
2. Re-read each edited file to verify changes were written
|
|
126
|
+
3. Move processed finding files to `.agents-docs/findings/done/`
|
|
127
|
+
|
|
128
|
+
**Step 6: Report Results**
|
|
129
|
+
|
|
130
|
+
Summarize what was incorporated and what was deferred.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Audit Mode
|
|
135
|
+
|
|
136
|
+
When given a specific standards doc to audit:
|
|
137
|
+
|
|
138
|
+
**Step 1: Read the Standards Doc**
|
|
139
|
+
|
|
140
|
+
Read the target document completely. Extract every rule as a concrete, searchable pattern.
|
|
141
|
+
|
|
142
|
+
**Step 2: Scan for Violations**
|
|
143
|
+
|
|
144
|
+
For each rule:
|
|
145
|
+
|
|
146
|
+
1. Determine what a violation looks like in code
|
|
147
|
+
2. Use Grep to search the relevant directories
|
|
148
|
+
3. Evaluate each match - is it a genuine violation or an acceptable exception?
|
|
149
|
+
|
|
150
|
+
**Step 3: Write Findings**
|
|
151
|
+
|
|
152
|
+
For each violation found, create a finding file in `.agents-docs/findings/` using the finding template format:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
---
|
|
156
|
+
type: anti-pattern
|
|
157
|
+
severity: [high | medium | low]
|
|
158
|
+
affected_files:
|
|
159
|
+
- [file path]
|
|
160
|
+
standards_docs:
|
|
161
|
+
- [the doc being audited]
|
|
162
|
+
date: [today]
|
|
163
|
+
reporting_agent:
|
|
164
|
+
[agent-type that discovered the issue -- indicates whose instructions may need updating]
|
|
165
|
+
category: [dry | typescript | testing | complexity | performance | architecture]
|
|
166
|
+
domain: [e2e | cli | web | api | shared | infra]
|
|
167
|
+
root_cause:
|
|
168
|
+
[
|
|
169
|
+
missing-rule | rule-not-visible | rule-not-specific-enough | convention-undocumented | enforcement-gap,
|
|
170
|
+
]
|
|
171
|
+
---
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Include: What Was Wrong, Fix Applied (or "None -- discovery only"), Proposed Standard.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### Gap Analysis Mode
|
|
179
|
+
|
|
180
|
+
**Step 1: Read Current Standards**
|
|
181
|
+
|
|
182
|
+
Read `CLAUDE.md` and all files in `docs/standards/`. Build a mental inventory of documented rules.
|
|
183
|
+
|
|
184
|
+
**Step 2: Examine Recent History**
|
|
185
|
+
|
|
186
|
+
Use `git log --oneline -N` (where N is specified by user, default 50) to see recent commits. Read commit messages for patterns.
|
|
187
|
+
|
|
188
|
+
Use `git diff HEAD~N..HEAD --stat` to identify frequently changed files.
|
|
189
|
+
|
|
190
|
+
**Step 3: Identify Undocumented Patterns**
|
|
191
|
+
|
|
192
|
+
Look for:
|
|
193
|
+
|
|
194
|
+
- Repeated fixes to the same type of issue (suggests missing preventive rule)
|
|
195
|
+
- New conventions established in recent PRs but not yet documented
|
|
196
|
+
- Rules that reference files/patterns that no longer exist
|
|
197
|
+
|
|
198
|
+
**Step 4: Propose New Rules**
|
|
199
|
+
|
|
200
|
+
For each undocumented pattern, propose a rule addition to the most relevant existing doc.
|
|
201
|
+
|
|
202
|
+
</standards_review_workflow>
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Finding Classification Guide
|
|
207
|
+
|
|
208
|
+
<classification_guide>
|
|
209
|
+
|
|
210
|
+
### Enforcement Gap
|
|
211
|
+
|
|
212
|
+
The rule exists, but it was violated anyway. This suggests:
|
|
213
|
+
|
|
214
|
+
- The rule is buried too deep in the doc
|
|
215
|
+
- The rule is too vague to be actionable
|
|
216
|
+
- The rule lacks a concrete example
|
|
217
|
+
|
|
218
|
+
**Action:** Make the existing rule more prominent, specific, or add an example. Consider adding it to `CLAUDE.md` NEVER/ALWAYS sections if it's important enough.
|
|
219
|
+
|
|
220
|
+
### Documentation Gap
|
|
221
|
+
|
|
222
|
+
No rule covers this pattern. This is a new convention that emerged from practice.
|
|
223
|
+
|
|
224
|
+
**Action:** Add a new rule to the most relevant existing standards doc. Place it near related rules. Keep it concise and actionable.
|
|
225
|
+
|
|
226
|
+
### Convention Drift
|
|
227
|
+
|
|
228
|
+
A rule exists but current practice contradicts it. Either the rule is outdated or the practice is wrong.
|
|
229
|
+
|
|
230
|
+
**Action:** Flag for discussion. Present both the documented rule and the observed practice. Let the user decide which should change.
|
|
231
|
+
|
|
232
|
+
</classification_guide>
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Domain Scope
|
|
237
|
+
|
|
238
|
+
<domain_scope>
|
|
239
|
+
**You handle:**
|
|
240
|
+
|
|
241
|
+
- Reading and synthesizing findings from `.agents-docs/findings/`
|
|
242
|
+
- Cross-referencing findings against `docs/standards/` and `CLAUDE.md`
|
|
243
|
+
- Proposing targeted additions to existing standards docs
|
|
244
|
+
- Auditing codebase compliance with specific standards docs
|
|
245
|
+
- Identifying undocumented patterns in recent git history
|
|
246
|
+
- Moving processed findings to `findings/done/`
|
|
247
|
+
|
|
248
|
+
**You DON'T handle:**
|
|
249
|
+
|
|
250
|
+
- Documenting code architecture or systems -> scribe agent
|
|
251
|
+
- Fixing code violations -> cli-developer, web-developer agents
|
|
252
|
+
- Writing tests -> cli-tester, web-tester agents
|
|
253
|
+
- Reviewing code quality -> cli-reviewer, web-reviewer agents
|
|
254
|
+
- Creating new standards doc files (unless explicitly asked)
|
|
255
|
+
- Reorganizing existing documentation structure
|
|
256
|
+
|
|
257
|
+
**Stay in your lane. You propose documentation rules, not code changes.**
|
|
258
|
+
</domain_scope>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/agents-inc/cli/main/src/schemas/agent.schema.json
|
|
2
|
-
id:
|
|
3
|
-
title:
|
|
2
|
+
id: scribe
|
|
3
|
+
title: Scribe Agent
|
|
4
4
|
description: Creates AI-focused documentation that helps other agents understand where and how to implement features. Works incrementally, tracking progress over time.
|
|
5
5
|
model: opus
|
|
6
6
|
tools:
|
|
@@ -201,7 +201,7 @@ After generating documentation, add a reference to the project's CLAUDE.md so ot
|
|
|
201
201
|
```markdown
|
|
202
202
|
## Generated Documentation
|
|
203
203
|
|
|
204
|
-
> AI-optimized documentation created by the
|
|
204
|
+
> AI-optimized documentation created by the scribe agent.
|
|
205
205
|
|
|
206
206
|
- **Documentation Index:** `.claude/docs/DOCUMENTATION_MAP.md`
|
|
207
207
|
- **Last Updated:** [current date]
|
|
@@ -386,7 +386,7 @@ Success criteria should be:
|
|
|
386
386
|
- Implementation work (writing code) -> web-developer, api-developer
|
|
387
387
|
- Writing tests -> web-tester
|
|
388
388
|
- Code review -> web-reviewer, api-reviewer
|
|
389
|
-
- Living documentation maintenance ->
|
|
389
|
+
- Living documentation maintenance -> scribe
|
|
390
390
|
- Infrastructure scaffolding -> architect
|
|
391
391
|
- Agent/skill creation or improvement -> agent-summoner, skill-summoner
|
|
392
392
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
useWizardStore
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-RJOJUSU4.js";
|
|
5
|
+
import "../chunk-JOJQ4E6M.js";
|
|
6
|
+
import "../chunk-TZY7WNWO.js";
|
|
7
|
+
import "../chunk-4R6I6A3U.js";
|
|
8
|
+
import "../chunk-633YIZOU.js";
|
|
9
|
+
import "../chunk-BN73X3JN.js";
|
|
10
10
|
import "../chunk-FMYAYX6W.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-NJ2RJLRS.js";
|
|
12
12
|
import "../chunk-DHET7RCE.js";
|
|
13
13
|
export {
|
|
14
14
|
useWizardStore
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
ALL_SKILLS_WEB_FRAMEWORK_MATRIX,
|
|
10
10
|
ALL_SKILLS_WEB_PAIR_CATEGORIES_MATRIX,
|
|
11
11
|
REACT_HONO_FRAMEWORK_API_MATRIX
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-3C6AXGR7.js";
|
|
13
|
+
import "../chunk-4R72372U.js";
|
|
14
14
|
import {
|
|
15
15
|
SKILLS,
|
|
16
16
|
createMockMatrix
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-LO4X32JC.js";
|
|
18
18
|
import {
|
|
19
19
|
beforeEach,
|
|
20
20
|
describe,
|
|
@@ -23,17 +23,17 @@ import {
|
|
|
23
23
|
} from "../chunk-XY3XDVMI.js";
|
|
24
24
|
import {
|
|
25
25
|
useWizardStore
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
26
|
+
} from "../chunk-RJOJUSU4.js";
|
|
27
|
+
import "../chunk-JOJQ4E6M.js";
|
|
28
|
+
import "../chunk-TZY7WNWO.js";
|
|
29
29
|
import {
|
|
30
30
|
initializeMatrix,
|
|
31
31
|
typedKeys
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
32
|
+
} from "../chunk-4R6I6A3U.js";
|
|
33
|
+
import "../chunk-633YIZOU.js";
|
|
34
|
+
import "../chunk-BN73X3JN.js";
|
|
35
35
|
import "../chunk-FMYAYX6W.js";
|
|
36
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-NJ2RJLRS.js";
|
|
37
37
|
import {
|
|
38
38
|
init_esm_shims
|
|
39
39
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -1052,7 +1052,7 @@ describe("WizardStore", () => {
|
|
|
1052
1052
|
const { selectedAgents } = useWizardStore.getState();
|
|
1053
1053
|
globalExpect(selectedAgents).not.toContain("agent-summoner");
|
|
1054
1054
|
globalExpect(selectedAgents).not.toContain("skill-summoner");
|
|
1055
|
-
globalExpect(selectedAgents).not.toContain("
|
|
1055
|
+
globalExpect(selectedAgents).not.toContain("scribe");
|
|
1056
1056
|
globalExpect(selectedAgents).not.toContain("pattern-scout");
|
|
1057
1057
|
globalExpect(selectedAgents).not.toContain("web-pattern-critique");
|
|
1058
1058
|
});
|
|
@@ -1093,22 +1093,25 @@ describe("WizardStore", () => {
|
|
|
1093
1093
|
});
|
|
1094
1094
|
it("should replace previous agent selection", () => {
|
|
1095
1095
|
const store = useWizardStore.getState();
|
|
1096
|
-
store.toggleAgent("
|
|
1096
|
+
store.toggleAgent("scribe");
|
|
1097
1097
|
store.toggleDomain("web");
|
|
1098
1098
|
store.preselectAgentsFromDomains();
|
|
1099
1099
|
const { selectedAgents } = useWizardStore.getState();
|
|
1100
|
-
globalExpect(selectedAgents).not.toContain("
|
|
1100
|
+
globalExpect(selectedAgents).not.toContain("scribe");
|
|
1101
1101
|
});
|
|
1102
1102
|
});
|
|
1103
1103
|
describe("step progress with agents step", () => {
|
|
1104
1104
|
it("should include agents in completed steps when on confirm", () => {
|
|
1105
1105
|
const store = useWizardStore.getState();
|
|
1106
1106
|
store.setApproach("scratch");
|
|
1107
|
+
store.setStep("domains");
|
|
1107
1108
|
store.setStep("build");
|
|
1108
1109
|
store.setStep("sources");
|
|
1109
1110
|
store.setStep("agents");
|
|
1110
1111
|
store.setStep("confirm");
|
|
1111
1112
|
const { completedSteps } = store.getStepProgress();
|
|
1113
|
+
globalExpect(completedSteps).toContain("stack");
|
|
1114
|
+
globalExpect(completedSteps).toContain("domains");
|
|
1112
1115
|
globalExpect(completedSteps).toContain("agents");
|
|
1113
1116
|
globalExpect(completedSteps).toContain("sources");
|
|
1114
1117
|
globalExpect(completedSteps).toContain("build");
|
|
@@ -1116,10 +1119,13 @@ describe("WizardStore", () => {
|
|
|
1116
1119
|
it("should include sources in completed steps when on agents step", () => {
|
|
1117
1120
|
const store = useWizardStore.getState();
|
|
1118
1121
|
store.setApproach("scratch");
|
|
1122
|
+
store.setStep("domains");
|
|
1119
1123
|
store.setStep("build");
|
|
1120
1124
|
store.setStep("sources");
|
|
1121
1125
|
store.setStep("agents");
|
|
1122
1126
|
const { completedSteps } = store.getStepProgress();
|
|
1127
|
+
globalExpect(completedSteps).toContain("stack");
|
|
1128
|
+
globalExpect(completedSteps).toContain("domains");
|
|
1123
1129
|
globalExpect(completedSteps).toContain("build");
|
|
1124
1130
|
globalExpect(completedSteps).toContain("sources");
|
|
1125
1131
|
globalExpect(completedSteps).not.toContain("agents");
|