@howlil/ez-agents 2.0.0 → 3.0.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/LICENSE +21 -21
- package/README.md +157 -110
- package/README.zh-CN.md +84 -84
- package/agents/ez-plan-checker.md +2 -2
- package/agents/ez-research-synthesizer.md +1 -1
- package/agents/ez-ui-auditor.md +0 -2
- package/agents/ez-ui-checker.md +2 -4
- package/agents/ez-ui-researcher.md +0 -2
- package/agents/ez-verifier.md +1 -1
- package/bin/install.js +211 -211
- package/commands/ez/debug.md +1 -1
- package/commands/ez/map-codebase.md +1 -1
- package/commands/ez/reapply-patches.md +3 -3
- package/commands/ez/research-phase.md +1 -1
- package/{get-shit-done → ez-agents}/bin/ez-tools.cjs +1 -1
- package/{get-shit-done → ez-agents}/bin/lib/assistant-adapter.cjs +205 -205
- package/{get-shit-done → ez-agents}/bin/lib/audit-exec.cjs +150 -150
- package/{get-shit-done → ez-agents}/bin/lib/auth.cjs +175 -175
- package/{get-shit-done → ez-agents}/bin/lib/circuit-breaker.cjs +118 -118
- package/{get-shit-done → ez-agents}/bin/lib/commands.cjs +666 -666
- package/{get-shit-done → ez-agents}/bin/lib/config.cjs +183 -183
- package/{get-shit-done → ez-agents}/bin/lib/core.cjs +495 -495
- package/{get-shit-done → ez-agents}/bin/lib/file-lock.cjs +236 -236
- package/{get-shit-done → ez-agents}/bin/lib/frontmatter.cjs +299 -299
- package/{get-shit-done → ez-agents}/bin/lib/fs-utils.cjs +153 -153
- package/{get-shit-done → ez-agents}/bin/lib/git-utils.cjs +203 -203
- package/{get-shit-done → ez-agents}/bin/lib/health-check.cjs +163 -163
- package/{get-shit-done → ez-agents}/bin/lib/index.cjs +113 -113
- package/{get-shit-done → ez-agents}/bin/lib/init.cjs +710 -710
- package/{get-shit-done → ez-agents}/bin/lib/logger.cjs +117 -117
- package/{get-shit-done → ez-agents}/bin/lib/milestone.cjs +241 -241
- package/{get-shit-done → ez-agents}/bin/lib/model-provider.cjs +146 -146
- package/{get-shit-done → ez-agents}/bin/lib/phase.cjs +908 -908
- package/{get-shit-done → ez-agents}/bin/lib/retry.cjs +119 -119
- package/{get-shit-done → ez-agents}/bin/lib/roadmap.cjs +305 -305
- package/{get-shit-done → ez-agents}/bin/lib/safe-exec.cjs +128 -128
- package/{get-shit-done → ez-agents}/bin/lib/safe-path.cjs +130 -130
- package/{get-shit-done → ez-agents}/bin/lib/state.cjs +721 -721
- package/{get-shit-done → ez-agents}/bin/lib/temp-file.cjs +239 -239
- package/{get-shit-done → ez-agents}/bin/lib/template.cjs +222 -222
- package/{get-shit-done → ez-agents}/bin/lib/test-file-lock.cjs +112 -112
- package/{get-shit-done → ez-agents}/bin/lib/test-graceful.cjs +93 -93
- package/{get-shit-done → ez-agents}/bin/lib/test-logger.cjs +60 -60
- package/{get-shit-done → ez-agents}/bin/lib/test-safe-exec.cjs +38 -38
- package/{get-shit-done → ez-agents}/bin/lib/test-safe-path.cjs +33 -33
- package/{get-shit-done → ez-agents}/bin/lib/test-temp-file.cjs +125 -125
- package/{get-shit-done → ez-agents}/bin/lib/timeout-exec.cjs +62 -62
- package/{get-shit-done → ez-agents}/bin/lib/verify.cjs +820 -820
- package/{get-shit-done → ez-agents}/references/checkpoints.md +776 -776
- package/{get-shit-done → ez-agents}/references/questioning.md +162 -162
- package/{get-shit-done → ez-agents}/references/tdd.md +263 -263
- package/{get-shit-done → ez-agents}/templates/codebase/concerns.md +310 -310
- package/{get-shit-done → ez-agents}/templates/codebase/conventions.md +307 -307
- package/{get-shit-done → ez-agents}/templates/codebase/integrations.md +280 -280
- package/{get-shit-done → ez-agents}/templates/codebase/stack.md +186 -186
- package/{get-shit-done → ez-agents}/templates/codebase/testing.md +480 -480
- package/{get-shit-done → ez-agents}/templates/config.json +37 -37
- package/{get-shit-done → ez-agents}/templates/continue-here.md +78 -78
- package/{get-shit-done → ez-agents}/templates/milestone-archive.md +123 -123
- package/{get-shit-done → ez-agents}/templates/milestone.md +115 -115
- package/{get-shit-done → ez-agents}/templates/requirements.md +231 -231
- package/{get-shit-done → ez-agents}/templates/research-project/ARCHITECTURE.md +204 -204
- package/{get-shit-done → ez-agents}/templates/research-project/FEATURES.md +147 -147
- package/{get-shit-done → ez-agents}/templates/research-project/PITFALLS.md +200 -200
- package/{get-shit-done → ez-agents}/templates/research-project/STACK.md +120 -120
- package/{get-shit-done → ez-agents}/templates/research-project/SUMMARY.md +170 -170
- package/{get-shit-done → ez-agents}/templates/retrospective.md +54 -54
- package/{get-shit-done → ez-agents}/templates/roadmap.md +202 -202
- package/{get-shit-done → ez-agents}/templates/summary-minimal.md +41 -41
- package/{get-shit-done → ez-agents}/templates/summary-standard.md +48 -48
- package/{get-shit-done → ez-agents}/templates/summary.md +248 -248
- package/{get-shit-done → ez-agents}/templates/user-setup.md +311 -311
- package/{get-shit-done → ez-agents}/templates/verification-report.md +322 -322
- package/{get-shit-done → ez-agents}/workflows/add-phase.md +112 -112
- package/{get-shit-done → ez-agents}/workflows/add-tests.md +351 -351
- package/{get-shit-done → ez-agents}/workflows/add-todo.md +158 -158
- package/{get-shit-done → ez-agents}/workflows/audit-milestone.md +332 -332
- package/{get-shit-done → ez-agents}/workflows/autonomous.md +743 -743
- package/{get-shit-done → ez-agents}/workflows/check-todos.md +177 -177
- package/{get-shit-done → ez-agents}/workflows/cleanup.md +152 -152
- package/{get-shit-done → ez-agents}/workflows/complete-milestone.md +766 -766
- package/ez-agents/workflows/debug.md +0 -0
- package/{get-shit-done → ez-agents}/workflows/diagnose-issues.md +219 -219
- package/{get-shit-done → ez-agents}/workflows/discovery-phase.md +289 -289
- package/{get-shit-done → ez-agents}/workflows/discuss-phase.md +762 -762
- package/{get-shit-done → ez-agents}/workflows/execute-phase.md +468 -468
- package/{get-shit-done → ez-agents}/workflows/execute-plan.md +483 -483
- package/{get-shit-done → ez-agents}/workflows/health.md +159 -159
- package/{get-shit-done → ez-agents}/workflows/help.md +492 -492
- package/{get-shit-done → ez-agents}/workflows/insert-phase.md +130 -130
- package/{get-shit-done → ez-agents}/workflows/list-phase-assumptions.md +178 -178
- package/{get-shit-done → ez-agents}/workflows/map-codebase.md +316 -316
- package/{get-shit-done → ez-agents}/workflows/new-milestone.md +384 -384
- package/{get-shit-done → ez-agents}/workflows/new-project.md +1111 -1111
- package/{get-shit-done → ez-agents}/workflows/node-repair.md +92 -92
- package/{get-shit-done → ez-agents}/workflows/pause-work.md +122 -122
- package/{get-shit-done → ez-agents}/workflows/plan-milestone-gaps.md +274 -274
- package/{get-shit-done → ez-agents}/workflows/plan-phase.md +651 -651
- package/{get-shit-done → ez-agents}/workflows/progress.md +382 -382
- package/{get-shit-done → ez-agents}/workflows/quick.md +610 -610
- package/{get-shit-done → ez-agents}/workflows/remove-phase.md +155 -155
- package/{get-shit-done → ez-agents}/workflows/research-phase.md +74 -74
- package/{get-shit-done → ez-agents}/workflows/resume-project.md +307 -307
- package/{get-shit-done → ez-agents}/workflows/set-profile.md +81 -81
- package/{get-shit-done → ez-agents}/workflows/settings.md +242 -242
- package/{get-shit-done → ez-agents}/workflows/stats.md +57 -57
- package/{get-shit-done → ez-agents}/workflows/transition.md +544 -544
- package/{get-shit-done → ez-agents}/workflows/ui-phase.md +290 -290
- package/{get-shit-done → ez-agents}/workflows/ui-review.md +157 -157
- package/{get-shit-done → ez-agents}/workflows/update.md +320 -320
- package/{get-shit-done → ez-agents}/workflows/validate-phase.md +167 -167
- package/{get-shit-done → ez-agents}/workflows/verify-phase.md +243 -243
- package/{get-shit-done → ez-agents}/workflows/verify-work.md +5 -5
- package/hooks/dist/ez-check-update.js +81 -0
- package/hooks/dist/ez-context-monitor.js +141 -0
- package/hooks/dist/ez-statusline.js +115 -0
- package/package.json +13 -3
- package/scripts/build-hooks.js +43 -43
- package/scripts/run-tests.cjs +29 -29
- /package/{get-shit-done → ez-agents}/references/continuation-format.md +0 -0
- /package/{get-shit-done → ez-agents}/references/decimal-phase-calculation.md +0 -0
- /package/{get-shit-done → ez-agents}/references/git-integration.md +0 -0
- /package/{get-shit-done → ez-agents}/references/git-planning-commit.md +0 -0
- /package/{get-shit-done → ez-agents}/references/model-profile-resolution.md +0 -0
- /package/{get-shit-done → ez-agents}/references/model-profiles.md +0 -0
- /package/{get-shit-done → ez-agents}/references/phase-argument-parsing.md +0 -0
- /package/{get-shit-done → ez-agents}/references/planning-config.md +0 -0
- /package/{get-shit-done → ez-agents}/references/ui-brand.md +0 -0
- /package/{get-shit-done → ez-agents}/references/verification-patterns.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/DEBUG.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/UAT.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/UI-SPEC.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/VALIDATION.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/codebase/architecture.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/codebase/structure.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/context.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/copilot-instructions.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/debug-subagent-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/discovery.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/phase-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/planner-subagent-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/project.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/research.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/state.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/summary-complex.md +0 -0
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Remove an unstarted future phase from the project roadmap, delete its directory, renumber all subsequent phases to maintain a clean linear sequence, and commit the change. The git commit serves as the historical record of removal.
|
|
3
|
-
</purpose>
|
|
4
|
-
|
|
5
|
-
<required_reading>
|
|
6
|
-
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
</required_reading>
|
|
8
|
-
|
|
9
|
-
<process>
|
|
10
|
-
|
|
11
|
-
<step name="parse_arguments">
|
|
12
|
-
Parse the command arguments:
|
|
13
|
-
- Argument is the phase number to remove (integer or decimal)
|
|
14
|
-
- Example: `/ez:remove-phase 17` → phase = 17
|
|
15
|
-
- Example: `/ez:remove-phase 16.1` → phase = 16.1
|
|
16
|
-
|
|
17
|
-
If no argument provided:
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
ERROR: Phase number required
|
|
21
|
-
Usage: /ez:remove-phase <phase-number>
|
|
22
|
-
Example: /ez:remove-phase 17
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Exit.
|
|
26
|
-
</step>
|
|
27
|
-
|
|
28
|
-
<step name="init_context">
|
|
29
|
-
Load phase operation context:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
INIT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" init phase-op "${target}")
|
|
33
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
|
|
37
|
-
|
|
38
|
-
Also read STATE.md and ROADMAP.md content for parsing current position.
|
|
39
|
-
</step>
|
|
40
|
-
|
|
41
|
-
<step name="validate_future_phase">
|
|
42
|
-
Verify the phase is a future phase (not started):
|
|
43
|
-
|
|
44
|
-
1. Compare target phase to current phase from STATE.md
|
|
45
|
-
2. Target must be > current phase number
|
|
46
|
-
|
|
47
|
-
If target <= current phase:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
ERROR: Cannot remove Phase {target}
|
|
51
|
-
|
|
52
|
-
Only future phases can be removed:
|
|
53
|
-
- Current phase: {current}
|
|
54
|
-
- Phase {target} is current or completed
|
|
55
|
-
|
|
56
|
-
To abandon current work, use /ez:pause-work instead.
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Exit.
|
|
60
|
-
</step>
|
|
61
|
-
|
|
62
|
-
<step name="confirm_removal">
|
|
63
|
-
Present removal summary and confirm:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
Removing Phase {target}: {Name}
|
|
67
|
-
|
|
68
|
-
This will:
|
|
69
|
-
- Delete: .planning/phases/{target}-{slug}/
|
|
70
|
-
- Renumber all subsequent phases
|
|
71
|
-
- Update: ROADMAP.md, STATE.md
|
|
72
|
-
|
|
73
|
-
Proceed? (y/n)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Wait for confirmation.
|
|
77
|
-
</step>
|
|
78
|
-
|
|
79
|
-
<step name="execute_removal">
|
|
80
|
-
**Delegate the entire removal operation to
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
RESULT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase remove "${target}")
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
If the phase has executed plans (SUMMARY.md files),
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
RESULT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase remove "${target}" --force)
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
The CLI handles:
|
|
93
|
-
- Deleting the phase directory
|
|
94
|
-
- Renumbering all subsequent directories (in reverse order to avoid conflicts)
|
|
95
|
-
- Renaming all files inside renumbered directories (PLAN.md, SUMMARY.md, etc.)
|
|
96
|
-
- Updating ROADMAP.md (removing section, renumbering all phase references, updating dependencies)
|
|
97
|
-
- Updating STATE.md (decrementing phase count)
|
|
98
|
-
|
|
99
|
-
Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `renamed_files`, `roadmap_updated`, `state_updated`.
|
|
100
|
-
</step>
|
|
101
|
-
|
|
102
|
-
<step name="commit">
|
|
103
|
-
Stage and commit the removal:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "chore: remove phase {target} ({original-phase-name})" --files .planning/
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
The commit message preserves the historical record of what was removed.
|
|
110
|
-
</step>
|
|
111
|
-
|
|
112
|
-
<step name="completion">
|
|
113
|
-
Present completion summary:
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
Phase {target} ({original-name}) removed.
|
|
117
|
-
|
|
118
|
-
Changes:
|
|
119
|
-
- Deleted: .planning/phases/{target}-{slug}/
|
|
120
|
-
- Renumbered: {N} directories and {M} files
|
|
121
|
-
- Updated: ROADMAP.md, STATE.md
|
|
122
|
-
- Committed: chore: remove phase {target} ({original-name})
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## What's Next
|
|
127
|
-
|
|
128
|
-
Would you like to:
|
|
129
|
-
- `/ez:progress` — see updated roadmap status
|
|
130
|
-
- Continue with current phase
|
|
131
|
-
- Review roadmap
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
```
|
|
135
|
-
</step>
|
|
136
|
-
|
|
137
|
-
</process>
|
|
138
|
-
|
|
139
|
-
<anti_patterns>
|
|
140
|
-
|
|
141
|
-
- Don't remove completed phases (have SUMMARY.md files) without --force
|
|
142
|
-
- Don't remove current or past phases
|
|
143
|
-
- Don't manually renumber — use `
|
|
144
|
-
- Don't add "removed phase" notes to STATE.md — git commit is the record
|
|
145
|
-
- Don't modify completed phase directories
|
|
146
|
-
</anti_patterns>
|
|
147
|
-
|
|
148
|
-
<success_criteria>
|
|
149
|
-
Phase removal is complete when:
|
|
150
|
-
|
|
151
|
-
- [ ] Target phase validated as future/unstarted
|
|
152
|
-
- [ ] `
|
|
153
|
-
- [ ] Changes committed with descriptive message
|
|
154
|
-
- [ ] User informed of changes
|
|
155
|
-
</success_criteria>
|
|
1
|
+
<purpose>
|
|
2
|
+
Remove an unstarted future phase from the project roadmap, delete its directory, renumber all subsequent phases to maintain a clean linear sequence, and commit the change. The git commit serves as the historical record of removal.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="parse_arguments">
|
|
12
|
+
Parse the command arguments:
|
|
13
|
+
- Argument is the phase number to remove (integer or decimal)
|
|
14
|
+
- Example: `/ez:remove-phase 17` → phase = 17
|
|
15
|
+
- Example: `/ez:remove-phase 16.1` → phase = 16.1
|
|
16
|
+
|
|
17
|
+
If no argument provided:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
ERROR: Phase number required
|
|
21
|
+
Usage: /ez:remove-phase <phase-number>
|
|
22
|
+
Example: /ez:remove-phase 17
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Exit.
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="init_context">
|
|
29
|
+
Load phase operation context:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
INIT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" init phase-op "${target}")
|
|
33
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
|
|
37
|
+
|
|
38
|
+
Also read STATE.md and ROADMAP.md content for parsing current position.
|
|
39
|
+
</step>
|
|
40
|
+
|
|
41
|
+
<step name="validate_future_phase">
|
|
42
|
+
Verify the phase is a future phase (not started):
|
|
43
|
+
|
|
44
|
+
1. Compare target phase to current phase from STATE.md
|
|
45
|
+
2. Target must be > current phase number
|
|
46
|
+
|
|
47
|
+
If target <= current phase:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
ERROR: Cannot remove Phase {target}
|
|
51
|
+
|
|
52
|
+
Only future phases can be removed:
|
|
53
|
+
- Current phase: {current}
|
|
54
|
+
- Phase {target} is current or completed
|
|
55
|
+
|
|
56
|
+
To abandon current work, use /ez:pause-work instead.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Exit.
|
|
60
|
+
</step>
|
|
61
|
+
|
|
62
|
+
<step name="confirm_removal">
|
|
63
|
+
Present removal summary and confirm:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Removing Phase {target}: {Name}
|
|
67
|
+
|
|
68
|
+
This will:
|
|
69
|
+
- Delete: .planning/phases/{target}-{slug}/
|
|
70
|
+
- Renumber all subsequent phases
|
|
71
|
+
- Update: ROADMAP.md, STATE.md
|
|
72
|
+
|
|
73
|
+
Proceed? (y/n)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Wait for confirmation.
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step name="execute_removal">
|
|
80
|
+
**Delegate the entire removal operation to ez-tools:**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
RESULT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase remove "${target}")
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
If the phase has executed plans (SUMMARY.md files), ez-tools will error. Use `--force` only if the user confirms:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
RESULT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" phase remove "${target}" --force)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The CLI handles:
|
|
93
|
+
- Deleting the phase directory
|
|
94
|
+
- Renumbering all subsequent directories (in reverse order to avoid conflicts)
|
|
95
|
+
- Renaming all files inside renumbered directories (PLAN.md, SUMMARY.md, etc.)
|
|
96
|
+
- Updating ROADMAP.md (removing section, renumbering all phase references, updating dependencies)
|
|
97
|
+
- Updating STATE.md (decrementing phase count)
|
|
98
|
+
|
|
99
|
+
Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `renamed_files`, `roadmap_updated`, `state_updated`.
|
|
100
|
+
</step>
|
|
101
|
+
|
|
102
|
+
<step name="commit">
|
|
103
|
+
Stage and commit the removal:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" commit "chore: remove phase {target} ({original-phase-name})" --files .planning/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The commit message preserves the historical record of what was removed.
|
|
110
|
+
</step>
|
|
111
|
+
|
|
112
|
+
<step name="completion">
|
|
113
|
+
Present completion summary:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
Phase {target} ({original-name}) removed.
|
|
117
|
+
|
|
118
|
+
Changes:
|
|
119
|
+
- Deleted: .planning/phases/{target}-{slug}/
|
|
120
|
+
- Renumbered: {N} directories and {M} files
|
|
121
|
+
- Updated: ROADMAP.md, STATE.md
|
|
122
|
+
- Committed: chore: remove phase {target} ({original-name})
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## What's Next
|
|
127
|
+
|
|
128
|
+
Would you like to:
|
|
129
|
+
- `/ez:progress` — see updated roadmap status
|
|
130
|
+
- Continue with current phase
|
|
131
|
+
- Review roadmap
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
```
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
</process>
|
|
138
|
+
|
|
139
|
+
<anti_patterns>
|
|
140
|
+
|
|
141
|
+
- Don't remove completed phases (have SUMMARY.md files) without --force
|
|
142
|
+
- Don't remove current or past phases
|
|
143
|
+
- Don't manually renumber — use `ez-tools phase remove` which handles all renumbering
|
|
144
|
+
- Don't add "removed phase" notes to STATE.md — git commit is the record
|
|
145
|
+
- Don't modify completed phase directories
|
|
146
|
+
</anti_patterns>
|
|
147
|
+
|
|
148
|
+
<success_criteria>
|
|
149
|
+
Phase removal is complete when:
|
|
150
|
+
|
|
151
|
+
- [ ] Target phase validated as future/unstarted
|
|
152
|
+
- [ ] `ez-tools phase remove` executed successfully
|
|
153
|
+
- [ ] Changes committed with descriptive message
|
|
154
|
+
- [ ] User informed of changes
|
|
155
|
+
</success_criteria>
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Research how to implement a phase. Spawns
|
|
3
|
-
|
|
4
|
-
Standalone research command. For most workflows, use `/ez:plan-phase` which integrates research automatically.
|
|
5
|
-
</purpose>
|
|
6
|
-
|
|
7
|
-
<process>
|
|
8
|
-
|
|
9
|
-
## Step 0: Resolve Model Profile
|
|
10
|
-
|
|
11
|
-
@~/.claude/
|
|
12
|
-
|
|
13
|
-
Resolve model for:
|
|
14
|
-
- `
|
|
15
|
-
|
|
16
|
-
## Step 1: Normalize and Validate Phase
|
|
17
|
-
|
|
18
|
-
@~/.claude/
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
PHASE_INFO=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" roadmap get-phase "${PHASE}")
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
If `found` is false: Error and exit.
|
|
25
|
-
|
|
26
|
-
## Step 2: Check Existing Research
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
If exists: Offer update/view/skip options.
|
|
33
|
-
|
|
34
|
-
## Step 3: Gather Phase Context
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
INIT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" init phase-op "${PHASE}")
|
|
38
|
-
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
39
|
-
# Extract: phase_dir, padded_phase, phase_number, state_path, requirements_path, context_path
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Step 4: Spawn Researcher
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Task(
|
|
46
|
-
prompt="<objective>
|
|
47
|
-
Research implementation approach for Phase {phase}: {name}
|
|
48
|
-
</objective>
|
|
49
|
-
|
|
50
|
-
<files_to_read>
|
|
51
|
-
- {context_path} (USER DECISIONS from /ez:discuss-phase)
|
|
52
|
-
- {requirements_path} (Project requirements)
|
|
53
|
-
- {state_path} (Project decisions and history)
|
|
54
|
-
</files_to_read>
|
|
55
|
-
|
|
56
|
-
<additional_context>
|
|
57
|
-
Phase description: {description}
|
|
58
|
-
</additional_context>
|
|
59
|
-
|
|
60
|
-
<output>
|
|
61
|
-
Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
|
|
62
|
-
</output>",
|
|
63
|
-
subagent_type="ez-phase-researcher",
|
|
64
|
-
model="{researcher_model}"
|
|
65
|
-
)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Step 5: Handle Return
|
|
69
|
-
|
|
70
|
-
- `## RESEARCH COMPLETE` — Display summary, offer: Plan/Dig deeper/Review/Done
|
|
71
|
-
- `## CHECKPOINT REACHED` — Present to user, spawn continuation
|
|
72
|
-
- `## RESEARCH INCONCLUSIVE` — Show attempts, offer: Add context/Try different mode/Manual
|
|
73
|
-
|
|
74
|
-
</process>
|
|
1
|
+
<purpose>
|
|
2
|
+
Research how to implement a phase. Spawns ez-phase-researcher with phase context.
|
|
3
|
+
|
|
4
|
+
Standalone research command. For most workflows, use `/ez:plan-phase` which integrates research automatically.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<process>
|
|
8
|
+
|
|
9
|
+
## Step 0: Resolve Model Profile
|
|
10
|
+
|
|
11
|
+
@~/.claude/ez-agents/references/model-profile-resolution.md
|
|
12
|
+
|
|
13
|
+
Resolve model for:
|
|
14
|
+
- `ez-phase-researcher`
|
|
15
|
+
|
|
16
|
+
## Step 1: Normalize and Validate Phase
|
|
17
|
+
|
|
18
|
+
@~/.claude/ez-agents/references/phase-argument-parsing.md
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
PHASE_INFO=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" roadmap get-phase "${PHASE}")
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
If `found` is false: Error and exit.
|
|
25
|
+
|
|
26
|
+
## Step 2: Check Existing Research
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If exists: Offer update/view/skip options.
|
|
33
|
+
|
|
34
|
+
## Step 3: Gather Phase Context
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
INIT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" init phase-op "${PHASE}")
|
|
38
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
39
|
+
# Extract: phase_dir, padded_phase, phase_number, state_path, requirements_path, context_path
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Step 4: Spawn Researcher
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Task(
|
|
46
|
+
prompt="<objective>
|
|
47
|
+
Research implementation approach for Phase {phase}: {name}
|
|
48
|
+
</objective>
|
|
49
|
+
|
|
50
|
+
<files_to_read>
|
|
51
|
+
- {context_path} (USER DECISIONS from /ez:discuss-phase)
|
|
52
|
+
- {requirements_path} (Project requirements)
|
|
53
|
+
- {state_path} (Project decisions and history)
|
|
54
|
+
</files_to_read>
|
|
55
|
+
|
|
56
|
+
<additional_context>
|
|
57
|
+
Phase description: {description}
|
|
58
|
+
</additional_context>
|
|
59
|
+
|
|
60
|
+
<output>
|
|
61
|
+
Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
|
|
62
|
+
</output>",
|
|
63
|
+
subagent_type="ez-phase-researcher",
|
|
64
|
+
model="{researcher_model}"
|
|
65
|
+
)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Step 5: Handle Return
|
|
69
|
+
|
|
70
|
+
- `## RESEARCH COMPLETE` — Display summary, offer: Plan/Dig deeper/Review/Done
|
|
71
|
+
- `## CHECKPOINT REACHED` — Present to user, spawn continuation
|
|
72
|
+
- `## RESEARCH INCONCLUSIVE` — Show attempts, offer: Add context/Try different mode/Manual
|
|
73
|
+
|
|
74
|
+
</process>
|