@gannonh/kata 0.1.5 → 0.1.6
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/install.js +23 -6
- package/kata/references/planning-config.md +112 -20
- package/package.json +1 -1
- package/skills/kata-completing-milestones/SKILL.md +53 -4
- package/skills/kata-configuring-settings/SKILL.md +65 -25
- package/skills/kata-discussing-phases/SKILL.md +2 -2
- package/skills/kata-executing-phases/SKILL.md +3 -3
- package/skills/kata-listing-phase-assumptions/SKILL.md +1 -1
- package/skills/kata-mapping-codebases/SKILL.md +1 -1
- package/skills/kata-planning-phases/SKILL.md +1 -1
- package/skills/kata-providing-help/SKILL.md +2 -2
- package/skills/kata-resuming-work/SKILL.md +2 -2
- package/skills/kata-showing-whats-new/SKILL.md +7 -7
- package/skills/kata-starting-milestones/SKILL.md +9 -9
- package/skills/kata-starting-projects/SKILL.md +142 -11
- package/skills/kata-updating/SKILL.md +7 -7
- package/skills/kata-verifying-work/SKILL.md +2 -2
package/bin/install.js
CHANGED
|
@@ -410,17 +410,34 @@ function install(isGlobal) {
|
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
412
|
|
|
413
|
-
// Copy hooks
|
|
413
|
+
// Copy hooks (recursively to handle subdirectories like dist/)
|
|
414
414
|
const hooksSrc = path.join(src, 'hooks');
|
|
415
415
|
if (fs.existsSync(hooksSrc)) {
|
|
416
416
|
const hooksDest = path.join(claudeDir, 'hooks');
|
|
417
|
+
// Clean install: remove existing to prevent orphaned files
|
|
418
|
+
if (fs.existsSync(hooksDest)) {
|
|
419
|
+
fs.rmSync(hooksDest, { recursive: true });
|
|
420
|
+
}
|
|
417
421
|
fs.mkdirSync(hooksDest, { recursive: true });
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
const
|
|
421
|
-
const
|
|
422
|
-
|
|
422
|
+
|
|
423
|
+
function copyHooksRecursive(srcDir, destDir) {
|
|
424
|
+
const entries = fs.readdirSync(srcDir, { withFileTypes: true });
|
|
425
|
+
for (const entry of entries) {
|
|
426
|
+
// Skip dist/ directory - it's for npm publishing only
|
|
427
|
+
if (entry.name === 'dist') continue;
|
|
428
|
+
|
|
429
|
+
const srcPath = path.join(srcDir, entry.name);
|
|
430
|
+
const destPath = path.join(destDir, entry.name);
|
|
431
|
+
if (entry.isDirectory()) {
|
|
432
|
+
fs.mkdirSync(destPath, { recursive: true });
|
|
433
|
+
copyHooksRecursive(srcPath, destPath);
|
|
434
|
+
} else {
|
|
435
|
+
fs.copyFileSync(srcPath, destPath);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
423
438
|
}
|
|
439
|
+
|
|
440
|
+
copyHooksRecursive(hooksSrc, hooksDest);
|
|
424
441
|
if (verifyInstalled(hooksDest, 'hooks')) {
|
|
425
442
|
console.log(` ${green}✓${reset} Installed hooks`);
|
|
426
443
|
} else {
|
|
@@ -1,21 +1,58 @@
|
|
|
1
1
|
<planning_config>
|
|
2
2
|
|
|
3
|
-
Configuration options for `.planning
|
|
3
|
+
Configuration options for Kata projects in `.planning/config.json`.
|
|
4
4
|
|
|
5
5
|
<config_schema>
|
|
6
|
+
|
|
7
|
+
**Full schema:**
|
|
8
|
+
|
|
6
9
|
```json
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
+
{
|
|
11
|
+
"mode": "yolo|interactive",
|
|
12
|
+
"depth": "quick|standard|comprehensive",
|
|
13
|
+
"parallelization": true|false,
|
|
14
|
+
"model_profile": "quality|balanced|budget",
|
|
15
|
+
"commit_docs": true|false,
|
|
16
|
+
"pr_workflow": true|false,
|
|
17
|
+
"workflow": {
|
|
18
|
+
"research": true|false,
|
|
19
|
+
"plan_check": true|false,
|
|
20
|
+
"verifier": true|false
|
|
21
|
+
}
|
|
10
22
|
}
|
|
11
23
|
```
|
|
12
24
|
|
|
13
25
|
| Option | Default | Description |
|
|
14
26
|
|--------|---------|-------------|
|
|
27
|
+
| `mode` | `yolo` | `yolo` = auto-approve, `interactive` = confirm at each step |
|
|
28
|
+
| `depth` | `standard` | `quick` (3-5 phases), `standard` (5-8), `comprehensive` (8-12) |
|
|
29
|
+
| `parallelization` | `true` | Run independent plans simultaneously |
|
|
30
|
+
| `model_profile` | `balanced` | Which AI models for agents (see model-profiles.md) |
|
|
15
31
|
| `commit_docs` | `true` | Whether to commit planning artifacts to git |
|
|
16
|
-
| `
|
|
32
|
+
| `pr_workflow` | `false` | Use PR-based release workflow vs direct commits |
|
|
33
|
+
| `workflow.research` | `true` | Spawn researcher before planning each phase |
|
|
34
|
+
| `workflow.plan_check` | `true` | Verify plans achieve phase goals before execution |
|
|
35
|
+
| `workflow.verifier` | `true` | Confirm deliverables after phase execution |
|
|
36
|
+
|
|
17
37
|
</config_schema>
|
|
18
38
|
|
|
39
|
+
<reading_config>
|
|
40
|
+
|
|
41
|
+
**Standard pattern for reading config values:**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Read a string value with default
|
|
45
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
46
|
+
|
|
47
|
+
# Read a boolean value with default
|
|
48
|
+
PR_WORKFLOW=$(cat .planning/config.json 2>/dev/null | grep -o '"pr_workflow"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "false")
|
|
49
|
+
|
|
50
|
+
# Read nested boolean (workflow.*)
|
|
51
|
+
RESEARCH=$(cat .planning/config.json 2>/dev/null | grep -o '"research"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
</reading_config>
|
|
55
|
+
|
|
19
56
|
<commit_docs_behavior>
|
|
20
57
|
|
|
21
58
|
**When `commit_docs: true` (default):**
|
|
@@ -38,7 +75,7 @@ COMMIT_DOCS=$(cat .planning/config.json 2>/dev/null | grep -o '"commit_docs"[[:s
|
|
|
38
75
|
git check-ignore -q .planning 2>/dev/null && COMMIT_DOCS=false
|
|
39
76
|
```
|
|
40
77
|
|
|
41
|
-
**Auto-detection:** If `.planning/` is gitignored, `commit_docs` is automatically `false` regardless of config.json. This prevents git errors
|
|
78
|
+
**Auto-detection:** If `.planning/` is gitignored, `commit_docs` is automatically `false` regardless of config.json. This prevents git errors.
|
|
42
79
|
|
|
43
80
|
**Conditional git operations:**
|
|
44
81
|
|
|
@@ -51,30 +88,73 @@ fi
|
|
|
51
88
|
|
|
52
89
|
</commit_docs_behavior>
|
|
53
90
|
|
|
54
|
-
<
|
|
91
|
+
<pr_workflow_behavior>
|
|
92
|
+
|
|
93
|
+
**When `pr_workflow: false` (default):**
|
|
94
|
+
- Commit directly to main branch
|
|
95
|
+
- Create git tags locally after milestone completion
|
|
96
|
+
- Push tags to remote when ready
|
|
97
|
+
|
|
98
|
+
**When `pr_workflow: true`:**
|
|
99
|
+
- Work on feature branches
|
|
100
|
+
- Create PRs for phase completion
|
|
101
|
+
- Create git tags via GitHub Release after merge
|
|
102
|
+
- Enables GitHub Actions for CI/CD (e.g., npm publish)
|
|
103
|
+
|
|
104
|
+
**Checking the config:**
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
PR_WORKFLOW=$(cat .planning/config.json 2>/dev/null | grep -o '"pr_workflow"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "false")
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Usage in kata-completing-milestones:**
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
if [ "$PR_WORKFLOW" = "true" ]; then
|
|
114
|
+
# Skip git tag, defer to GitHub Release
|
|
115
|
+
echo "Tag will be created via GitHub Release after merge"
|
|
116
|
+
else
|
|
117
|
+
# Create tag locally
|
|
118
|
+
git tag -a v1.0.0 -m "Release v1.0.0"
|
|
119
|
+
fi
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
</pr_workflow_behavior>
|
|
123
|
+
|
|
124
|
+
<workflow_agents>
|
|
125
|
+
|
|
126
|
+
These settings control optional agent spawning during Kata workflows:
|
|
55
127
|
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
- Broad searches skip gitignored: `rg "pattern"` skips `.planning/`
|
|
128
|
+
**`workflow.research`** — Spawn kata-phase-researcher before kata-planner
|
|
129
|
+
- Investigates domain, finds patterns, surfaces gotchas
|
|
130
|
+
- Adds tokens/time but improves plan quality
|
|
60
131
|
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
132
|
+
**`workflow.plan_check`** — Spawn kata-plan-checker after kata-planner
|
|
133
|
+
- Verifies plan actually achieves the phase goal
|
|
134
|
+
- Catches gaps before execution starts
|
|
64
135
|
|
|
65
|
-
|
|
136
|
+
**`workflow.verifier`** — Spawn kata-verifier after kata-executor
|
|
137
|
+
- Confirms must-haves were delivered
|
|
138
|
+
- Validates phase success criteria
|
|
66
139
|
|
|
67
|
-
|
|
140
|
+
**Checking workflow config:**
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
RESEARCH=$(cat .planning/config.json 2>/dev/null | grep -o '"research"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
|
|
144
|
+
PLAN_CHECK=$(cat .planning/config.json 2>/dev/null | grep -o '"plan_check"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
|
|
145
|
+
VERIFIER=$(cat .planning/config.json 2>/dev/null | grep -o '"verifier"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
</workflow_agents>
|
|
68
149
|
|
|
69
150
|
<setup_uncommitted_mode>
|
|
70
151
|
|
|
71
|
-
To use uncommitted mode:
|
|
152
|
+
To use uncommitted mode (keep planning private):
|
|
72
153
|
|
|
73
154
|
1. **Set config:**
|
|
74
155
|
```json
|
|
75
|
-
|
|
76
|
-
"commit_docs": false
|
|
77
|
-
"search_gitignored": true
|
|
156
|
+
{
|
|
157
|
+
"commit_docs": false
|
|
78
158
|
}
|
|
79
159
|
```
|
|
80
160
|
|
|
@@ -91,4 +171,16 @@ To use uncommitted mode:
|
|
|
91
171
|
|
|
92
172
|
</setup_uncommitted_mode>
|
|
93
173
|
|
|
174
|
+
<updating_settings>
|
|
175
|
+
|
|
176
|
+
Run `/kata:settings` to update config preferences interactively.
|
|
177
|
+
|
|
178
|
+
The settings skill will:
|
|
179
|
+
1. Detect any missing config keys from schema evolution
|
|
180
|
+
2. Prompt for preferences on new options
|
|
181
|
+
3. Preserve existing values for unchanged settings
|
|
182
|
+
4. Update `.planning/config.json` with merged config
|
|
183
|
+
|
|
184
|
+
</updating_settings>
|
|
185
|
+
|
|
94
186
|
</planning_config>
|
package/package.json
CHANGED
|
@@ -20,8 +20,8 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
20
20
|
<execution_context>
|
|
21
21
|
**Load these files NOW (before proceeding):**
|
|
22
22
|
|
|
23
|
-
- @~/.claude/
|
|
24
|
-
- @~/.claude/
|
|
23
|
+
- @~/.claude/kata/workflows/complete-milestone.md (main workflow)
|
|
24
|
+
- @~/.claude/kata/templates/milestone-archive.md (archive template)
|
|
25
25
|
</execution_context>
|
|
26
26
|
|
|
27
27
|
<context>
|
|
@@ -145,7 +145,56 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
145
145
|
|
|
146
146
|
**If `PR_WORKFLOW=true`:**
|
|
147
147
|
|
|
148
|
-
Skip git tag creation.
|
|
148
|
+
Skip git tag creation. Offer to create PR:
|
|
149
|
+
|
|
150
|
+
Use AskUserQuestion:
|
|
151
|
+
- header: "Create PR"
|
|
152
|
+
- question: "Would you like me to create a PR for this milestone?"
|
|
153
|
+
- options:
|
|
154
|
+
- "Yes, create PR" — Create PR to merge to main
|
|
155
|
+
- "No, I'll do it manually" — Show instructions only
|
|
156
|
+
|
|
157
|
+
**If "Yes, create PR":**
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Get current branch
|
|
161
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
|
162
|
+
|
|
163
|
+
# Push branch if not already pushed
|
|
164
|
+
git push -u origin "$CURRENT_BRANCH" 2>/dev/null || true
|
|
165
|
+
|
|
166
|
+
# Create PR
|
|
167
|
+
gh pr create \
|
|
168
|
+
--title "v{{version}}: [Milestone Name]" \
|
|
169
|
+
--body "$(cat <<'EOF'
|
|
170
|
+
## Summary
|
|
171
|
+
|
|
172
|
+
Completes milestone v{{version}}.
|
|
173
|
+
|
|
174
|
+
**Key accomplishments:**
|
|
175
|
+
- [accomplishment 1]
|
|
176
|
+
- [accomplishment 2]
|
|
177
|
+
- [accomplishment 3]
|
|
178
|
+
|
|
179
|
+
## After Merge
|
|
180
|
+
|
|
181
|
+
Create GitHub Release with tag `v{{version}}` to trigger npm publish (if configured).
|
|
182
|
+
EOF
|
|
183
|
+
)"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Display PR URL and next steps:
|
|
187
|
+
```
|
|
188
|
+
✓ PR created: [PR URL]
|
|
189
|
+
|
|
190
|
+
After merge:
|
|
191
|
+
→ Create GitHub Release with tag v{{version}}
|
|
192
|
+
→ GitHub Actions will publish to npm (if configured)
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**If "No, I'll do it manually":**
|
|
196
|
+
|
|
197
|
+
Display:
|
|
149
198
|
```
|
|
150
199
|
⚡ PR workflow mode — tag will be created via GitHub Release after merge
|
|
151
200
|
|
|
@@ -173,7 +222,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
173
222
|
- `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
|
|
174
223
|
- ROADMAP.md collapsed to one-line entry
|
|
175
224
|
- PROJECT.md updated with current state
|
|
176
|
-
- Git tag v{{version}} created (if pr_workflow=false) OR
|
|
225
|
+
- Git tag v{{version}} created (if pr_workflow=false) OR PR created/instructions given (if pr_workflow=true)
|
|
177
226
|
- Commit successful
|
|
178
227
|
- User knows next steps (including need for fresh requirements)
|
|
179
228
|
</success_criteria>
|
|
@@ -14,6 +14,8 @@ allowed-tools:
|
|
|
14
14
|
Allow users to toggle workflow agents on/off and select model profile via interactive settings.
|
|
15
15
|
|
|
16
16
|
Updates `.planning/config.json` with workflow preferences and model profile selection.
|
|
17
|
+
|
|
18
|
+
**Handles missing config keys:** If config.json is missing any expected keys (e.g., `pr_workflow`, `commit_docs`), prompts user for preferences and adds them.
|
|
17
19
|
</objective>
|
|
18
20
|
|
|
19
21
|
<process>
|
|
@@ -26,20 +28,40 @@ ls .planning/config.json 2>/dev/null
|
|
|
26
28
|
|
|
27
29
|
**If not found:** Error - run `/kata:new-project` first.
|
|
28
30
|
|
|
29
|
-
## 2. Read Current Config
|
|
31
|
+
## 2. Read Current Config and Detect Missing Keys
|
|
30
32
|
|
|
31
33
|
```bash
|
|
32
34
|
cat .planning/config.json
|
|
33
35
|
```
|
|
34
36
|
|
|
35
|
-
Parse current values
|
|
36
|
-
- `
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
37
|
+
Parse current values with defaults:
|
|
38
|
+
- `mode` — yolo or interactive (default: `yolo`)
|
|
39
|
+
- `depth` — quick, standard, or comprehensive (default: `standard`)
|
|
40
|
+
- `parallelization` — run agents in parallel (default: `true`)
|
|
39
41
|
- `model_profile` — which model each agent uses (default: `balanced`)
|
|
42
|
+
- `commit_docs` — commit planning artifacts to git (default: `true`)
|
|
40
43
|
- `pr_workflow` — use PR-based release workflow (default: `false`)
|
|
44
|
+
- `workflow.research` — spawn researcher during plan-phase (default: `true`)
|
|
45
|
+
- `workflow.plan_check` — spawn plan checker during plan-phase (default: `true`)
|
|
46
|
+
- `workflow.verifier` — spawn verifier during execute-phase (default: `true`)
|
|
47
|
+
|
|
48
|
+
**Detect missing keys:**
|
|
49
|
+
|
|
50
|
+
Check if these keys exist in config.json:
|
|
51
|
+
- `commit_docs`
|
|
52
|
+
- `pr_workflow`
|
|
53
|
+
|
|
54
|
+
If any are missing, note them for step 3.
|
|
41
55
|
|
|
42
|
-
## 3. Present Settings
|
|
56
|
+
## 3. Present Settings (Including New Options)
|
|
57
|
+
|
|
58
|
+
**If missing keys were detected:**
|
|
59
|
+
|
|
60
|
+
Display notification:
|
|
61
|
+
```
|
|
62
|
+
⚠️ New config options available: {list missing keys}
|
|
63
|
+
Adding these to your settings...
|
|
64
|
+
```
|
|
43
65
|
|
|
44
66
|
Use AskUserQuestion with current values shown:
|
|
45
67
|
|
|
@@ -55,6 +77,24 @@ AskUserQuestion([
|
|
|
55
77
|
{ label: "Budget", description: "Sonnet for writing, Haiku for research/verification (lowest cost)" }
|
|
56
78
|
]
|
|
57
79
|
},
|
|
80
|
+
{
|
|
81
|
+
question: "Commit planning docs to git?",
|
|
82
|
+
header: "Commit Docs",
|
|
83
|
+
multiSelect: false,
|
|
84
|
+
options: [
|
|
85
|
+
{ label: "Yes (Recommended)", description: "Track planning artifacts in git history" },
|
|
86
|
+
{ label: "No", description: "Keep planning private (add .planning/ to .gitignore)" }
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
question: "Use PR-based release workflow?",
|
|
91
|
+
header: "PR Workflow",
|
|
92
|
+
multiSelect: false,
|
|
93
|
+
options: [
|
|
94
|
+
{ label: "Yes", description: "Protect main, create PRs, tag via GitHub Release" },
|
|
95
|
+
{ label: "No (Recommended)", description: "Commit directly to main, create tags locally" }
|
|
96
|
+
]
|
|
97
|
+
},
|
|
58
98
|
{
|
|
59
99
|
question: "Spawn Plan Researcher? (researches domain before planning)",
|
|
60
100
|
header: "Research",
|
|
@@ -81,40 +121,38 @@ AskUserQuestion([
|
|
|
81
121
|
{ label: "Yes", description: "Verify must-haves after execution" },
|
|
82
122
|
{ label: "No", description: "Skip post-execution verification" }
|
|
83
123
|
]
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
question: "Use PR-based release workflow?",
|
|
87
|
-
header: "PR Workflow",
|
|
88
|
-
multiSelect: false,
|
|
89
|
-
options: [
|
|
90
|
-
{ label: "Yes", description: "Protect main, create PRs, tag via GitHub Release" },
|
|
91
|
-
{ label: "No", description: "Commit directly to main, create tags locally" }
|
|
92
|
-
]
|
|
93
124
|
}
|
|
94
125
|
])
|
|
95
126
|
```
|
|
96
127
|
|
|
97
|
-
**Pre-select based on current config values.**
|
|
128
|
+
**Pre-select based on current config values (use defaults for missing keys).**
|
|
98
129
|
|
|
99
130
|
## 4. Update Config
|
|
100
131
|
|
|
101
|
-
Merge new settings into existing config.json:
|
|
132
|
+
Merge new settings into existing config.json (preserving existing keys like `mode`, `depth`, `parallelization`):
|
|
102
133
|
|
|
103
134
|
```json
|
|
104
135
|
{
|
|
105
|
-
|
|
106
|
-
"
|
|
107
|
-
"
|
|
136
|
+
"mode": "yolo|interactive",
|
|
137
|
+
"depth": "quick|standard|comprehensive",
|
|
138
|
+
"parallelization": true|false,
|
|
139
|
+
"model_profile": "quality|balanced|budget",
|
|
140
|
+
"commit_docs": true|false,
|
|
141
|
+
"pr_workflow": true|false,
|
|
108
142
|
"workflow": {
|
|
109
|
-
"research": true
|
|
110
|
-
"plan_check": true
|
|
111
|
-
"verifier": true
|
|
143
|
+
"research": true|false,
|
|
144
|
+
"plan_check": true|false,
|
|
145
|
+
"verifier": true|false
|
|
112
146
|
}
|
|
113
147
|
}
|
|
114
148
|
```
|
|
115
149
|
|
|
116
150
|
Write updated config to `.planning/config.json`.
|
|
117
151
|
|
|
152
|
+
**If `commit_docs` changed to `false`:**
|
|
153
|
+
- Add `.planning/` to `.gitignore` (create if needed)
|
|
154
|
+
- Note: User should run `git rm -r --cached .planning/` if already tracked
|
|
155
|
+
|
|
118
156
|
## 5. Confirm Changes
|
|
119
157
|
|
|
120
158
|
Display:
|
|
@@ -127,6 +165,7 @@ Display:
|
|
|
127
165
|
| Setting | Value |
|
|
128
166
|
|----------------------|-------|
|
|
129
167
|
| Model Profile | {quality/balanced/budget} |
|
|
168
|
+
| Commit Docs | {On/Off} |
|
|
130
169
|
| PR Workflow | {On/Off} |
|
|
131
170
|
| Plan Researcher | {On/Off} |
|
|
132
171
|
| Plan Checker | {On/Off} |
|
|
@@ -145,7 +184,8 @@ Quick commands:
|
|
|
145
184
|
|
|
146
185
|
<success_criteria>
|
|
147
186
|
- [ ] Current config read
|
|
148
|
-
- [ ]
|
|
149
|
-
- [ ]
|
|
187
|
+
- [ ] Missing keys detected and user notified
|
|
188
|
+
- [ ] User presented with 6 settings (profile + commit_docs + pr_workflow + 3 toggles)
|
|
189
|
+
- [ ] Config updated with complete schema
|
|
150
190
|
- [ ] Changes confirmed to user
|
|
151
191
|
</success_criteria>
|
|
@@ -23,8 +23,8 @@ Extract implementation decisions that downstream agents need — researcher and
|
|
|
23
23
|
</objective>
|
|
24
24
|
|
|
25
25
|
<execution_context>
|
|
26
|
-
@~/.claude/
|
|
27
|
-
@~/.claude/
|
|
26
|
+
@~/.claude/kata/workflows/discuss-phase.md
|
|
27
|
+
@~/.claude/kata/templates/context.md
|
|
28
28
|
</execution_context>
|
|
29
29
|
|
|
30
30
|
<context>
|
|
@@ -19,8 +19,8 @@ Context budget: ~15% orchestrator, 100% fresh per subagent.
|
|
|
19
19
|
</objective>
|
|
20
20
|
|
|
21
21
|
<execution_context>
|
|
22
|
-
@~/.claude/
|
|
23
|
-
@~/.claude/
|
|
22
|
+
@~/.claude/kata/references/ui-brand.md
|
|
23
|
+
@~/.claude/kata/workflows/execute-phase.md
|
|
24
24
|
</execution_context>
|
|
25
25
|
|
|
26
26
|
<context>
|
|
@@ -278,7 +278,7 @@ Plans with `autonomous: false` have checkpoints. The execute-phase.md workflow h
|
|
|
278
278
|
- Orchestrator presents to user, collects response
|
|
279
279
|
- Spawns fresh continuation agent (not resume)
|
|
280
280
|
|
|
281
|
-
See `@~/.claude/
|
|
281
|
+
See `@~/.claude/kata/workflows/execute-phase.md` step `checkpoint_handling` for complete details.
|
|
282
282
|
</checkpoint_handling>
|
|
283
283
|
|
|
284
284
|
<deviation_rules>
|
|
@@ -18,7 +18,7 @@ Output: Conversational output only (no file creation) - ends with "What do you t
|
|
|
18
18
|
</objective>
|
|
19
19
|
|
|
20
20
|
<execution_context>
|
|
21
|
-
@~/.claude/
|
|
21
|
+
@~/.claude/kata/workflows/list-phase-assumptions.md
|
|
22
22
|
</execution_context>
|
|
23
23
|
|
|
24
24
|
<context>
|
|
@@ -19,7 +19,7 @@ Output: .planning/codebase/ folder with 7 structured documents about the codebas
|
|
|
19
19
|
</objective>
|
|
20
20
|
|
|
21
21
|
<execution_context>
|
|
22
|
-
@~/.claude/
|
|
22
|
+
@~/.claude/kata/workflows/map-codebase.md
|
|
23
23
|
</execution_context>
|
|
24
24
|
|
|
25
25
|
<context>
|
|
@@ -43,7 +43,7 @@ Kata evolves fast. Check for updates periodically:
|
|
|
43
43
|
Shows what changed since your installed version. Update with:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
npx
|
|
46
|
+
npx kata-cc@latest
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
## Core Workflow
|
|
@@ -355,7 +355,7 @@ Update Kata to latest version with changelog preview.
|
|
|
355
355
|
|
|
356
356
|
- Shows what changed before updating
|
|
357
357
|
- Confirms before running install
|
|
358
|
-
- Better than raw `npx
|
|
358
|
+
- Better than raw `npx kata-cc`
|
|
359
359
|
|
|
360
360
|
Usage: `/kata:update`
|
|
361
361
|
|
|
@@ -23,11 +23,11 @@ Routes to the resume-project workflow which handles:
|
|
|
23
23
|
</objective>
|
|
24
24
|
|
|
25
25
|
<execution_context>
|
|
26
|
-
@~/.claude/
|
|
26
|
+
@~/.claude/kata/workflows/resume-project.md
|
|
27
27
|
</execution_context>
|
|
28
28
|
|
|
29
29
|
<process>
|
|
30
|
-
**Follow the resume-project workflow** from `@~/.claude/
|
|
30
|
+
**Follow the resume-project workflow** from `@~/.claude/kata/workflows/resume-project.md`.
|
|
31
31
|
|
|
32
32
|
The workflow handles all resumption logic including:
|
|
33
33
|
|
|
@@ -22,7 +22,7 @@ Shows version comparison, changelog entries for missed versions, and update inst
|
|
|
22
22
|
Read installed version from VERSION file:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
cat ~/.claude/
|
|
25
|
+
cat ~/.claude/kata/VERSION 2>/dev/null
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
**If VERSION file missing:**
|
|
@@ -33,7 +33,7 @@ cat ~/.claude/get-shit-done/VERSION 2>/dev/null
|
|
|
33
33
|
|
|
34
34
|
Your installation doesn't include version tracking.
|
|
35
35
|
|
|
36
|
-
**To fix:** `npx
|
|
36
|
+
**To fix:** `npx kata-cc --global`
|
|
37
37
|
|
|
38
38
|
This will reinstall with version tracking enabled.
|
|
39
39
|
```
|
|
@@ -45,13 +45,13 @@ STOP here if no VERSION file.
|
|
|
45
45
|
Fetch latest CHANGELOG.md from GitHub:
|
|
46
46
|
|
|
47
47
|
Use WebFetch tool with:
|
|
48
|
-
- URL: `https://raw.githubusercontent.com/glittercowboy/
|
|
48
|
+
- URL: `https://raw.githubusercontent.com/glittercowboy/kata/main/CHANGELOG.md`
|
|
49
49
|
- Prompt: "Extract all version entries with their dates and changes. Return in Keep-a-Changelog format."
|
|
50
50
|
|
|
51
51
|
**If fetch fails:**
|
|
52
52
|
Fall back to local changelog:
|
|
53
53
|
```bash
|
|
54
|
-
cat ~/.claude/
|
|
54
|
+
cat ~/.claude/kata/CHANGELOG.md 2>/dev/null
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Note to user: "Couldn't check for updates (offline or GitHub unavailable). Showing local changelog."
|
|
@@ -82,7 +82,7 @@ Format output clearly:
|
|
|
82
82
|
|
|
83
83
|
You're on the latest version.
|
|
84
84
|
|
|
85
|
-
[View full changelog](https://github.com/glittercowboy/
|
|
85
|
+
[View full changelog](https://github.com/glittercowboy/kata/blob/main/CHANGELOG.md)
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
**If updates available:**
|
|
@@ -112,9 +112,9 @@ You're on the latest version.
|
|
|
112
112
|
|
|
113
113
|
---
|
|
114
114
|
|
|
115
|
-
[View full changelog](https://github.com/glittercowboy/
|
|
115
|
+
[View full changelog](https://github.com/glittercowboy/kata/blob/main/CHANGELOG.md)
|
|
116
116
|
|
|
117
|
-
**To update:** `npx
|
|
117
|
+
**To update:** `npx kata-cc --global`
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
**Breaking changes:** Surface prominently with **BREAKING:** prefix in the output.
|
|
@@ -28,10 +28,10 @@ This is the brownfield equivalent of new-project. The project exists, PROJECT.md
|
|
|
28
28
|
</objective>
|
|
29
29
|
|
|
30
30
|
<execution_context>
|
|
31
|
-
@~/.claude/
|
|
32
|
-
@~/.claude/
|
|
33
|
-
@~/.claude/
|
|
34
|
-
@~/.claude/
|
|
31
|
+
@~/.claude/kata/references/questioning.md
|
|
32
|
+
@~/.claude/kata/references/ui-brand.md
|
|
33
|
+
@~/.claude/kata/templates/project.md
|
|
34
|
+
@~/.claude/kata/templates/requirements.md
|
|
35
35
|
</execution_context>
|
|
36
36
|
|
|
37
37
|
<context>
|
|
@@ -218,7 +218,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
|
|
|
218
218
|
|
|
219
219
|
<output>
|
|
220
220
|
Write to: .planning/research/STACK.md
|
|
221
|
-
Use template: ~/.claude/
|
|
221
|
+
Use template: ~/.claude/kata/templates/research-project/STACK.md
|
|
222
222
|
</output>
|
|
223
223
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Stack research")
|
|
224
224
|
|
|
@@ -259,7 +259,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
|
|
|
259
259
|
|
|
260
260
|
<output>
|
|
261
261
|
Write to: .planning/research/FEATURES.md
|
|
262
|
-
Use template: ~/.claude/
|
|
262
|
+
Use template: ~/.claude/kata/templates/research-project/FEATURES.md
|
|
263
263
|
</output>
|
|
264
264
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Features research")
|
|
265
265
|
|
|
@@ -301,7 +301,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
|
|
|
301
301
|
|
|
302
302
|
<output>
|
|
303
303
|
Write to: .planning/research/ARCHITECTURE.md
|
|
304
|
-
Use template: ~/.claude/
|
|
304
|
+
Use template: ~/.claude/kata/templates/research-project/ARCHITECTURE.md
|
|
305
305
|
</output>
|
|
306
306
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Architecture research")
|
|
307
307
|
|
|
@@ -339,7 +339,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
|
|
|
339
339
|
|
|
340
340
|
<output>
|
|
341
341
|
Write to: .planning/research/PITFALLS.md
|
|
342
|
-
Use template: ~/.claude/
|
|
342
|
+
Use template: ~/.claude/kata/templates/research-project/PITFALLS.md
|
|
343
343
|
</output>
|
|
344
344
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Pitfalls research")
|
|
345
345
|
```
|
|
@@ -362,7 +362,7 @@ Read these files:
|
|
|
362
362
|
|
|
363
363
|
<output>
|
|
364
364
|
Write to: .planning/research/SUMMARY.md
|
|
365
|
-
Use template: ~/.claude/
|
|
365
|
+
Use template: ~/.claude/kata/templates/research-project/SUMMARY.md
|
|
366
366
|
Commit after writing.
|
|
367
367
|
</output>
|
|
368
368
|
", subagent_type="kata-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
|
|
@@ -32,10 +32,10 @@ This is the most leveraged moment in any project. Deep questioning here means be
|
|
|
32
32
|
|
|
33
33
|
<execution_context>
|
|
34
34
|
|
|
35
|
-
@~/.claude/
|
|
36
|
-
@~/.claude/
|
|
37
|
-
@~/.claude/
|
|
38
|
-
@~/.claude/
|
|
35
|
+
@~/.claude/kata/references/questioning.md
|
|
36
|
+
@~/.claude/kata/references/ui-brand.md
|
|
37
|
+
@~/.claude/kata/templates/project.md
|
|
38
|
+
@~/.claude/kata/templates/requirements.md
|
|
39
39
|
|
|
40
40
|
</execution_context>
|
|
41
41
|
|
|
@@ -286,8 +286,8 @@ questions: [
|
|
|
286
286
|
question: "Use PR-based release workflow?",
|
|
287
287
|
multiSelect: false,
|
|
288
288
|
options: [
|
|
289
|
-
{ label: "Yes
|
|
290
|
-
{ label: "No", description: "Commit directly to main, create tags locally" }
|
|
289
|
+
{ label: "Yes", description: "Protect main, create PRs, tag via GitHub Release" },
|
|
290
|
+
{ label: "No (Recommended)", description: "Commit directly to main, create tags locally" }
|
|
291
291
|
]
|
|
292
292
|
}
|
|
293
293
|
]
|
|
@@ -389,6 +389,137 @@ EOF
|
|
|
389
389
|
|
|
390
390
|
**Note:** Run `/kata:settings` anytime to update these preferences.
|
|
391
391
|
|
|
392
|
+
**If pr_workflow = Yes:**
|
|
393
|
+
|
|
394
|
+
Ask about GitHub Actions release workflow:
|
|
395
|
+
|
|
396
|
+
```
|
|
397
|
+
AskUserQuestion([
|
|
398
|
+
{
|
|
399
|
+
header: "GitHub Actions",
|
|
400
|
+
question: "Scaffold a GitHub Actions workflow to auto-publish on release?",
|
|
401
|
+
multiSelect: false,
|
|
402
|
+
options: [
|
|
403
|
+
{ label: "Yes (Recommended)", description: "Create .github/workflows/release.yml for npm publish" },
|
|
404
|
+
{ label: "No", description: "I'll set up CI/CD myself" }
|
|
405
|
+
]
|
|
406
|
+
}
|
|
407
|
+
])
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**If "Yes":**
|
|
411
|
+
|
|
412
|
+
Create `.github/workflows/release.yml`:
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
mkdir -p .github/workflows
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
Write the workflow file:
|
|
419
|
+
|
|
420
|
+
```yaml
|
|
421
|
+
name: Publish to npm
|
|
422
|
+
|
|
423
|
+
on:
|
|
424
|
+
push:
|
|
425
|
+
branches:
|
|
426
|
+
- main
|
|
427
|
+
|
|
428
|
+
jobs:
|
|
429
|
+
publish:
|
|
430
|
+
runs-on: ubuntu-latest
|
|
431
|
+
permissions:
|
|
432
|
+
contents: write
|
|
433
|
+
steps:
|
|
434
|
+
- name: Checkout
|
|
435
|
+
uses: actions/checkout@v4
|
|
436
|
+
|
|
437
|
+
- name: Setup Node.js
|
|
438
|
+
uses: actions/setup-node@v4
|
|
439
|
+
with:
|
|
440
|
+
node-version: '20'
|
|
441
|
+
registry-url: 'https://registry.npmjs.org'
|
|
442
|
+
|
|
443
|
+
- name: Get package info
|
|
444
|
+
id: package
|
|
445
|
+
run: |
|
|
446
|
+
LOCAL_VERSION=$(node -p "require('./package.json').version")
|
|
447
|
+
PACKAGE_NAME=$(node -p "require('./package.json').name")
|
|
448
|
+
echo "local_version=$LOCAL_VERSION" >> $GITHUB_OUTPUT
|
|
449
|
+
echo "package_name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
|
|
450
|
+
|
|
451
|
+
# Get published version (returns empty if not published)
|
|
452
|
+
PUBLISHED_VERSION=$(npm view "$PACKAGE_NAME" version 2>/dev/null || echo "")
|
|
453
|
+
echo "published_version=$PUBLISHED_VERSION" >> $GITHUB_OUTPUT
|
|
454
|
+
|
|
455
|
+
echo "Local version: $LOCAL_VERSION"
|
|
456
|
+
echo "Published version: $PUBLISHED_VERSION"
|
|
457
|
+
|
|
458
|
+
- name: Check if should publish
|
|
459
|
+
id: check
|
|
460
|
+
run: |
|
|
461
|
+
LOCAL="${{ steps.package.outputs.local_version }}"
|
|
462
|
+
PUBLISHED="${{ steps.package.outputs.published_version }}"
|
|
463
|
+
|
|
464
|
+
if [ -z "$PUBLISHED" ]; then
|
|
465
|
+
echo "Package not yet published, will publish"
|
|
466
|
+
echo "should_publish=true" >> $GITHUB_OUTPUT
|
|
467
|
+
elif [ "$LOCAL" != "$PUBLISHED" ]; then
|
|
468
|
+
echo "Version changed ($PUBLISHED -> $LOCAL), will publish"
|
|
469
|
+
echo "should_publish=true" >> $GITHUB_OUTPUT
|
|
470
|
+
else
|
|
471
|
+
echo "Version unchanged ($LOCAL), skipping publish"
|
|
472
|
+
echo "should_publish=false" >> $GITHUB_OUTPUT
|
|
473
|
+
fi
|
|
474
|
+
|
|
475
|
+
- name: Publish to npm
|
|
476
|
+
if: steps.check.outputs.should_publish == 'true'
|
|
477
|
+
run: npm publish --access public
|
|
478
|
+
env:
|
|
479
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
480
|
+
|
|
481
|
+
- name: Create GitHub Release
|
|
482
|
+
if: steps.check.outputs.should_publish == 'true'
|
|
483
|
+
uses: softprops/action-gh-release@v2
|
|
484
|
+
with:
|
|
485
|
+
tag_name: v${{ steps.package.outputs.local_version }}
|
|
486
|
+
name: v${{ steps.package.outputs.local_version }}
|
|
487
|
+
generate_release_notes: true
|
|
488
|
+
make_latest: true
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
Commit the workflow:
|
|
492
|
+
|
|
493
|
+
```bash
|
|
494
|
+
git add .github/workflows/release.yml
|
|
495
|
+
git commit -m "$(cat <<'EOF'
|
|
496
|
+
ci: add npm publish workflow
|
|
497
|
+
|
|
498
|
+
Publishes to npm and creates GitHub Release when:
|
|
499
|
+
- Push to main
|
|
500
|
+
- package.json version differs from published version
|
|
501
|
+
|
|
502
|
+
Requires NPM_TOKEN secret in repository settings.
|
|
503
|
+
EOF
|
|
504
|
+
)"
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
Display setup instructions:
|
|
508
|
+
|
|
509
|
+
```
|
|
510
|
+
✓ Created .github/workflows/release.yml
|
|
511
|
+
|
|
512
|
+
## Setup Required
|
|
513
|
+
|
|
514
|
+
Add NPM_TOKEN secret to your GitHub repository:
|
|
515
|
+
1. Go to repo Settings → Secrets and variables → Actions
|
|
516
|
+
2. Click "New repository secret"
|
|
517
|
+
3. Name: NPM_TOKEN
|
|
518
|
+
4. Value: Your npm access token (from npmjs.com → Access Tokens)
|
|
519
|
+
|
|
520
|
+
The workflow will auto-publish when you merge PRs that bump package.json version.
|
|
521
|
+
```
|
|
522
|
+
|
|
392
523
|
## Phase 5.5: Resolve Model Profile
|
|
393
524
|
|
|
394
525
|
Read model profile for agent spawning:
|
|
@@ -487,7 +618,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
|
|
|
487
618
|
|
|
488
619
|
<output>
|
|
489
620
|
Write to: .planning/research/STACK.md
|
|
490
|
-
Use template: ~/.claude/
|
|
621
|
+
Use template: ~/.claude/kata/templates/research-project/STACK.md
|
|
491
622
|
</output>
|
|
492
623
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Stack research")
|
|
493
624
|
|
|
@@ -526,7 +657,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
|
|
|
526
657
|
|
|
527
658
|
<output>
|
|
528
659
|
Write to: .planning/research/FEATURES.md
|
|
529
|
-
Use template: ~/.claude/
|
|
660
|
+
Use template: ~/.claude/kata/templates/research-project/FEATURES.md
|
|
530
661
|
</output>
|
|
531
662
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Features research")
|
|
532
663
|
|
|
@@ -565,7 +696,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
|
|
|
565
696
|
|
|
566
697
|
<output>
|
|
567
698
|
Write to: .planning/research/ARCHITECTURE.md
|
|
568
|
-
Use template: ~/.claude/
|
|
699
|
+
Use template: ~/.claude/kata/templates/research-project/ARCHITECTURE.md
|
|
569
700
|
</output>
|
|
570
701
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Architecture research")
|
|
571
702
|
|
|
@@ -604,7 +735,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
|
|
|
604
735
|
|
|
605
736
|
<output>
|
|
606
737
|
Write to: .planning/research/PITFALLS.md
|
|
607
|
-
Use template: ~/.claude/
|
|
738
|
+
Use template: ~/.claude/kata/templates/research-project/PITFALLS.md
|
|
608
739
|
</output>
|
|
609
740
|
", subagent_type="kata-project-researcher", model="{researcher_model}", description="Pitfalls research")
|
|
610
741
|
```
|
|
@@ -627,7 +758,7 @@ Read these files:
|
|
|
627
758
|
|
|
628
759
|
<output>
|
|
629
760
|
Write to: .planning/research/SUMMARY.md
|
|
630
|
-
Use template: ~/.claude/
|
|
761
|
+
Use template: ~/.claude/kata/templates/research-project/SUMMARY.md
|
|
631
762
|
Commit after writing.
|
|
632
763
|
</output>
|
|
633
764
|
", subagent_type="kata-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
|
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
<objective>
|
|
14
14
|
Check for Kata updates, install if available, and display what changed.
|
|
15
15
|
|
|
16
|
-
Provides a better update experience than raw `npx
|
|
16
|
+
Provides a better update experience than raw `npx kata-cc` by showing version diff and changelog entries.
|
|
17
17
|
</objective>
|
|
18
18
|
|
|
19
19
|
<process>
|
|
@@ -22,7 +22,7 @@ Provides a better update experience than raw `npx get-shit-done-cc` by showing v
|
|
|
22
22
|
Read installed version:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
cat ~/.claude/
|
|
25
|
+
cat ~/.claude/kata/VERSION 2>/dev/null
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
**If VERSION file missing:**
|
|
@@ -43,14 +43,14 @@ Proceed to install step (treat as version 0.0.0 for comparison).
|
|
|
43
43
|
Check npm for latest version:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
npm view
|
|
46
|
+
npm view kata-cc version 2>/dev/null
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
**If npm check fails:**
|
|
50
50
|
```
|
|
51
51
|
Couldn't check for updates (offline or npm unavailable).
|
|
52
52
|
|
|
53
|
-
To update manually: `npx
|
|
53
|
+
To update manually: `npx kata-cc --global`
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
STOP here if npm unavailable.
|
|
@@ -114,7 +114,7 @@ STOP here if ahead.
|
|
|
114
114
|
|
|
115
115
|
⚠️ **Note:** The installer performs a clean install of Kata folders:
|
|
116
116
|
- `~/.claude/commands/kata/` will be wiped and replaced
|
|
117
|
-
- `~/.claude/
|
|
117
|
+
- `~/.claude/kata/` will be wiped and replaced
|
|
118
118
|
- `~/.claude/agents/kata-*` files will be replaced
|
|
119
119
|
|
|
120
120
|
Your custom files in other locations are preserved:
|
|
@@ -139,7 +139,7 @@ Use AskUserQuestion:
|
|
|
139
139
|
Run the update:
|
|
140
140
|
|
|
141
141
|
```bash
|
|
142
|
-
npx
|
|
142
|
+
npx kata-cc --global
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
Capture output. If install fails, show error and STOP.
|
|
@@ -161,7 +161,7 @@ Format completion message (changelog was already shown in confirmation step):
|
|
|
161
161
|
|
|
162
162
|
⚠️ Restart Claude Code to pick up the new commands.
|
|
163
163
|
|
|
164
|
-
[View full changelog](https://github.com/glittercowboy/
|
|
164
|
+
[View full changelog](https://github.com/glittercowboy/kata/blob/main/CHANGELOG.md)
|
|
165
165
|
```
|
|
166
166
|
</step>
|
|
167
167
|
|
|
@@ -19,8 +19,8 @@ Output: {phase}-UAT.md tracking all test results. If issues found: diagnosed gap
|
|
|
19
19
|
</objective>
|
|
20
20
|
|
|
21
21
|
<execution_context>
|
|
22
|
-
@~/.claude/
|
|
23
|
-
@~/.claude/
|
|
22
|
+
@~/.claude/kata/workflows/verify-work.md
|
|
23
|
+
@~/.claude/kata/templates/UAT.md
|
|
24
24
|
</execution_context>
|
|
25
25
|
|
|
26
26
|
<context>
|