aiwcli 0.12.3 → 0.12.7
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/bin/dev.cmd +3 -3
- package/bin/dev.js +16 -16
- package/bin/run.cmd +3 -3
- package/bin/run.js +21 -21
- package/dist/commands/branch.js +7 -2
- package/dist/lib/bmad-installer.js +37 -37
- package/dist/lib/terminal.d.ts +2 -0
- package/dist/lib/terminal.js +57 -7
- package/dist/templates/CLAUDE.md +205 -205
- package/dist/templates/_shared/.claude/commands/handoff-resume.md +12 -64
- package/dist/templates/_shared/.claude/commands/handoff.md +12 -198
- package/dist/templates/_shared/.claude/settings.json +65 -65
- package/dist/templates/_shared/.codex/workflows/handoff.md +226 -226
- package/dist/templates/_shared/.windsurf/workflows/handoff.md +226 -226
- package/dist/templates/_shared/handoff-system/CLAUDE.md +421 -0
- package/dist/templates/_shared/{lib-ts/handoff → handoff-system/lib}/document-generator.ts +215 -216
- package/dist/templates/_shared/{lib-ts/handoff → handoff-system/lib}/handoff-reader.ts +157 -158
- package/dist/templates/_shared/{scripts → handoff-system/scripts}/resume_handoff.ts +373 -373
- package/dist/templates/_shared/{scripts → handoff-system/scripts}/save_handoff.ts +469 -358
- package/dist/templates/_shared/handoff-system/workflows/handoff-resume.md +66 -0
- package/dist/templates/_shared/{workflows → handoff-system/workflows}/handoff.md +254 -254
- package/dist/templates/_shared/hooks-ts/_utils/git-state.ts +2 -2
- package/dist/templates/_shared/hooks-ts/archive_plan.ts +159 -159
- package/dist/templates/_shared/hooks-ts/context_monitor.ts +147 -147
- package/dist/templates/_shared/hooks-ts/file-suggestion.ts +128 -128
- package/dist/templates/_shared/hooks-ts/pre_compact.ts +49 -49
- package/dist/templates/_shared/hooks-ts/session_end.ts +196 -183
- package/dist/templates/_shared/hooks-ts/session_start.ts +163 -151
- package/dist/templates/_shared/hooks-ts/task_create_capture.ts +48 -48
- package/dist/templates/_shared/hooks-ts/task_update_capture.ts +74 -74
- package/dist/templates/_shared/hooks-ts/user_prompt_submit.ts +93 -93
- package/dist/templates/_shared/lib-ts/CLAUDE.md +367 -367
- package/dist/templates/_shared/lib-ts/base/atomic-write.ts +138 -138
- package/dist/templates/_shared/lib-ts/base/constants.ts +303 -303
- package/dist/templates/_shared/lib-ts/base/git-state.ts +58 -58
- package/dist/templates/_shared/lib-ts/base/hook-utils.ts +582 -582
- package/dist/templates/_shared/lib-ts/base/inference.ts +301 -301
- package/dist/templates/_shared/lib-ts/base/logger.ts +247 -247
- package/dist/templates/_shared/lib-ts/base/state-io.ts +202 -130
- package/dist/templates/_shared/lib-ts/base/stop-words.ts +184 -184
- package/dist/templates/_shared/lib-ts/base/subprocess-utils.ts +56 -0
- package/dist/templates/_shared/lib-ts/base/utils.ts +184 -184
- package/dist/templates/_shared/lib-ts/context/context-formatter.ts +566 -560
- package/dist/templates/_shared/lib-ts/context/context-selector.ts +524 -515
- package/dist/templates/_shared/lib-ts/context/context-store.ts +712 -668
- package/dist/templates/_shared/lib-ts/context/plan-manager.ts +312 -312
- package/dist/templates/_shared/lib-ts/context/task-tracker.ts +185 -185
- package/dist/templates/_shared/lib-ts/package.json +20 -20
- package/dist/templates/_shared/lib-ts/templates/formatters.ts +102 -102
- package/dist/templates/_shared/lib-ts/templates/plan-context.ts +58 -58
- package/dist/templates/_shared/lib-ts/tsconfig.json +13 -13
- package/dist/templates/_shared/lib-ts/types.ts +186 -180
- package/dist/templates/_shared/scripts/resolve_context.ts +33 -33
- package/dist/templates/_shared/scripts/status_line.ts +690 -690
- package/dist/templates/cc-native/.claude/commands/{rlm → cc-native/rlm}/ask.md +136 -136
- package/dist/templates/cc-native/.claude/commands/{rlm → cc-native/rlm}/index.md +21 -21
- package/dist/templates/cc-native/.claude/commands/{rlm → cc-native/rlm}/overview.md +56 -56
- package/dist/templates/cc-native/.claude/commands/cc-native/specdev.md +10 -10
- package/dist/templates/cc-native/.windsurf/workflows/cc-native/fix.md +8 -8
- package/dist/templates/cc-native/.windsurf/workflows/cc-native/implement.md +8 -8
- package/dist/templates/cc-native/.windsurf/workflows/cc-native/research.md +8 -8
- package/dist/templates/cc-native/CC-NATIVE-README.md +189 -189
- package/dist/templates/cc-native/TEMPLATE-SCHEMA.md +304 -304
- package/dist/templates/cc-native/_cc-native/agents/CLAUDE.md +143 -143
- package/dist/templates/cc-native/_cc-native/agents/PLAN-ORCHESTRATOR.md +213 -213
- package/dist/templates/cc-native/_cc-native/agents/plan-questions/PLAN-QUESTIONER.md +70 -70
- package/dist/templates/cc-native/_cc-native/cc-native.config.json +96 -96
- package/dist/templates/cc-native/_cc-native/hooks/CLAUDE.md +247 -247
- package/dist/templates/cc-native/_cc-native/hooks/cc-native-plan-review.ts +76 -76
- package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_subagent.ts +54 -54
- package/dist/templates/cc-native/_cc-native/hooks/enhance_plan_post_write.ts +51 -51
- package/dist/templates/cc-native/_cc-native/hooks/mark_questions_asked.ts +53 -53
- package/dist/templates/cc-native/_cc-native/hooks/plan_questions_early.ts +61 -61
- package/dist/templates/cc-native/_cc-native/lib-ts/agent-selection.ts +163 -163
- package/dist/templates/cc-native/_cc-native/lib-ts/aggregate-agents.ts +156 -156
- package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/format.ts +597 -597
- package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/index.ts +26 -26
- package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/tracker.ts +107 -107
- package/dist/templates/cc-native/_cc-native/lib-ts/artifacts/write.ts +119 -119
- package/dist/templates/cc-native/_cc-native/lib-ts/artifacts.ts +21 -21
- package/dist/templates/cc-native/_cc-native/lib-ts/cc-native-state.ts +319 -319
- package/dist/templates/cc-native/_cc-native/lib-ts/cli-output-parser.ts +144 -144
- package/dist/templates/cc-native/_cc-native/lib-ts/config.ts +57 -57
- package/dist/templates/cc-native/_cc-native/lib-ts/constants.ts +83 -83
- package/dist/templates/cc-native/_cc-native/lib-ts/corroboration.ts +119 -119
- package/dist/templates/cc-native/_cc-native/lib-ts/debug.ts +79 -79
- package/dist/templates/cc-native/_cc-native/lib-ts/graduation.ts +132 -132
- package/dist/templates/cc-native/_cc-native/lib-ts/index.ts +116 -116
- package/dist/templates/cc-native/_cc-native/lib-ts/json-parser.ts +168 -168
- package/dist/templates/cc-native/_cc-native/lib-ts/orchestrator.ts +70 -70
- package/dist/templates/cc-native/_cc-native/lib-ts/output-builder.ts +130 -130
- package/dist/templates/cc-native/_cc-native/lib-ts/plan-discovery.ts +80 -80
- package/dist/templates/cc-native/_cc-native/lib-ts/plan-enhancement.ts +41 -41
- package/dist/templates/cc-native/_cc-native/lib-ts/plan-questions.ts +101 -101
- package/dist/templates/cc-native/_cc-native/lib-ts/review-pipeline.ts +511 -511
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/agent.ts +71 -71
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/base/base-agent.ts +217 -217
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/index.ts +12 -12
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/claude-agent.ts +66 -65
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/codex-agent.ts +184 -184
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/gemini-agent.ts +39 -39
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/providers/orchestrator-claude-agent.ts +196 -195
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/schemas.ts +201 -201
- package/dist/templates/cc-native/_cc-native/lib-ts/reviewers/types.ts +21 -21
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/CLAUDE.md +480 -480
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/embedding-indexer.ts +287 -287
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/hyde.ts +148 -148
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/index.ts +54 -54
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/logger.ts +58 -58
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/ollama-client.ts +208 -208
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/retrieval-pipeline.ts +460 -460
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-indexer.ts +446 -447
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-loader.ts +280 -280
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/transcript-searcher.ts +274 -274
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/types.ts +201 -201
- package/dist/templates/cc-native/_cc-native/lib-ts/rlm/vector-store.ts +278 -278
- package/dist/templates/cc-native/_cc-native/lib-ts/settings.ts +184 -184
- package/dist/templates/cc-native/_cc-native/lib-ts/state.ts +275 -275
- package/dist/templates/cc-native/_cc-native/lib-ts/tsconfig.json +18 -18
- package/dist/templates/cc-native/_cc-native/lib-ts/types.ts +329 -329
- package/dist/templates/cc-native/_cc-native/lib-ts/verdict.ts +72 -72
- package/dist/templates/cc-native/_cc-native/workflows/specdev.md +9 -9
- package/oclif.manifest.json +1 -1
- package/package.json +108 -108
- package/dist/templates/cc-native/_cc-native/lib-ts/nul +0 -3
package/dist/templates/CLAUDE.md
CHANGED
|
@@ -1,205 +1,205 @@
|
|
|
1
|
-
# Template Development Guidelines
|
|
2
|
-
|
|
3
|
-
## Output Directory
|
|
4
|
-
|
|
5
|
-
Write all method outputs to `_output/{method}/`:
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
_output/
|
|
9
|
-
├── gsd/.planning/ # GSD planning artifacts
|
|
10
|
-
├── bmad/docs/ # BMAD documentation
|
|
11
|
-
└── {method}/{subdir}/ # Other method outputs
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Include `_output/{method}/` in template `.gitignore`.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Directory Structure
|
|
19
|
-
|
|
20
|
-
Each template installs into `.aiwcli/` (method files) and `.{ide}/` (IDE integration). The `_shared/` template provides cross-method infrastructure used by all methods.
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
packages/cli/src/templates/
|
|
24
|
-
├── _shared/ # Cross-method infrastructure (installed by all methods)
|
|
25
|
-
│ ├── hooks-ts/ # Shared TypeScript hook scripts (context, tasks, sessions)
|
|
26
|
-
│ └── lib-ts/ # Shared TypeScript libraries
|
|
27
|
-
│ ├── base/ # Core: atomic-write, constants, inference, utils
|
|
28
|
-
│ ├── context/ # Context CRUD, selection, formatting, plans, tasks
|
|
29
|
-
│ ├── handoff/ # Session handoff document generation
|
|
30
|
-
│ └── templates/ # Output formatters, plan context templates
|
|
31
|
-
│
|
|
32
|
-
├── cc-native/ # CC-Native method template
|
|
33
|
-
│ ├── _cc-native/ # Method-specific hooks, lib, agents, workflows, scripts
|
|
34
|
-
│ ├── .claude/ # Claude Code: settings.json, commands/, agents/
|
|
35
|
-
│ ├── .windsurf/ # Windsurf: workflows/
|
|
36
|
-
│ └── .gitignore
|
|
37
|
-
│
|
|
38
|
-
├── gsd/ # GSD method template
|
|
39
|
-
│ ├── .aiwcli/_gsd/ # Templates, workflows, hooks, config, docs
|
|
40
|
-
│ ├── .claude/ # Claude Code: settings.json, commands/, agents/
|
|
41
|
-
│ ├── .windsurf/ # Windsurf: workflows/
|
|
42
|
-
│ ├── GSD-README.md
|
|
43
|
-
│ ├── TEMPLATE-SCHEMA.md
|
|
44
|
-
│ └── MIGRATION.md
|
|
45
|
-
│
|
|
46
|
-
├── bmad/ # BMAD method template
|
|
47
|
-
│ ├── .aiwcli/_bmad/ # Agents, workflows, teams, testarch, config
|
|
48
|
-
│ ├── .claude/ # Claude Code: settings.json, commands/
|
|
49
|
-
│ └── ...
|
|
50
|
-
│
|
|
51
|
-
├── planning-with-files/ # Planning-with-Files method template
|
|
52
|
-
│ ├── .claude/ # Claude Code: settings.json, skills/
|
|
53
|
-
│ ├── .windsurf/ # Windsurf: workflows/, scripts/
|
|
54
|
-
│ └── ...
|
|
55
|
-
│
|
|
56
|
-
└── CLAUDE.md # This file
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Tier Details
|
|
60
|
-
|
|
61
|
-
| Tier | Location | Purpose |
|
|
62
|
-
|------|----------|---------|
|
|
63
|
-
| Shared | `_shared/` | Cross-method hooks and libraries (context management, task tracking, sessions) |
|
|
64
|
-
| Method | `_{method}/` or `.aiwcli/_{method}/` | Method-specific templates, workflows, hooks, config |
|
|
65
|
-
| IDE | `.{ide}/` | IDE-specific command stubs, settings, workflow definitions |
|
|
66
|
-
| Config | `.{ide}/settings.json` | Hooks, model prefs, method settings (merged on install) |
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Settings Merge Rules
|
|
71
|
-
|
|
72
|
-
When multiple templates install, settings.json files merge:
|
|
73
|
-
|
|
74
|
-
**Hook merging** - Hooks combine by lifecycle event
|
|
75
|
-
**Method namespacing** - Use method name as top-level key: `"gsd": { ... }`
|
|
76
|
-
|
|
77
|
-
```json
|
|
78
|
-
{
|
|
79
|
-
"gsd": { "planReview": { "enabled": true } },
|
|
80
|
-
"bmad": { "agents": { "defaultModel": "claude-3-opus" } }
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Hooks
|
|
87
|
-
|
|
88
|
-
**Location:** Hooks live in `.aiwcli/_shared/hooks-ts/` (cross-method, TypeScript) and `.aiwcli/_{method}/hooks/` (method-specific). They are configured in `.{ide}/settings.json`, not placed in IDE directories.
|
|
89
|
-
|
|
90
|
-
**Configuration:**
|
|
91
|
-
```json
|
|
92
|
-
{
|
|
93
|
-
"hooks": {
|
|
94
|
-
"PostToolUse": [{
|
|
95
|
-
"matcher": "Write",
|
|
96
|
-
"hooks": [{ "type": "command", "command": "bun run .aiwcli/_cc-native/hooks/cc-native-plan-review.ts", "timeout": 300000 }]
|
|
97
|
-
}]
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**Requirements:**
|
|
103
|
-
- Prefix method-specific hooks with method name (e.g., `cc-native-plan-review.ts`)
|
|
104
|
-
- Use relative paths from project root
|
|
105
|
-
- Write outputs to `_output/{method}/`
|
|
106
|
-
- Specify timeouts
|
|
107
|
-
- Set `blockOnFail: false` unless critical
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Workflow Pattern
|
|
112
|
-
|
|
113
|
-
### Canonical Workflow (`_{method}/workflows/`)
|
|
114
|
-
|
|
115
|
-
```markdown
|
|
116
|
-
# {Method} Workflow: {Name}
|
|
117
|
-
|
|
118
|
-
## Purpose
|
|
119
|
-
Brief description.
|
|
120
|
-
|
|
121
|
-
## Process
|
|
122
|
-
### Step 1: {Name}
|
|
123
|
-
Instructions.
|
|
124
|
-
|
|
125
|
-
## Output Files
|
|
126
|
-
All in `_output/{method}/{subdir}/`:
|
|
127
|
-
- `FILE.md` - Description
|
|
128
|
-
|
|
129
|
-
## Success Criteria
|
|
130
|
-
- [ ] Criterion 1
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### IDE Stub (`.{ide}/{folder}/{method}/`)
|
|
134
|
-
|
|
135
|
-
```markdown
|
|
136
|
-
---
|
|
137
|
-
description: One-line for command palette
|
|
138
|
-
---
|
|
139
|
-
# {Workflow Name}
|
|
140
|
-
Load and execute `_{method}/workflows/{name}.md`.
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Reference Patterns
|
|
146
|
-
|
|
147
|
-
| Reference Type | Pattern |
|
|
148
|
-
|----------------|---------|
|
|
149
|
-
| Templates | `_{method}/templates/FILE.md.template` |
|
|
150
|
-
| Workflows (Claude) | `/gsd:workflow-name` (maps to `.claude/commands/gsd/workflow-name.md`) |
|
|
151
|
-
| Workflows (Windsurf) | `workflow-name` from method workflows |
|
|
152
|
-
| Outputs | `_output/{method}/{subdir}/FILE.md` |
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Naming Conventions
|
|
157
|
-
|
|
158
|
-
| Element | Convention | Example |
|
|
159
|
-
|---------|------------|---------|
|
|
160
|
-
| Method folder | `_{lowercase}` | `_gsd` |
|
|
161
|
-
| Template file | `UPPERCASE.md.template` | `PROJECT.md.template` |
|
|
162
|
-
| Workflow file | `kebab-case.md` | `new-project.md` |
|
|
163
|
-
| Output file | `UPPERCASE.md` | `PROJECT.md` |
|
|
164
|
-
| Hook file | `{method}-{name}.{ext}` | `gsd-plan-review.ts` |
|
|
165
|
-
| Settings key | `{method}` | `"gsd": {}` |
|
|
166
|
-
| Readme | `{METHOD}-README.md` | `GSD-README.md` |
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## Checklists
|
|
171
|
-
|
|
172
|
-
**New Template:**
|
|
173
|
-
- [ ] Create `_{method}/` with `templates/` and `workflows/`
|
|
174
|
-
- [ ] Create `.claude/commands/{method}/` stubs (Claude Code)
|
|
175
|
-
- [ ] Create `.windsurf/workflows/{method}/` stubs (Windsurf)
|
|
176
|
-
- [ ] Add `.gitignore` with `_output/{method}/`
|
|
177
|
-
- [ ] Create `{METHOD}-README.md`, `TEMPLATE-SCHEMA.md`, `MIGRATION.md`
|
|
178
|
-
- [ ] Configure method-namespaced settings in `.claude/settings.json`
|
|
179
|
-
|
|
180
|
-
**New Workflow:**
|
|
181
|
-
- [ ] Create canonical in `_{method}/workflows/{name}.md`
|
|
182
|
-
- [ ] Create stubs in `.claude/commands/{method}/` and `.windsurf/workflows/{method}/`
|
|
183
|
-
- [ ] Update README and TEMPLATE-SCHEMA.md
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## Practices
|
|
188
|
-
|
|
189
|
-
**Do:**
|
|
190
|
-
- Write outputs to `_output/{method}/`
|
|
191
|
-
- Namespace settings under method key
|
|
192
|
-
- Prefix hooks with method name
|
|
193
|
-
- Keep canonical workflows in `_{method}/workflows/`
|
|
194
|
-
- Use relative paths from project root
|
|
195
|
-
- Document changes in TEMPLATE-SCHEMA.md
|
|
196
|
-
- Place hooks in `.aiwcli/` directories, wire them in `.{ide}/settings.json`
|
|
197
|
-
|
|
198
|
-
**Avoid:**
|
|
199
|
-
- Outputs in project root
|
|
200
|
-
- Generic settings keys that conflict
|
|
201
|
-
- Hooks without method prefix
|
|
202
|
-
- Full workflows in IDE command files
|
|
203
|
-
- Hardcoded paths without method namespace
|
|
204
|
-
- Putting hook scripts directly in IDE directories (`.claude/hooks/`)
|
|
205
|
-
- Creating `_shared/` directories inside method templates (e.g., `cc-native/_shared/`). All shared code lives in `packages/cli/src/templates/_shared/`. Method templates reference shared code via imports at runtime, not by copying.
|
|
1
|
+
# Template Development Guidelines
|
|
2
|
+
|
|
3
|
+
## Output Directory
|
|
4
|
+
|
|
5
|
+
Write all method outputs to `_output/{method}/`:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
_output/
|
|
9
|
+
├── gsd/.planning/ # GSD planning artifacts
|
|
10
|
+
├── bmad/docs/ # BMAD documentation
|
|
11
|
+
└── {method}/{subdir}/ # Other method outputs
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Include `_output/{method}/` in template `.gitignore`.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Directory Structure
|
|
19
|
+
|
|
20
|
+
Each template installs into `.aiwcli/` (method files) and `.{ide}/` (IDE integration). The `_shared/` template provides cross-method infrastructure used by all methods.
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
packages/cli/src/templates/
|
|
24
|
+
├── _shared/ # Cross-method infrastructure (installed by all methods)
|
|
25
|
+
│ ├── hooks-ts/ # Shared TypeScript hook scripts (context, tasks, sessions)
|
|
26
|
+
│ └── lib-ts/ # Shared TypeScript libraries
|
|
27
|
+
│ ├── base/ # Core: atomic-write, constants, inference, utils
|
|
28
|
+
│ ├── context/ # Context CRUD, selection, formatting, plans, tasks
|
|
29
|
+
│ ├── handoff/ # Session handoff document generation
|
|
30
|
+
│ └── templates/ # Output formatters, plan context templates
|
|
31
|
+
│
|
|
32
|
+
├── cc-native/ # CC-Native method template
|
|
33
|
+
│ ├── _cc-native/ # Method-specific hooks, lib, agents, workflows, scripts
|
|
34
|
+
│ ├── .claude/ # Claude Code: settings.json, commands/, agents/
|
|
35
|
+
│ ├── .windsurf/ # Windsurf: workflows/
|
|
36
|
+
│ └── .gitignore
|
|
37
|
+
│
|
|
38
|
+
├── gsd/ # GSD method template
|
|
39
|
+
│ ├── .aiwcli/_gsd/ # Templates, workflows, hooks, config, docs
|
|
40
|
+
│ ├── .claude/ # Claude Code: settings.json, commands/, agents/
|
|
41
|
+
│ ├── .windsurf/ # Windsurf: workflows/
|
|
42
|
+
│ ├── GSD-README.md
|
|
43
|
+
│ ├── TEMPLATE-SCHEMA.md
|
|
44
|
+
│ └── MIGRATION.md
|
|
45
|
+
│
|
|
46
|
+
├── bmad/ # BMAD method template
|
|
47
|
+
│ ├── .aiwcli/_bmad/ # Agents, workflows, teams, testarch, config
|
|
48
|
+
│ ├── .claude/ # Claude Code: settings.json, commands/
|
|
49
|
+
│ └── ...
|
|
50
|
+
│
|
|
51
|
+
├── planning-with-files/ # Planning-with-Files method template
|
|
52
|
+
│ ├── .claude/ # Claude Code: settings.json, skills/
|
|
53
|
+
│ ├── .windsurf/ # Windsurf: workflows/, scripts/
|
|
54
|
+
│ └── ...
|
|
55
|
+
│
|
|
56
|
+
└── CLAUDE.md # This file
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Tier Details
|
|
60
|
+
|
|
61
|
+
| Tier | Location | Purpose |
|
|
62
|
+
|------|----------|---------|
|
|
63
|
+
| Shared | `_shared/` | Cross-method hooks and libraries (context management, task tracking, sessions) |
|
|
64
|
+
| Method | `_{method}/` or `.aiwcli/_{method}/` | Method-specific templates, workflows, hooks, config |
|
|
65
|
+
| IDE | `.{ide}/` | IDE-specific command stubs, settings, workflow definitions |
|
|
66
|
+
| Config | `.{ide}/settings.json` | Hooks, model prefs, method settings (merged on install) |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Settings Merge Rules
|
|
71
|
+
|
|
72
|
+
When multiple templates install, settings.json files merge:
|
|
73
|
+
|
|
74
|
+
**Hook merging** - Hooks combine by lifecycle event
|
|
75
|
+
**Method namespacing** - Use method name as top-level key: `"gsd": { ... }`
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"gsd": { "planReview": { "enabled": true } },
|
|
80
|
+
"bmad": { "agents": { "defaultModel": "claude-3-opus" } }
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Hooks
|
|
87
|
+
|
|
88
|
+
**Location:** Hooks live in `.aiwcli/_shared/hooks-ts/` (cross-method, TypeScript) and `.aiwcli/_{method}/hooks/` (method-specific). They are configured in `.{ide}/settings.json`, not placed in IDE directories.
|
|
89
|
+
|
|
90
|
+
**Configuration:**
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"hooks": {
|
|
94
|
+
"PostToolUse": [{
|
|
95
|
+
"matcher": "Write",
|
|
96
|
+
"hooks": [{ "type": "command", "command": "bun run .aiwcli/_cc-native/hooks/cc-native-plan-review.ts", "timeout": 300000 }]
|
|
97
|
+
}]
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Requirements:**
|
|
103
|
+
- Prefix method-specific hooks with method name (e.g., `cc-native-plan-review.ts`)
|
|
104
|
+
- Use relative paths from project root
|
|
105
|
+
- Write outputs to `_output/{method}/`
|
|
106
|
+
- Specify timeouts
|
|
107
|
+
- Set `blockOnFail: false` unless critical
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Workflow Pattern
|
|
112
|
+
|
|
113
|
+
### Canonical Workflow (`_{method}/workflows/`)
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
# {Method} Workflow: {Name}
|
|
117
|
+
|
|
118
|
+
## Purpose
|
|
119
|
+
Brief description.
|
|
120
|
+
|
|
121
|
+
## Process
|
|
122
|
+
### Step 1: {Name}
|
|
123
|
+
Instructions.
|
|
124
|
+
|
|
125
|
+
## Output Files
|
|
126
|
+
All in `_output/{method}/{subdir}/`:
|
|
127
|
+
- `FILE.md` - Description
|
|
128
|
+
|
|
129
|
+
## Success Criteria
|
|
130
|
+
- [ ] Criterion 1
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### IDE Stub (`.{ide}/{folder}/{method}/`)
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
---
|
|
137
|
+
description: One-line for command palette
|
|
138
|
+
---
|
|
139
|
+
# {Workflow Name}
|
|
140
|
+
Load and execute `_{method}/workflows/{name}.md`.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Reference Patterns
|
|
146
|
+
|
|
147
|
+
| Reference Type | Pattern |
|
|
148
|
+
|----------------|---------|
|
|
149
|
+
| Templates | `_{method}/templates/FILE.md.template` |
|
|
150
|
+
| Workflows (Claude) | `/gsd:workflow-name` (maps to `.claude/commands/gsd/workflow-name.md`) |
|
|
151
|
+
| Workflows (Windsurf) | `workflow-name` from method workflows |
|
|
152
|
+
| Outputs | `_output/{method}/{subdir}/FILE.md` |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Naming Conventions
|
|
157
|
+
|
|
158
|
+
| Element | Convention | Example |
|
|
159
|
+
|---------|------------|---------|
|
|
160
|
+
| Method folder | `_{lowercase}` | `_gsd` |
|
|
161
|
+
| Template file | `UPPERCASE.md.template` | `PROJECT.md.template` |
|
|
162
|
+
| Workflow file | `kebab-case.md` | `new-project.md` |
|
|
163
|
+
| Output file | `UPPERCASE.md` | `PROJECT.md` |
|
|
164
|
+
| Hook file | `{method}-{name}.{ext}` | `gsd-plan-review.ts` |
|
|
165
|
+
| Settings key | `{method}` | `"gsd": {}` |
|
|
166
|
+
| Readme | `{METHOD}-README.md` | `GSD-README.md` |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Checklists
|
|
171
|
+
|
|
172
|
+
**New Template:**
|
|
173
|
+
- [ ] Create `_{method}/` with `templates/` and `workflows/`
|
|
174
|
+
- [ ] Create `.claude/commands/{method}/` stubs (Claude Code)
|
|
175
|
+
- [ ] Create `.windsurf/workflows/{method}/` stubs (Windsurf)
|
|
176
|
+
- [ ] Add `.gitignore` with `_output/{method}/`
|
|
177
|
+
- [ ] Create `{METHOD}-README.md`, `TEMPLATE-SCHEMA.md`, `MIGRATION.md`
|
|
178
|
+
- [ ] Configure method-namespaced settings in `.claude/settings.json`
|
|
179
|
+
|
|
180
|
+
**New Workflow:**
|
|
181
|
+
- [ ] Create canonical in `_{method}/workflows/{name}.md`
|
|
182
|
+
- [ ] Create stubs in `.claude/commands/{method}/` and `.windsurf/workflows/{method}/`
|
|
183
|
+
- [ ] Update README and TEMPLATE-SCHEMA.md
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Practices
|
|
188
|
+
|
|
189
|
+
**Do:**
|
|
190
|
+
- Write outputs to `_output/{method}/`
|
|
191
|
+
- Namespace settings under method key
|
|
192
|
+
- Prefix hooks with method name
|
|
193
|
+
- Keep canonical workflows in `_{method}/workflows/`
|
|
194
|
+
- Use relative paths from project root
|
|
195
|
+
- Document changes in TEMPLATE-SCHEMA.md
|
|
196
|
+
- Place hooks in `.aiwcli/` directories, wire them in `.{ide}/settings.json`
|
|
197
|
+
|
|
198
|
+
**Avoid:**
|
|
199
|
+
- Outputs in project root
|
|
200
|
+
- Generic settings keys that conflict
|
|
201
|
+
- Hooks without method prefix
|
|
202
|
+
- Full workflows in IDE command files
|
|
203
|
+
- Hardcoded paths without method namespace
|
|
204
|
+
- Putting hook scripts directly in IDE directories (`.claude/hooks/`)
|
|
205
|
+
- Creating `_shared/` directories inside method templates (e.g., `cc-native/_shared/`). All shared code lives in `packages/cli/src/templates/_shared/`. Method templates reference shared code via imports at runtime, not by copying.
|
|
@@ -1,64 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Run the resume script to collect and format all handoff sections:
|
|
14
|
-
|
|
15
|
-
**If `$ARGUMENTS` is provided:**
|
|
16
|
-
```bash
|
|
17
|
-
bun .aiwcli/_shared/scripts/resume_handoff.ts "$ARGUMENTS"
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**If `$ARGUMENTS` is empty:**
|
|
21
|
-
The script auto-discovers the active context ID programmatically — no manual lookup needed:
|
|
22
|
-
```bash
|
|
23
|
-
bun .aiwcli/_shared/scripts/resume_handoff.ts
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Present the script's output to the conversation. The output is already structured in priority order (dead ends first, then pending items, decisions, git delta, completed work, context notes).
|
|
27
|
-
|
|
28
|
-
If the script exits with an error, show the error message and stop.
|
|
29
|
-
|
|
30
|
-
### Step 2: Create ISC Tasks
|
|
31
|
-
|
|
32
|
-
Convert each actionable item from the script output into a task via `TaskCreate`:
|
|
33
|
-
- Each pending issue from the **Pending Items** section
|
|
34
|
-
- Each remaining plan item from the **Plan — Remaining Items** section
|
|
35
|
-
|
|
36
|
-
Each task follows ISC format — ~8 words, states a desired end-state (not an action), and is binary testable in 2 seconds.
|
|
37
|
-
|
|
38
|
-
**Example:**
|
|
39
|
-
|
|
40
|
-
| Source | ISC Task |
|
|
41
|
-
|--------|----------|
|
|
42
|
-
| Pending: "Fix race condition in SessionStore" | "SessionStore handles concurrent access without race conditions" |
|
|
43
|
-
| Plan remaining: "Add retry logic to API client" | "API client retries failed requests with exponential backoff" |
|
|
44
|
-
| Next step: "Write tests for auth flow" | "Auth flow has passing integration test coverage" |
|
|
45
|
-
|
|
46
|
-
### Step 3: Confirm Ready
|
|
47
|
-
|
|
48
|
-
After creating tasks, run `TaskList` and confirm ready to continue.
|
|
49
|
-
|
|
50
|
-
## Constraints
|
|
51
|
-
|
|
52
|
-
- Dead ends are presented verbatim from the script output — never summarize or omit entries
|
|
53
|
-
- ISC tasks use ~8-word end-state format, not action descriptions
|
|
54
|
-
- Skip missing files gracefully (the script handles this)
|
|
55
|
-
- If the script warns about staleness (>7 days), surface the warning prominently
|
|
56
|
-
|
|
57
|
-
## Success Criteria
|
|
58
|
-
|
|
59
|
-
- [ ] Script ran successfully and output the structured briefing
|
|
60
|
-
- [ ] Dead ends visible in conversation (not summarized)
|
|
61
|
-
- [ ] Pending items converted to ISC tasks via TaskCreate
|
|
62
|
-
- [ ] Plan completion percentage visible (if plan exists)
|
|
63
|
-
- [ ] Git delta visible
|
|
64
|
-
- [ ] Tasks confirmed via TaskList
|
|
1
|
+
---
|
|
2
|
+
name: handoff-resume
|
|
3
|
+
description: Resume handoff
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Resume Handoff
|
|
7
|
+
|
|
8
|
+
Restore context from a handoff document and create ISC tasks. See `.aiwcli/_shared/handoff-system/workflows/handoff-resume.md` for complete process documentation.
|
|
9
|
+
|
|
10
|
+
**Quick trigger:** `/handoff-resume` or `/handoff-resume path/to/handoff`
|
|
11
|
+
|
|
12
|
+
The workflow uses the resume script to load handoff sections and convert pending items to tasks.
|