@howlil/ez-agents 2.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 -0
- package/README.md +845 -0
- package/README.zh-CN.md +702 -0
- package/agents/ez-codebase-mapper.md +770 -0
- package/agents/ez-debugger.md +1255 -0
- package/agents/ez-executor.md +487 -0
- package/agents/ez-integration-checker.md +443 -0
- package/agents/ez-nyquist-auditor.md +176 -0
- package/agents/ez-phase-researcher.md +553 -0
- package/agents/ez-plan-checker.md +706 -0
- package/agents/ez-planner.md +1307 -0
- package/agents/ez-project-researcher.md +629 -0
- package/agents/ez-research-synthesizer.md +247 -0
- package/agents/ez-roadmapper.md +650 -0
- package/agents/ez-ui-auditor.md +441 -0
- package/agents/ez-ui-checker.md +302 -0
- package/agents/ez-ui-researcher.md +355 -0
- package/agents/ez-verifier.md +579 -0
- package/bin/install.js +2862 -0
- package/bin/update.js +214 -0
- package/commands/ez/add-phase.md +43 -0
- package/commands/ez/add-tests.md +41 -0
- package/commands/ez/add-todo.md +47 -0
- package/commands/ez/audit-milestone.md +36 -0
- package/commands/ez/autonomous.md +41 -0
- package/commands/ez/check-todos.md +45 -0
- package/commands/ez/cleanup.md +18 -0
- package/commands/ez/complete-milestone.md +136 -0
- package/commands/ez/debug.md +168 -0
- package/commands/ez/discuss-phase.md +90 -0
- package/commands/ez/execute-phase.md +41 -0
- package/commands/ez/health.md +22 -0
- package/commands/ez/help.md +22 -0
- package/commands/ez/insert-phase.md +32 -0
- package/commands/ez/join-discord.md +18 -0
- package/commands/ez/list-phase-assumptions.md +46 -0
- package/commands/ez/map-codebase.md +71 -0
- package/commands/ez/new-milestone.md +44 -0
- package/commands/ez/new-project.md +42 -0
- package/commands/ez/pause-work.md +38 -0
- package/commands/ez/plan-milestone-gaps.md +34 -0
- package/commands/ez/plan-phase.md +45 -0
- package/commands/ez/progress.md +24 -0
- package/commands/ez/quick.md +45 -0
- package/commands/ez/reapply-patches.md +124 -0
- package/commands/ez/remove-phase.md +31 -0
- package/commands/ez/research-phase.md +190 -0
- package/commands/ez/resume-work.md +40 -0
- package/commands/ez/set-profile.md +34 -0
- package/commands/ez/settings.md +36 -0
- package/commands/ez/stats.md +18 -0
- package/commands/ez/ui-phase.md +34 -0
- package/commands/ez/ui-review.md +32 -0
- package/commands/ez/update.md +37 -0
- package/commands/ez/validate-phase.md +35 -0
- package/commands/ez/verify-work.md +38 -0
- package/get-shit-done/bin/ez-tools.cjs +598 -0
- package/get-shit-done/bin/lib/assistant-adapter.cjs +205 -0
- package/get-shit-done/bin/lib/audit-exec.cjs +150 -0
- package/get-shit-done/bin/lib/auth.cjs +175 -0
- package/get-shit-done/bin/lib/circuit-breaker.cjs +118 -0
- package/get-shit-done/bin/lib/commands.cjs +666 -0
- package/get-shit-done/bin/lib/config.cjs +183 -0
- package/get-shit-done/bin/lib/core.cjs +495 -0
- package/get-shit-done/bin/lib/file-lock.cjs +236 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +299 -0
- package/get-shit-done/bin/lib/fs-utils.cjs +153 -0
- package/get-shit-done/bin/lib/git-utils.cjs +203 -0
- package/get-shit-done/bin/lib/health-check.cjs +163 -0
- package/get-shit-done/bin/lib/index.cjs +113 -0
- package/get-shit-done/bin/lib/init.cjs +710 -0
- package/get-shit-done/bin/lib/logger.cjs +117 -0
- package/get-shit-done/bin/lib/milestone.cjs +241 -0
- package/get-shit-done/bin/lib/model-provider.cjs +146 -0
- package/get-shit-done/bin/lib/phase.cjs +908 -0
- package/get-shit-done/bin/lib/retry.cjs +119 -0
- package/get-shit-done/bin/lib/roadmap.cjs +305 -0
- package/get-shit-done/bin/lib/safe-exec.cjs +128 -0
- package/get-shit-done/bin/lib/safe-path.cjs +130 -0
- package/get-shit-done/bin/lib/state.cjs +721 -0
- package/get-shit-done/bin/lib/temp-file.cjs +239 -0
- package/get-shit-done/bin/lib/template.cjs +222 -0
- package/get-shit-done/bin/lib/test-file-lock.cjs +112 -0
- package/get-shit-done/bin/lib/test-graceful.cjs +93 -0
- package/get-shit-done/bin/lib/test-logger.cjs +60 -0
- package/get-shit-done/bin/lib/test-safe-exec.cjs +38 -0
- package/get-shit-done/bin/lib/test-safe-path.cjs +33 -0
- package/get-shit-done/bin/lib/test-temp-file.cjs +125 -0
- package/get-shit-done/bin/lib/timeout-exec.cjs +62 -0
- package/get-shit-done/bin/lib/verify.cjs +820 -0
- package/get-shit-done/references/checkpoints.md +776 -0
- package/get-shit-done/references/continuation-format.md +249 -0
- package/get-shit-done/references/decimal-phase-calculation.md +65 -0
- package/get-shit-done/references/git-integration.md +248 -0
- package/get-shit-done/references/git-planning-commit.md +38 -0
- package/get-shit-done/references/model-profile-resolution.md +34 -0
- package/get-shit-done/references/model-profiles.md +93 -0
- package/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/get-shit-done/references/planning-config.md +200 -0
- package/get-shit-done/references/questioning.md +162 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/verification-patterns.md +612 -0
- package/get-shit-done/templates/DEBUG.md +164 -0
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/UI-SPEC.md +100 -0
- package/get-shit-done/templates/VALIDATION.md +76 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +37 -0
- package/get-shit-done/templates/context.md +352 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/copilot-instructions.md +7 -0
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +610 -0
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/project.md +184 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +552 -0
- package/get-shit-done/templates/retrospective.md +54 -0
- package/get-shit-done/templates/roadmap.md +202 -0
- package/get-shit-done/templates/state.md +176 -0
- package/get-shit-done/templates/summary-complex.md +59 -0
- package/get-shit-done/templates/summary-minimal.md +41 -0
- package/get-shit-done/templates/summary-standard.md +48 -0
- package/get-shit-done/templates/summary.md +248 -0
- package/get-shit-done/templates/user-setup.md +311 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/add-phase.md +112 -0
- package/get-shit-done/workflows/add-tests.md +351 -0
- package/get-shit-done/workflows/add-todo.md +158 -0
- package/get-shit-done/workflows/audit-milestone.md +332 -0
- package/get-shit-done/workflows/autonomous.md +743 -0
- package/get-shit-done/workflows/check-todos.md +177 -0
- package/get-shit-done/workflows/cleanup.md +152 -0
- package/get-shit-done/workflows/complete-milestone.md +766 -0
- package/get-shit-done/workflows/diagnose-issues.md +219 -0
- package/get-shit-done/workflows/discovery-phase.md +289 -0
- package/get-shit-done/workflows/discuss-phase.md +762 -0
- package/get-shit-done/workflows/execute-phase.md +468 -0
- package/get-shit-done/workflows/execute-plan.md +483 -0
- package/get-shit-done/workflows/health.md +159 -0
- package/get-shit-done/workflows/help.md +492 -0
- package/get-shit-done/workflows/insert-phase.md +130 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/map-codebase.md +316 -0
- package/get-shit-done/workflows/new-milestone.md +384 -0
- package/get-shit-done/workflows/new-project.md +1111 -0
- package/get-shit-done/workflows/node-repair.md +92 -0
- package/get-shit-done/workflows/pause-work.md +122 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +274 -0
- package/get-shit-done/workflows/plan-phase.md +651 -0
- package/get-shit-done/workflows/progress.md +382 -0
- package/get-shit-done/workflows/quick.md +610 -0
- package/get-shit-done/workflows/remove-phase.md +155 -0
- package/get-shit-done/workflows/research-phase.md +74 -0
- package/get-shit-done/workflows/resume-project.md +307 -0
- package/get-shit-done/workflows/set-profile.md +81 -0
- package/get-shit-done/workflows/settings.md +242 -0
- package/get-shit-done/workflows/stats.md +57 -0
- package/get-shit-done/workflows/transition.md +544 -0
- package/get-shit-done/workflows/ui-phase.md +290 -0
- package/get-shit-done/workflows/ui-review.md +157 -0
- package/get-shit-done/workflows/update.md +320 -0
- package/get-shit-done/workflows/validate-phase.md +167 -0
- package/get-shit-done/workflows/verify-phase.md +243 -0
- package/get-shit-done/workflows/verify-work.md +584 -0
- package/package.json +55 -0
- package/scripts/build-hooks.js +43 -0
- package/scripts/run-tests.cjs +29 -0
package/bin/update.js
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* EZ Agents Update — Check and install updates
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ez-agents-update # Check for updates
|
|
8
|
+
* ez-agents-update --check # Check only
|
|
9
|
+
* ez-agents-update --force # Force reinstall
|
|
10
|
+
* ez-agents-update --changelog # Show changelog
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const { execSync } = require('child_process');
|
|
14
|
+
const path = require('path');
|
|
15
|
+
|
|
16
|
+
const PACKAGE_NAME = 'ez-agents';
|
|
17
|
+
const REPO_URL = 'https://github.com/howlil/ez-agents.git';
|
|
18
|
+
|
|
19
|
+
// Colors for output
|
|
20
|
+
const colors = {
|
|
21
|
+
reset: '\x1b[0m',
|
|
22
|
+
green: '\x1b[32m',
|
|
23
|
+
yellow: '\x1b[33m',
|
|
24
|
+
blue: '\x1b[34m',
|
|
25
|
+
red: '\x1b[31m',
|
|
26
|
+
bold: '\x1b[1m'
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
function log(message, color = 'reset') {
|
|
30
|
+
console.log(`${colors[color]}${message}${colors.reset}`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get current installed version
|
|
35
|
+
*/
|
|
36
|
+
function getCurrentVersion() {
|
|
37
|
+
try {
|
|
38
|
+
const pkg = require('./package.json');
|
|
39
|
+
return pkg.version;
|
|
40
|
+
} catch {
|
|
41
|
+
return 'unknown';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Get latest version from npm
|
|
47
|
+
*/
|
|
48
|
+
function getLatestVersion() {
|
|
49
|
+
try {
|
|
50
|
+
const output = execSync(`npm view ${PACKAGE_NAME} version`, {
|
|
51
|
+
encoding: 'utf-8',
|
|
52
|
+
stdio: ['pipe', 'pipe', 'ignore']
|
|
53
|
+
});
|
|
54
|
+
return output.trim();
|
|
55
|
+
} catch {
|
|
56
|
+
// Fallback: check GitHub repo
|
|
57
|
+
try {
|
|
58
|
+
const output = execSync(`npm view git+${REPO_URL} version`, {
|
|
59
|
+
encoding: 'utf-8',
|
|
60
|
+
stdio: ['pipe', 'pipe', 'ignore']
|
|
61
|
+
});
|
|
62
|
+
return output.trim();
|
|
63
|
+
} catch {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Check if update is available
|
|
71
|
+
*/
|
|
72
|
+
function checkUpdate() {
|
|
73
|
+
const current = getCurrentVersion();
|
|
74
|
+
const latest = getLatestVersion();
|
|
75
|
+
|
|
76
|
+
log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'blue');
|
|
77
|
+
log(' EZ Agents Update Check', 'bold');
|
|
78
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n', 'blue');
|
|
79
|
+
|
|
80
|
+
log(`Current version: ${colors.bold}v${current}${colors.reset}`);
|
|
81
|
+
|
|
82
|
+
if (!latest) {
|
|
83
|
+
log('Unable to check for updates (no network or repo unavailable)', 'yellow');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
log(`Latest version: ${colors.bold}v${latest}${colors.reset}\n`);
|
|
88
|
+
|
|
89
|
+
if (current === latest) {
|
|
90
|
+
log('✓ You are on the latest version!\n', 'green');
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
log(`⚡ Update available: v${current} → v${latest}\n`, 'yellow');
|
|
95
|
+
log('To update, run:\n', 'blue');
|
|
96
|
+
log(` npm install -g ${PACKAGE_NAME}@latest\n`, 'green');
|
|
97
|
+
log('Or force reinstall:\n', 'blue');
|
|
98
|
+
log(` ez-agents-update --force\n`, 'green');
|
|
99
|
+
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Install update
|
|
105
|
+
*/
|
|
106
|
+
function installUpdate(force = false) {
|
|
107
|
+
log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'blue');
|
|
108
|
+
log(' EZ Agents Update', 'bold');
|
|
109
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n', 'blue');
|
|
110
|
+
|
|
111
|
+
const current = getCurrentVersion();
|
|
112
|
+
const latest = getLatestVersion();
|
|
113
|
+
|
|
114
|
+
if (!latest) {
|
|
115
|
+
log('Unable to check for updates', 'red');
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (current === latest && !force) {
|
|
120
|
+
log('Already on latest version', 'green');
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
log(`Updating: v${current} → v${latest}...\n`, 'blue');
|
|
125
|
+
|
|
126
|
+
try {
|
|
127
|
+
execSync(`npm install -g ${PACKAGE_NAME}@latest`, {
|
|
128
|
+
stdio: 'inherit'
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
log('\n✓ Update complete!\n', 'green');
|
|
132
|
+
log('Restart your terminal or run:\n', 'blue');
|
|
133
|
+
log(` ez-agents --version\n`, 'green');
|
|
134
|
+
} catch (err) {
|
|
135
|
+
log('\n✗ Update failed\n', 'red');
|
|
136
|
+
log('Try manual install:\n', 'yellow');
|
|
137
|
+
log(` npm install -g ${PACKAGE_NAME}@latest\n`, 'blue');
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Show changelog
|
|
144
|
+
*/
|
|
145
|
+
function showChangelog() {
|
|
146
|
+
log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'blue');
|
|
147
|
+
log(' EZ Agents Changelog', 'bold');
|
|
148
|
+
log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n', 'blue');
|
|
149
|
+
|
|
150
|
+
try {
|
|
151
|
+
const fs = require('fs');
|
|
152
|
+
const changelogPath = path.join(__dirname, 'CHANGELOG.md');
|
|
153
|
+
|
|
154
|
+
if (fs.existsSync(changelogPath)) {
|
|
155
|
+
const content = fs.readFileSync(changelogPath, 'utf-8');
|
|
156
|
+
// Show first 50 lines
|
|
157
|
+
const lines = content.split('\n').slice(0, 50);
|
|
158
|
+
log(lines.join('\n'));
|
|
159
|
+
} else {
|
|
160
|
+
log('CHANGELOG.md not found', 'yellow');
|
|
161
|
+
log(`\nView online: ${REPO_URL}/blob/main/CHANGELOG.md\n`, 'blue');
|
|
162
|
+
}
|
|
163
|
+
} catch (err) {
|
|
164
|
+
log('Unable to read changelog', 'red');
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Show help
|
|
170
|
+
*/
|
|
171
|
+
function showHelp() {
|
|
172
|
+
log(`
|
|
173
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
174
|
+
EZ Agents Update — Check and Install Updates
|
|
175
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
176
|
+
|
|
177
|
+
Usage:
|
|
178
|
+
ez-agents-update [options]
|
|
179
|
+
|
|
180
|
+
Options:
|
|
181
|
+
--check Check for updates (don't install)
|
|
182
|
+
--force Force reinstall even if up-to-date
|
|
183
|
+
--changelog Show changelog
|
|
184
|
+
--help Show this help message
|
|
185
|
+
|
|
186
|
+
Examples:
|
|
187
|
+
ez-agents-update # Check and prompt to update
|
|
188
|
+
ez-agents-update --check # Check only
|
|
189
|
+
ez-agents-update --force # Force reinstall
|
|
190
|
+
ez-agents-update --changelog # View changelog
|
|
191
|
+
|
|
192
|
+
Manual Update:
|
|
193
|
+
npm install -g ez-agents@latest
|
|
194
|
+
`);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Main
|
|
198
|
+
const args = process.argv.slice(2);
|
|
199
|
+
|
|
200
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
201
|
+
showHelp();
|
|
202
|
+
} else if (args.includes('--changelog')) {
|
|
203
|
+
showChangelog();
|
|
204
|
+
} else if (args.includes('--check')) {
|
|
205
|
+
checkUpdate();
|
|
206
|
+
} else if (args.includes('--force')) {
|
|
207
|
+
installUpdate(true);
|
|
208
|
+
} else {
|
|
209
|
+
const hasUpdate = checkUpdate();
|
|
210
|
+
if (hasUpdate) {
|
|
211
|
+
// Auto-prompt (simple version)
|
|
212
|
+
log('Run "ez-agents-update --force" to update now\n');
|
|
213
|
+
}
|
|
214
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:add-phase
|
|
3
|
+
description: Add phase to end of current milestone in roadmap
|
|
4
|
+
argument-hint: <description>
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Add a new integer phase to the end of the current milestone in the roadmap.
|
|
13
|
+
|
|
14
|
+
Routes to the add-phase workflow which handles:
|
|
15
|
+
- Phase number calculation (next sequential integer)
|
|
16
|
+
- Directory creation with slug generation
|
|
17
|
+
- Roadmap structure updates
|
|
18
|
+
- STATE.md roadmap evolution tracking
|
|
19
|
+
</objective>
|
|
20
|
+
|
|
21
|
+
<execution_context>
|
|
22
|
+
@~/.claude/ez-agents/workflows/add-phase.md
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
Arguments: $ARGUMENTS (phase description)
|
|
27
|
+
|
|
28
|
+
Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
|
|
29
|
+
</context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
**Follow the add-phase workflow** from `@~/.claude/ez-agents/workflows/add-phase.md`.
|
|
33
|
+
|
|
34
|
+
The workflow handles all logic including:
|
|
35
|
+
1. Argument parsing and validation
|
|
36
|
+
2. Roadmap existence checking
|
|
37
|
+
3. Current milestone identification
|
|
38
|
+
4. Next phase number calculation (ignoring decimals)
|
|
39
|
+
5. Slug generation from description
|
|
40
|
+
6. Phase directory creation
|
|
41
|
+
7. Roadmap entry insertion
|
|
42
|
+
8. STATE.md updates
|
|
43
|
+
</process>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:add-tests
|
|
3
|
+
description: Generate tests for a completed phase based on UAT criteria and implementation
|
|
4
|
+
argument-hint: "<phase> [additional instructions]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
argument-instructions: |
|
|
15
|
+
Parse the argument as a phase number (integer, decimal, or letter-suffix), plus optional free-text instructions.
|
|
16
|
+
Example: /ez:add-tests 12
|
|
17
|
+
Example: /ez:add-tests 12 focus on edge cases in the pricing module
|
|
18
|
+
---
|
|
19
|
+
<objective>
|
|
20
|
+
Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.
|
|
21
|
+
|
|
22
|
+
Analyzes implementation files, classifies them into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
|
|
23
|
+
|
|
24
|
+
Output: Test files committed with message `test(phase-{N}): add unit and E2E tests from add-tests command`
|
|
25
|
+
</objective>
|
|
26
|
+
|
|
27
|
+
<execution_context>
|
|
28
|
+
@~/.claude/ez-agents/workflows/add-tests.md
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<context>
|
|
32
|
+
Phase: $ARGUMENTS
|
|
33
|
+
|
|
34
|
+
@.planning/STATE.md
|
|
35
|
+
@.planning/ROADMAP.md
|
|
36
|
+
</context>
|
|
37
|
+
|
|
38
|
+
<process>
|
|
39
|
+
Execute the add-tests workflow from @~/.claude/ez-agents/workflows/add-tests.md end-to-end.
|
|
40
|
+
Preserve all workflow gates (classification approval, test plan approval, RED-GREEN verification, gap reporting).
|
|
41
|
+
</process>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:add-todo
|
|
3
|
+
description: Capture idea or task as todo from current conversation context
|
|
4
|
+
argument-hint: [optional description]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Capture an idea, task, or issue that surfaces during an EZ Agents session as a structured todo for later work.
|
|
14
|
+
|
|
15
|
+
Routes to the add-todo workflow which handles:
|
|
16
|
+
- Directory structure creation
|
|
17
|
+
- Content extraction from arguments or conversation
|
|
18
|
+
- Area inference from file paths
|
|
19
|
+
- Duplicate detection and resolution
|
|
20
|
+
- Todo file creation with frontmatter
|
|
21
|
+
- STATE.md updates
|
|
22
|
+
- Git commits
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@~/.claude/ez-agents/workflows/add-todo.md
|
|
27
|
+
</execution_context>
|
|
28
|
+
|
|
29
|
+
<context>
|
|
30
|
+
Arguments: $ARGUMENTS (optional todo description)
|
|
31
|
+
|
|
32
|
+
State is resolved in-workflow via `init todos` and targeted reads.
|
|
33
|
+
</context>
|
|
34
|
+
|
|
35
|
+
<process>
|
|
36
|
+
**Follow the add-todo workflow** from `@~/.claude/ez-agents/workflows/add-todo.md`.
|
|
37
|
+
|
|
38
|
+
The workflow handles all logic including:
|
|
39
|
+
1. Directory ensuring
|
|
40
|
+
2. Existing area checking
|
|
41
|
+
3. Content extraction (arguments or conversation)
|
|
42
|
+
4. Area inference
|
|
43
|
+
5. Duplicate checking
|
|
44
|
+
6. File creation with slug generation
|
|
45
|
+
7. STATE.md updates
|
|
46
|
+
8. Git commits
|
|
47
|
+
</process>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:audit-milestone
|
|
3
|
+
description: Audit milestone completion against original intent before archiving
|
|
4
|
+
argument-hint: "[version]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Bash
|
|
10
|
+
- Task
|
|
11
|
+
- Write
|
|
12
|
+
---
|
|
13
|
+
<objective>
|
|
14
|
+
Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
|
|
15
|
+
|
|
16
|
+
**This command IS the orchestrator.** Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<execution_context>
|
|
20
|
+
@~/.claude/ez-agents/workflows/audit-milestone.md
|
|
21
|
+
</execution_context>
|
|
22
|
+
|
|
23
|
+
<context>
|
|
24
|
+
Version: $ARGUMENTS (optional — defaults to current milestone)
|
|
25
|
+
|
|
26
|
+
Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
|
|
27
|
+
|
|
28
|
+
**Completed Work:**
|
|
29
|
+
Glob: .planning/phases/*/*-SUMMARY.md
|
|
30
|
+
Glob: .planning/phases/*/*-VERIFICATION.md
|
|
31
|
+
</context>
|
|
32
|
+
|
|
33
|
+
<process>
|
|
34
|
+
Execute the audit-milestone workflow from @~/.claude/ez-agents/workflows/audit-milestone.md end-to-end.
|
|
35
|
+
Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
|
|
36
|
+
</process>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:autonomous
|
|
3
|
+
description: Run all remaining phases autonomously — discuss→plan→execute per phase
|
|
4
|
+
argument-hint: "[--from N]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
- Task
|
|
13
|
+
---
|
|
14
|
+
<objective>
|
|
15
|
+
Execute all remaining milestone phases autonomously. For each phase: discuss → plan → execute. Pauses only for user decisions (grey area acceptance, blockers, validation requests).
|
|
16
|
+
|
|
17
|
+
Uses ROADMAP.md phase discovery and Skill() flat invocations for each phase command. After all phases complete: milestone audit → complete → cleanup.
|
|
18
|
+
|
|
19
|
+
**Creates/Updates:**
|
|
20
|
+
- `.planning/STATE.md` — updated after each phase
|
|
21
|
+
- `.planning/ROADMAP.md` — progress updated after each phase
|
|
22
|
+
- Phase artifacts — CONTEXT.md, PLANs, SUMMARYs per phase
|
|
23
|
+
|
|
24
|
+
**After:** Milestone is complete and cleaned up.
|
|
25
|
+
</objective>
|
|
26
|
+
|
|
27
|
+
<execution_context>
|
|
28
|
+
@~/.claude/ez-agents/workflows/autonomous.md
|
|
29
|
+
@~/.claude/ez-agents/references/ui-brand.md
|
|
30
|
+
</execution_context>
|
|
31
|
+
|
|
32
|
+
<context>
|
|
33
|
+
Optional flag: `--from N` — start from phase N instead of the first incomplete phase.
|
|
34
|
+
|
|
35
|
+
Project context, phase list, and state are resolved inside the workflow using init commands (`ez-tools.cjs init milestone-op`, `ez-tools.cjs roadmap analyze`). No upfront context loading needed.
|
|
36
|
+
</context>
|
|
37
|
+
|
|
38
|
+
<process>
|
|
39
|
+
Execute the autonomous workflow from @~/.claude/ez-agents/workflows/autonomous.md end-to-end.
|
|
40
|
+
Preserve all workflow gates (phase discovery, per-phase execution, blocker handling, progress display).
|
|
41
|
+
</process>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:check-todos
|
|
3
|
+
description: List pending todos and select one to work on
|
|
4
|
+
argument-hint: [area filter]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
|
|
14
|
+
|
|
15
|
+
Routes to the check-todos workflow which handles:
|
|
16
|
+
- Todo counting and listing with area filtering
|
|
17
|
+
- Interactive selection with full context loading
|
|
18
|
+
- Roadmap correlation checking
|
|
19
|
+
- Action routing (work now, add to phase, brainstorm, create phase)
|
|
20
|
+
- STATE.md updates and git commits
|
|
21
|
+
</objective>
|
|
22
|
+
|
|
23
|
+
<execution_context>
|
|
24
|
+
@~/.claude/ez-agents/workflows/check-todos.md
|
|
25
|
+
</execution_context>
|
|
26
|
+
|
|
27
|
+
<context>
|
|
28
|
+
Arguments: $ARGUMENTS (optional area filter)
|
|
29
|
+
|
|
30
|
+
Todo state and roadmap correlation are loaded in-workflow using `init todos` and targeted reads.
|
|
31
|
+
</context>
|
|
32
|
+
|
|
33
|
+
<process>
|
|
34
|
+
**Follow the check-todos workflow** from `@~/.claude/ez-agents/workflows/check-todos.md`.
|
|
35
|
+
|
|
36
|
+
The workflow handles all logic including:
|
|
37
|
+
1. Todo existence checking
|
|
38
|
+
2. Area filtering
|
|
39
|
+
3. Interactive listing and selection
|
|
40
|
+
4. Full context loading with file summaries
|
|
41
|
+
5. Roadmap correlation checking
|
|
42
|
+
6. Action offering and execution
|
|
43
|
+
7. STATE.md updates
|
|
44
|
+
8. Git commits
|
|
45
|
+
</process>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ez:cleanup
|
|
3
|
+
description: Archive accumulated phase directories from completed milestones
|
|
4
|
+
---
|
|
5
|
+
<objective>
|
|
6
|
+
Archive phase directories from completed milestones into `.planning/milestones/v{X.Y}-phases/`.
|
|
7
|
+
|
|
8
|
+
Use when `.planning/phases/` has accumulated directories from past milestones.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<execution_context>
|
|
12
|
+
@~/.claude/ez-agents/workflows/cleanup.md
|
|
13
|
+
</execution_context>
|
|
14
|
+
|
|
15
|
+
<process>
|
|
16
|
+
Follow the cleanup workflow at @~/.claude/ez-agents/workflows/cleanup.md.
|
|
17
|
+
Identify completed milestones, show a dry-run summary, and archive on confirmation.
|
|
18
|
+
</process>
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: prompt
|
|
3
|
+
name: ez:complete-milestone
|
|
4
|
+
description: Archive completed milestone and prepare for next version
|
|
5
|
+
argument-hint: <version>
|
|
6
|
+
allowed-tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Write
|
|
9
|
+
- Bash
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md and REQUIREMENTS.md.
|
|
14
|
+
|
|
15
|
+
Purpose: Create historical record of shipped version, archive milestone artifacts (roadmap + requirements), and prepare for next milestone.
|
|
16
|
+
Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tagged.
|
|
17
|
+
</objective>
|
|
18
|
+
|
|
19
|
+
<execution_context>
|
|
20
|
+
**Load these files NOW (before proceeding):**
|
|
21
|
+
|
|
22
|
+
- @~/.claude/ez-agents/workflows/complete-milestone.md (main workflow)
|
|
23
|
+
- @~/.claude/ez-agents/templates/milestone-archive.md (archive template)
|
|
24
|
+
</execution_context>
|
|
25
|
+
|
|
26
|
+
<context>
|
|
27
|
+
**Project files:**
|
|
28
|
+
- `.planning/ROADMAP.md`
|
|
29
|
+
- `.planning/REQUIREMENTS.md`
|
|
30
|
+
- `.planning/STATE.md`
|
|
31
|
+
- `.planning/PROJECT.md`
|
|
32
|
+
|
|
33
|
+
**User input:**
|
|
34
|
+
|
|
35
|
+
- Version: {{version}} (e.g., "1.0", "1.1", "2.0")
|
|
36
|
+
</context>
|
|
37
|
+
|
|
38
|
+
<process>
|
|
39
|
+
|
|
40
|
+
**Follow complete-milestone.md workflow:**
|
|
41
|
+
|
|
42
|
+
0. **Check for audit:**
|
|
43
|
+
|
|
44
|
+
- Look for `.planning/v{{version}}-MILESTONE-AUDIT.md`
|
|
45
|
+
- If missing or stale: recommend `/ez:audit-milestone` first
|
|
46
|
+
- If audit status is `gaps_found`: recommend `/ez:plan-milestone-gaps` first
|
|
47
|
+
- If audit status is `passed`: proceed to step 1
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
## Pre-flight Check
|
|
51
|
+
|
|
52
|
+
{If no v{{version}}-MILESTONE-AUDIT.md:}
|
|
53
|
+
⚠ No milestone audit found. Run `/ez:audit-milestone` first to verify
|
|
54
|
+
requirements coverage, cross-phase integration, and E2E flows.
|
|
55
|
+
|
|
56
|
+
{If audit has gaps:}
|
|
57
|
+
⚠ Milestone audit found gaps. Run `/ez:plan-milestone-gaps` to create
|
|
58
|
+
phases that close the gaps, or proceed anyway to accept as tech debt.
|
|
59
|
+
|
|
60
|
+
{If audit passed:}
|
|
61
|
+
✓ Milestone audit passed. Proceeding with completion.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
1. **Verify readiness:**
|
|
65
|
+
|
|
66
|
+
- Check all phases in milestone have completed plans (SUMMARY.md exists)
|
|
67
|
+
- Present milestone scope and stats
|
|
68
|
+
- Wait for confirmation
|
|
69
|
+
|
|
70
|
+
2. **Gather stats:**
|
|
71
|
+
|
|
72
|
+
- Count phases, plans, tasks
|
|
73
|
+
- Calculate git range, file changes, LOC
|
|
74
|
+
- Extract timeline from git log
|
|
75
|
+
- Present summary, confirm
|
|
76
|
+
|
|
77
|
+
3. **Extract accomplishments:**
|
|
78
|
+
|
|
79
|
+
- Read all phase SUMMARY.md files in milestone range
|
|
80
|
+
- Extract 4-6 key accomplishments
|
|
81
|
+
- Present for approval
|
|
82
|
+
|
|
83
|
+
4. **Archive milestone:**
|
|
84
|
+
|
|
85
|
+
- Create `.planning/milestones/v{{version}}-ROADMAP.md`
|
|
86
|
+
- Extract full phase details from ROADMAP.md
|
|
87
|
+
- Fill milestone-archive.md template
|
|
88
|
+
- Update ROADMAP.md to one-line summary with link
|
|
89
|
+
|
|
90
|
+
5. **Archive requirements:**
|
|
91
|
+
|
|
92
|
+
- Create `.planning/milestones/v{{version}}-REQUIREMENTS.md`
|
|
93
|
+
- Mark all v1 requirements as complete (checkboxes checked)
|
|
94
|
+
- Note requirement outcomes (validated, adjusted, dropped)
|
|
95
|
+
- Delete `.planning/REQUIREMENTS.md` (fresh one created for next milestone)
|
|
96
|
+
|
|
97
|
+
6. **Update PROJECT.md:**
|
|
98
|
+
|
|
99
|
+
- Add "Current State" section with shipped version
|
|
100
|
+
- Add "Next Milestone Goals" section
|
|
101
|
+
- Archive previous content in `<details>` (if v1.1+)
|
|
102
|
+
|
|
103
|
+
7. **Commit and tag:**
|
|
104
|
+
|
|
105
|
+
- Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive files
|
|
106
|
+
- Commit: `chore: archive v{{version}} milestone`
|
|
107
|
+
- Tag: `git tag -a v{{version}} -m "[milestone summary]"`
|
|
108
|
+
- Ask about pushing tag
|
|
109
|
+
|
|
110
|
+
8. **Offer next steps:**
|
|
111
|
+
- `/ez:new-milestone` — start next milestone (questioning → research → requirements → roadmap)
|
|
112
|
+
|
|
113
|
+
</process>
|
|
114
|
+
|
|
115
|
+
<success_criteria>
|
|
116
|
+
|
|
117
|
+
- Milestone archived to `.planning/milestones/v{{version}}-ROADMAP.md`
|
|
118
|
+
- Requirements archived to `.planning/milestones/v{{version}}-REQUIREMENTS.md`
|
|
119
|
+
- `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
|
|
120
|
+
- ROADMAP.md collapsed to one-line entry
|
|
121
|
+
- PROJECT.md updated with current state
|
|
122
|
+
- Git tag v{{version}} created
|
|
123
|
+
- Commit successful
|
|
124
|
+
- User knows next steps (including need for fresh requirements)
|
|
125
|
+
</success_criteria>
|
|
126
|
+
|
|
127
|
+
<critical_rules>
|
|
128
|
+
|
|
129
|
+
- **Load workflow first:** Read complete-milestone.md before executing
|
|
130
|
+
- **Verify completion:** All phases must have SUMMARY.md files
|
|
131
|
+
- **User confirmation:** Wait for approval at verification gates
|
|
132
|
+
- **Archive before deleting:** Always create archive files before updating/deleting originals
|
|
133
|
+
- **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
|
|
134
|
+
- **Context efficiency:** Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
|
|
135
|
+
- **Fresh requirements:** Next milestone starts with `/ez:new-milestone` which includes requirements definition
|
|
136
|
+
</critical_rules>
|