devflow-kit 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +5 -7
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +81 -127
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
- package/src/claude/commands/devflow/{pre-pr.md → code-review.md} +1 -1
- package/src/claude/scripts/statusline.sh +37 -69
- package/src/claude/commands/devflow/pre-commit.md +0 -153
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,18 @@ All notable changes to DevFlow will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.2] - 2025-10-17
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- **Simplified init command output** - Reduced installation output from ~60-80 lines to ~10-15 lines
|
|
12
|
+
- **Unified review commands** - Consolidated /pre-commit and /pre-pr into single /code-review command
|
|
13
|
+
- **Streamlined statusline** - Removed cost/API metrics, added CPU/memory monitoring (28% code reduction)
|
|
14
|
+
|
|
15
|
+
### Improved
|
|
16
|
+
- Replaced /catch-up suggestion with comprehensive commands reference for better initial UX
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
8
20
|
## [0.3.1] - 2025-10-17
|
|
9
21
|
|
|
10
22
|
### Fixed
|
|
@@ -250,6 +262,7 @@ devflow init
|
|
|
250
262
|
|
|
251
263
|
---
|
|
252
264
|
|
|
265
|
+
[0.3.2]: https://github.com/dean0x/devflow/releases/tag/v0.3.2
|
|
253
266
|
[0.3.1]: https://github.com/dean0x/devflow/releases/tag/v0.3.1
|
|
254
267
|
[0.3.0]: https://github.com/dean0x/devflow/releases/tag/v0.3.0
|
|
255
268
|
[0.2.0]: https://github.com/dean0x/devflow/releases/tag/v0.2.0
|
package/README.md
CHANGED
|
@@ -22,9 +22,8 @@ That's it! DevFlow is now installed and ready to use in Claude Code.
|
|
|
22
22
|
| `/devlog` | Development log for comprehensive session documentation | Ending a session |
|
|
23
23
|
| `/plan-next-steps` | Extract actionable next steps from current discussion | After planning discussion |
|
|
24
24
|
| `/debug [issue]` | Systematic debugging with issue-specific investigation | When troubleshooting |
|
|
25
|
-
| `/
|
|
25
|
+
| `/code-review` | Comprehensive code review using specialized sub-agents | Before committing or creating PR |
|
|
26
26
|
| `/commit` | Intelligent atomic commit creation with safety checks | When ready to commit |
|
|
27
|
-
| `/pre-pr` | Comprehensive branch review for PR readiness | Before creating PR |
|
|
28
27
|
| `/release` | Automated release workflow with version management and publishing | Creating a new release |
|
|
29
28
|
|
|
30
29
|
### 🤖 Sub-Agents
|
|
@@ -97,17 +96,17 @@ Covers patterns for all major languages and operating systems.
|
|
|
97
96
|
|
|
98
97
|
### During Development
|
|
99
98
|
1. `/research [topic]` - Research implementation approaches before coding
|
|
100
|
-
2. `/
|
|
99
|
+
2. `/code-review` - Review changes before committing
|
|
101
100
|
3. `/commit` - Create intelligent atomic commits
|
|
102
101
|
4. Invoke audit sub-agents as needed
|
|
103
102
|
|
|
104
103
|
### Ending a Session
|
|
105
104
|
1. `/devlog` - Document decisions and state
|
|
106
|
-
2. `/
|
|
105
|
+
2. `/code-review` - Review branch before creating PR
|
|
107
106
|
3. `/commit` - Final commits with validation
|
|
108
107
|
|
|
109
108
|
### Creating a Release
|
|
110
|
-
1. `/
|
|
109
|
+
1. `/code-review` - Comprehensive branch review
|
|
111
110
|
2. `/release` - Automated release workflow
|
|
112
111
|
- Detects project type (Node.js, Rust, Python, Go, etc.)
|
|
113
112
|
- Analyzes commits and suggests version bump
|
|
@@ -163,9 +162,8 @@ git commit -m "Session status: completed user auth feature"
|
|
|
163
162
|
### Integration Examples
|
|
164
163
|
```bash
|
|
165
164
|
/research "add JWT authentication" # Research before implementing
|
|
166
|
-
/
|
|
165
|
+
/code-review # Review changes (uncommitted or full branch)
|
|
167
166
|
/commit # Create atomic commits
|
|
168
|
-
/pre-pr # Branch review before PR
|
|
169
167
|
/release # Automated release workflow
|
|
170
168
|
/debug "TypeError in auth module" # Debug specific issue
|
|
171
169
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,eAAO,MAAM,WAAW,SAycpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -60,8 +60,17 @@ export const initCommand = new Command('init')
|
|
|
60
60
|
.option('--force', 'Override existing settings.json and CLAUDE.md (prompts for confirmation)')
|
|
61
61
|
.option('-y, --yes', 'Auto-approve all prompts (use with --force)')
|
|
62
62
|
.action(async (options) => {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
// Get package version
|
|
64
|
+
const packageJsonPath = path.resolve(__dirname, '../../package.json');
|
|
65
|
+
let version = '';
|
|
66
|
+
try {
|
|
67
|
+
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
|
|
68
|
+
version = packageJson.version;
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
version = 'unknown';
|
|
72
|
+
}
|
|
73
|
+
console.log(`🚀 DevFlow v${version}${options.force ? ' [--force]' : ''}\n`);
|
|
65
74
|
// Get installation paths with proper validation
|
|
66
75
|
let claudeDir;
|
|
67
76
|
let devflowDir;
|
|
@@ -76,21 +85,35 @@ export const initCommand = new Command('init')
|
|
|
76
85
|
// Check for Claude Code
|
|
77
86
|
try {
|
|
78
87
|
await fs.access(claudeDir);
|
|
79
|
-
console.log(`🔍 Detected Claude Code at ${claudeDir} ✅\n`);
|
|
80
88
|
}
|
|
81
89
|
catch {
|
|
82
90
|
console.error(`❌ Claude Code not detected at ${claudeDir}`);
|
|
83
|
-
console.error('
|
|
84
|
-
console.error('
|
|
91
|
+
console.error(' Install from: https://claude.com/claude-code');
|
|
92
|
+
console.error(' Or set CLAUDE_CODE_DIR if installed elsewhere\n');
|
|
85
93
|
process.exit(1);
|
|
86
94
|
}
|
|
87
|
-
|
|
95
|
+
// Handle --force flag prompt
|
|
96
|
+
let forceOverride = false;
|
|
97
|
+
if (options.force) {
|
|
98
|
+
if (options.yes) {
|
|
99
|
+
forceOverride = true;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.log('⚠️ WARNING: Force override will replace settings.json and CLAUDE.md');
|
|
103
|
+
console.log(' Backups: settings.json.backup, CLAUDE.md.backup\n');
|
|
104
|
+
forceOverride = await promptUser('Proceed? (y/N): ');
|
|
105
|
+
console.log();
|
|
106
|
+
if (!forceOverride) {
|
|
107
|
+
console.log('❌ Cancelled. Use init without --force for safe installation.\n');
|
|
108
|
+
process.exit(0);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
88
112
|
// Get the root directory of the devflow package
|
|
89
113
|
const rootDir = path.resolve(__dirname, '../..');
|
|
90
114
|
const claudeSourceDir = path.join(rootDir, 'src', 'claude');
|
|
91
115
|
try {
|
|
92
116
|
// Clean old DevFlow files before installing
|
|
93
|
-
console.log(' 🧹 Cleaning old DevFlow files...');
|
|
94
117
|
const commandsDevflowDir = path.join(claudeDir, 'commands', 'devflow');
|
|
95
118
|
const agentsDevflowDir = path.join(claudeDir, 'agents', 'devflow');
|
|
96
119
|
const devflowScriptsDir = path.join(devflowDir, 'scripts');
|
|
@@ -103,16 +126,11 @@ export const initCommand = new Command('init')
|
|
|
103
126
|
catch (e) {
|
|
104
127
|
// Directories might not exist on first install
|
|
105
128
|
}
|
|
106
|
-
// Install
|
|
107
|
-
console.log(' 📂 Installing commands...');
|
|
129
|
+
// Install components silently
|
|
108
130
|
await fs.mkdir(commandsDevflowDir, { recursive: true });
|
|
109
131
|
await copyDirectory(path.join(claudeSourceDir, 'commands', 'devflow'), commandsDevflowDir);
|
|
110
|
-
// Install sub-agents
|
|
111
|
-
console.log(' 🤖 Installing sub-agents...');
|
|
112
132
|
await fs.mkdir(agentsDevflowDir, { recursive: true });
|
|
113
133
|
await copyDirectory(path.join(claudeSourceDir, 'agents', 'devflow'), agentsDevflowDir);
|
|
114
|
-
// Install scripts
|
|
115
|
-
console.log(' 📜 Installing scripts...');
|
|
116
134
|
await fs.mkdir(devflowScriptsDir, { recursive: true });
|
|
117
135
|
await copyDirectory(path.join(claudeSourceDir, 'scripts'), devflowScriptsDir);
|
|
118
136
|
// Make scripts executable
|
|
@@ -120,30 +138,9 @@ export const initCommand = new Command('init')
|
|
|
120
138
|
for (const script of scripts) {
|
|
121
139
|
await fs.chmod(path.join(devflowScriptsDir, script), 0o755);
|
|
122
140
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (options.force) {
|
|
126
|
-
if (options.yes) {
|
|
127
|
-
console.log(' ⚠️ Force override enabled with auto-approval (-y flag)\n');
|
|
128
|
-
forceOverride = true;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
console.log(' ⚠️ WARNING: --force flag will override existing settings.json and CLAUDE.md\n');
|
|
132
|
-
console.log(' This will:');
|
|
133
|
-
console.log(' • Replace ~/.claude/settings.json with DevFlow settings');
|
|
134
|
-
console.log(' • Replace ~/.claude/CLAUDE.md with DevFlow global instructions\n');
|
|
135
|
-
forceOverride = await promptUser(' Do you want to proceed? (y/N): ');
|
|
136
|
-
console.log();
|
|
137
|
-
if (!forceOverride) {
|
|
138
|
-
console.log(' ❌ Force override cancelled. Proceeding with safe installation.\n');
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
console.log(' ✅ Force override approved. Proceeding...\n');
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
141
|
+
console.log('✓ Claude Code detected');
|
|
142
|
+
console.log('✓ Installing components... (commands, agents, scripts)');
|
|
145
143
|
// Install settings with smart backup
|
|
146
|
-
console.log(' ⚙️ Installing settings...');
|
|
147
144
|
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
148
145
|
const managedSettingsPath = path.join(claudeDir, 'managed-settings.json');
|
|
149
146
|
const devflowSettingsPath = path.join(claudeDir, 'settings.devflow.json');
|
|
@@ -154,14 +151,12 @@ export const initCommand = new Command('init')
|
|
|
154
151
|
try {
|
|
155
152
|
await fs.access(settingsPath);
|
|
156
153
|
await fs.rename(settingsPath, path.join(claudeDir, 'settings.json.backup'));
|
|
157
|
-
console.log(' 💾 Existing settings backed up to: settings.json.backup');
|
|
158
154
|
}
|
|
159
155
|
catch {
|
|
160
156
|
// No existing file
|
|
161
157
|
}
|
|
162
158
|
await fs.copyFile(sourceSettingsPath, settingsPath);
|
|
163
159
|
settingsAction = 'force-installed';
|
|
164
|
-
console.log(' ✅ DevFlow settings force-installed to: settings.json');
|
|
165
160
|
}
|
|
166
161
|
else {
|
|
167
162
|
// Safe installation logic
|
|
@@ -175,27 +170,21 @@ export const initCommand = new Command('init')
|
|
|
175
170
|
// managed-settings.json exists - install as settings.devflow.json
|
|
176
171
|
await fs.copyFile(sourceSettingsPath, devflowSettingsPath);
|
|
177
172
|
settingsAction = 'saved-as-devflow';
|
|
178
|
-
console.log(' ⚠️ Your existing settings.json is preserved');
|
|
179
|
-
console.log(' 📄 DevFlow settings saved to: settings.devflow.json');
|
|
180
173
|
}
|
|
181
174
|
catch {
|
|
182
175
|
// managed-settings.json doesn't exist - safe to backup and install
|
|
183
176
|
await fs.rename(settingsPath, managedSettingsPath);
|
|
184
177
|
await fs.copyFile(sourceSettingsPath, settingsPath);
|
|
185
178
|
settingsAction = 'backed-up';
|
|
186
|
-
console.log(' 💾 Your settings backed up to: managed-settings.json');
|
|
187
|
-
console.log(' ✅ DevFlow settings installed to: settings.json');
|
|
188
179
|
}
|
|
189
180
|
}
|
|
190
181
|
catch {
|
|
191
182
|
// No existing settings.json - install normally
|
|
192
183
|
await fs.copyFile(sourceSettingsPath, settingsPath);
|
|
193
184
|
settingsAction = 'fresh-install';
|
|
194
|
-
console.log(' ✅ DevFlow settings installed to: settings.json');
|
|
195
185
|
}
|
|
196
186
|
}
|
|
197
187
|
// Install CLAUDE.md with smart backup
|
|
198
|
-
console.log(' 📘 Installing global CLAUDE.md...');
|
|
199
188
|
const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');
|
|
200
189
|
const devflowClaudeMdPath = path.join(claudeDir, 'CLAUDE.devflow.md');
|
|
201
190
|
const sourceClaudeMdPath = path.join(claudeSourceDir, 'CLAUDE.md');
|
|
@@ -205,14 +194,12 @@ export const initCommand = new Command('init')
|
|
|
205
194
|
try {
|
|
206
195
|
await fs.access(claudeMdPath);
|
|
207
196
|
await fs.rename(claudeMdPath, path.join(claudeDir, 'CLAUDE.md.backup'));
|
|
208
|
-
console.log(' 💾 Existing CLAUDE.md backed up to: CLAUDE.md.backup');
|
|
209
197
|
}
|
|
210
198
|
catch {
|
|
211
199
|
// No existing file
|
|
212
200
|
}
|
|
213
201
|
await fs.copyFile(sourceClaudeMdPath, claudeMdPath);
|
|
214
202
|
claudeMdAction = 'force-installed';
|
|
215
|
-
console.log(' ✅ DevFlow CLAUDE.md force-installed');
|
|
216
203
|
}
|
|
217
204
|
else {
|
|
218
205
|
// Safe installation logic
|
|
@@ -222,69 +209,37 @@ export const initCommand = new Command('init')
|
|
|
222
209
|
// User has CLAUDE.md - install as CLAUDE.devflow.md
|
|
223
210
|
await fs.copyFile(sourceClaudeMdPath, devflowClaudeMdPath);
|
|
224
211
|
claudeMdAction = 'saved-as-devflow';
|
|
225
|
-
console.log(' ⚠️ Your existing CLAUDE.md is preserved');
|
|
226
|
-
console.log(' 📄 DevFlow CLAUDE.md saved to: CLAUDE.devflow.md');
|
|
227
212
|
}
|
|
228
213
|
catch {
|
|
229
214
|
// No existing CLAUDE.md - install normally
|
|
230
215
|
await fs.copyFile(sourceClaudeMdPath, claudeMdPath);
|
|
231
216
|
claudeMdAction = 'fresh-install';
|
|
232
|
-
console.log(' ✅ DevFlow CLAUDE.md installed');
|
|
233
217
|
}
|
|
234
218
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
console.log('⚙️ SETTINGS CONFIGURATION REQUIRED:\n');
|
|
239
|
-
console.log(' Your existing settings.json was preserved because managed-settings.json');
|
|
240
|
-
console.log(' already exists. DevFlow settings are in settings.devflow.json\n');
|
|
241
|
-
console.log(` To use DevFlow settings (statusline), manually merge into ${settingsPath}:`);
|
|
242
|
-
console.log(' ```json');
|
|
243
|
-
console.log(' {');
|
|
244
|
-
console.log(' "statusLine": {');
|
|
245
|
-
console.log(' "type": "command",');
|
|
246
|
-
console.log(` "command": "${path.join(devflowDir, 'scripts', 'statusline.sh')}"`);
|
|
247
|
-
console.log(' }');
|
|
248
|
-
console.log(' }');
|
|
249
|
-
console.log(' ```\n');
|
|
219
|
+
// Show concise status messages
|
|
220
|
+
if (settingsAction === 'force-installed') {
|
|
221
|
+
console.log('✓ Settings force-installed (backup: settings.json.backup)');
|
|
250
222
|
}
|
|
251
223
|
else if (settingsAction === 'backed-up') {
|
|
252
|
-
console.log('
|
|
253
|
-
console.log(` Your original settings saved to: ${managedSettingsPath}`);
|
|
254
|
-
console.log(` DevFlow settings now active in: ${settingsPath}`);
|
|
255
|
-
console.log(` To restore: mv ${managedSettingsPath} ${settingsPath}\n`);
|
|
224
|
+
console.log('✓ Settings configured');
|
|
256
225
|
}
|
|
257
|
-
else if (settingsAction === '
|
|
258
|
-
console.log('⚠️
|
|
259
|
-
console.log(` Your original settings backed up to: ${path.join(claudeDir, 'settings.json.backup')}`);
|
|
260
|
-
console.log(` DevFlow settings now active in: ${settingsPath}\n`);
|
|
226
|
+
else if (settingsAction === 'saved-as-devflow') {
|
|
227
|
+
console.log('⚠️ Existing settings preserved → DevFlow saved to settings.devflow.json');
|
|
261
228
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
console.log(
|
|
267
|
-
console.log(' To use DevFlow global instructions, manually merge into your CLAUDE.md:');
|
|
268
|
-
console.log(' • Engineering Principles (Result types, DI, immutability)');
|
|
269
|
-
console.log(' • Critical Anti-Patterns (NO FAKE SOLUTIONS, FAIL HONESTLY)');
|
|
270
|
-
console.log(' • Code Quality Enforcement (root cause analysis)');
|
|
271
|
-
console.log(' • Type Safety Best Practices (language-agnostic)');
|
|
272
|
-
console.log(' • Architecture Documentation (inline docs)\n');
|
|
273
|
-
console.log(` Or replace entirely: cp ${devflowClaudeMdPath} ${claudeMdPath}\n`);
|
|
229
|
+
else {
|
|
230
|
+
console.log('✓ Settings configured');
|
|
231
|
+
}
|
|
232
|
+
if (claudeMdAction === 'force-installed') {
|
|
233
|
+
console.log('✓ CLAUDE.md force-installed (backup: CLAUDE.md.backup)');
|
|
274
234
|
}
|
|
275
|
-
else if (claudeMdAction === '
|
|
276
|
-
console.log('
|
|
277
|
-
console.log(` DevFlow global instructions active in: ${claudeMdPath}`);
|
|
278
|
-
console.log(' • Language-agnostic engineering principles');
|
|
279
|
-
console.log(' • Critical anti-patterns and foolishness prevention');
|
|
280
|
-
console.log(' • Code quality enforcement rules\n');
|
|
235
|
+
else if (claudeMdAction === 'saved-as-devflow') {
|
|
236
|
+
console.log('⚠️ Existing CLAUDE.md preserved → DevFlow saved to CLAUDE.devflow.md');
|
|
281
237
|
}
|
|
282
|
-
else
|
|
283
|
-
console.log('
|
|
284
|
-
console.log(` Your original CLAUDE.md backed up to: ${path.join(claudeDir, 'CLAUDE.md.backup')}`);
|
|
285
|
-
console.log(` DevFlow global instructions now active in: ${claudeMdPath}\n`);
|
|
238
|
+
else {
|
|
239
|
+
console.log('✓ CLAUDE.md configured');
|
|
286
240
|
}
|
|
287
241
|
// Create .claudeignore in git repository root
|
|
242
|
+
let claudeignoreCreated = false;
|
|
288
243
|
try {
|
|
289
244
|
// Find git repository root
|
|
290
245
|
const gitRoot = execSync('git rev-parse --show-toplevel', {
|
|
@@ -295,7 +250,6 @@ export const initCommand = new Command('init')
|
|
|
295
250
|
// Check if .claudeignore already exists
|
|
296
251
|
try {
|
|
297
252
|
await fs.access(claudeignorePath);
|
|
298
|
-
console.log('🔒 Security: .claudeignore already exists (skipping)');
|
|
299
253
|
}
|
|
300
254
|
catch {
|
|
301
255
|
// Create comprehensive .claudeignore
|
|
@@ -489,54 +443,54 @@ poetry.lock
|
|
|
489
443
|
Pipfile.lock
|
|
490
444
|
`;
|
|
491
445
|
await fs.writeFile(claudeignorePath, claudeignoreContent, 'utf-8');
|
|
492
|
-
|
|
493
|
-
console.log(' • Protects sensitive files (credentials, keys, secrets)');
|
|
494
|
-
console.log(' • Reduces context pollution (node_modules, build artifacts)');
|
|
495
|
-
console.log(' • Covers common patterns for all major languages\n');
|
|
446
|
+
claudeignoreCreated = true;
|
|
496
447
|
}
|
|
497
448
|
}
|
|
498
449
|
catch (error) {
|
|
499
450
|
// Not a git repository or other error - skip .claudeignore creation
|
|
500
|
-
|
|
451
|
+
}
|
|
452
|
+
if (claudeignoreCreated) {
|
|
453
|
+
console.log('✓ .claudeignore created');
|
|
501
454
|
}
|
|
502
455
|
// Offer to install project documentation structure
|
|
456
|
+
let docsCreated = false;
|
|
503
457
|
if (!options.skipDocs) {
|
|
504
|
-
console.log('📁 Project Documentation Setup\n');
|
|
505
458
|
const docsDir = path.join(process.cwd(), '.docs');
|
|
506
459
|
try {
|
|
507
460
|
await fs.mkdir(path.join(docsDir, 'status', 'compact'), { recursive: true });
|
|
508
461
|
await fs.mkdir(path.join(docsDir, 'reviews'), { recursive: true });
|
|
509
462
|
await fs.mkdir(path.join(docsDir, 'audits'), { recursive: true });
|
|
510
|
-
|
|
511
|
-
console.log(' • .docs/status/ - Session documentation');
|
|
512
|
-
console.log(' • .docs/reviews/ - Code review reports');
|
|
513
|
-
console.log(' • .docs/audits/ - Security, performance, architecture audits');
|
|
463
|
+
docsCreated = true;
|
|
514
464
|
}
|
|
515
465
|
catch (error) {
|
|
516
|
-
|
|
466
|
+
// .docs/ structure may already exist
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
if (docsCreated) {
|
|
470
|
+
console.log('✓ .docs/ structure ready');
|
|
471
|
+
}
|
|
472
|
+
console.log('\n✅ Installation complete!\n');
|
|
473
|
+
// Show manual merge instructions if needed
|
|
474
|
+
if (settingsAction === 'saved-as-devflow' || claudeMdAction === 'saved-as-devflow') {
|
|
475
|
+
console.log('⚠️ Manual merge required:');
|
|
476
|
+
if (settingsAction === 'saved-as-devflow') {
|
|
477
|
+
console.log(' Settings: Merge settings.devflow.json → settings.json');
|
|
478
|
+
}
|
|
479
|
+
if (claudeMdAction === 'saved-as-devflow') {
|
|
480
|
+
console.log(' Instructions: cp ~/.claude/CLAUDE.devflow.md ~/.claude/CLAUDE.md');
|
|
517
481
|
}
|
|
482
|
+
console.log();
|
|
518
483
|
}
|
|
519
|
-
console.log('
|
|
520
|
-
console.log('
|
|
521
|
-
console.log('
|
|
522
|
-
console.log(
|
|
523
|
-
console.log(
|
|
524
|
-
console.log(
|
|
525
|
-
console.log(
|
|
526
|
-
console.log(
|
|
527
|
-
console.log('
|
|
528
|
-
console.log('
|
|
529
|
-
console.log(' • Shows project context, git status, session cost, and duration\n');
|
|
530
|
-
console.log('🚀 QUICK START:');
|
|
531
|
-
console.log(' 1. Navigate to a project directory');
|
|
532
|
-
console.log(' 2. Run \'/catch-up\' to get oriented');
|
|
533
|
-
console.log(' 3. Use \'/pre-commit\' to review uncommitted changes');
|
|
534
|
-
console.log(' 4. Run \'/devlog\' to document sessions\n');
|
|
535
|
-
console.log('📚 DOCUMENTATION:');
|
|
536
|
-
console.log(' • Check README for comprehensive guide');
|
|
537
|
-
console.log(' • Commands are self-documenting');
|
|
538
|
-
console.log(' • Visit npm or GitHub for full documentation\n');
|
|
539
|
-
console.log('Happy coding with DevFlow! 🚀');
|
|
484
|
+
console.log('Available commands:');
|
|
485
|
+
console.log(' /catch-up Session context and status');
|
|
486
|
+
console.log(' /research Pre-implementation planning');
|
|
487
|
+
console.log(' /code-review Comprehensive code review');
|
|
488
|
+
console.log(' /commit Intelligent atomic commits');
|
|
489
|
+
console.log(' /devlog Session documentation');
|
|
490
|
+
console.log(' /debug Systematic debugging');
|
|
491
|
+
console.log(' /release Release automation');
|
|
492
|
+
console.log(' /plan-next-steps Extract actionable tasks');
|
|
493
|
+
console.log('\nDocs: npm home devflow-kit');
|
|
540
494
|
}
|
|
541
495
|
catch (error) {
|
|
542
496
|
console.error('❌ Installation failed:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -337,7 +337,7 @@ Give the developer a clear, actionable summary:
|
|
|
337
337
|
|
|
338
338
|
🔄 NEXT STEPS:
|
|
339
339
|
1. Address blocking issues above
|
|
340
|
-
2. Run `/
|
|
340
|
+
2. Run `/code-review` after fixes to verify
|
|
341
341
|
3. Create PR using this review as reference
|
|
342
342
|
4. Share review with team for human review focus
|
|
343
343
|
```
|
|
@@ -10,106 +10,74 @@ INPUT=$(cat)
|
|
|
10
10
|
if command -v jq &> /dev/null; then
|
|
11
11
|
MODEL=$(echo "$INPUT" | jq -r '.model.display_name // .model.id // "claude"' 2>/dev/null)
|
|
12
12
|
CWD=$(echo "$INPUT" | jq -r '.cwd // "~"' 2>/dev/null)
|
|
13
|
-
TOTAL_COST=$(echo "$INPUT" | jq -r '.cost.total_cost_usd // 0' 2>/dev/null)
|
|
14
|
-
LINES_ADDED=$(echo "$INPUT" | jq -r '.cost.total_lines_added // 0' 2>/dev/null)
|
|
15
|
-
LINES_REMOVED=$(echo "$INPUT" | jq -r '.cost.total_lines_removed // 0' 2>/dev/null)
|
|
16
|
-
TOTAL_DURATION_MS=$(echo "$INPUT" | jq -r '.cost.total_duration_ms // 0' 2>/dev/null)
|
|
17
|
-
API_DURATION_MS=$(echo "$INPUT" | jq -r '.cost.total_api_duration_ms // 0' 2>/dev/null)
|
|
18
13
|
EXCEEDS_200K=$(echo "$INPUT" | jq -r '.exceeds_200k_tokens // false' 2>/dev/null)
|
|
19
|
-
VERSION=$(echo "$INPUT" | jq -r '.version // ""' 2>/dev/null)
|
|
20
|
-
OUTPUT_STYLE=$(echo "$INPUT" | jq -r '.output_style.name // ""' 2>/dev/null)
|
|
21
14
|
else
|
|
22
15
|
MODEL="claude"
|
|
23
16
|
CWD=$(pwd)
|
|
24
|
-
TOTAL_COST="0.00"
|
|
25
|
-
LINES_ADDED="0"
|
|
26
|
-
LINES_REMOVED="0"
|
|
27
|
-
TOTAL_DURATION_MS="0"
|
|
28
|
-
API_DURATION_MS="0"
|
|
29
17
|
EXCEEDS_200K="false"
|
|
30
|
-
VERSION=""
|
|
31
|
-
OUTPUT_STYLE=""
|
|
32
18
|
fi
|
|
33
19
|
|
|
34
20
|
# Get current directory name
|
|
35
21
|
DIR_NAME=$(basename "$CWD")
|
|
36
22
|
|
|
37
|
-
# Get git branch
|
|
23
|
+
# Get git branch if in a git repo
|
|
38
24
|
GIT_BRANCH=$(cd "$CWD" 2>/dev/null && git branch --show-current 2>/dev/null || echo "")
|
|
39
25
|
if [ -z "$GIT_BRANCH" ]; then
|
|
40
26
|
GIT_INFO=""
|
|
41
27
|
else
|
|
42
|
-
# Get last commit message (first line, truncated to 50 chars)
|
|
43
|
-
LAST_COMMIT_MSG=$(cd "$CWD" 2>/dev/null && git log -1 --pretty=format:"%s" 2>/dev/null | cut -c1-50 || echo "")
|
|
44
|
-
|
|
45
28
|
# Check if there are uncommitted changes
|
|
46
29
|
if [ -n "$(cd "$CWD" 2>/dev/null && git status --porcelain 2>/dev/null)" ]; then
|
|
47
|
-
GIT_INFO="
|
|
30
|
+
GIT_INFO=" \033[1;33m$GIT_BRANCH*\033[0m"
|
|
48
31
|
else
|
|
49
|
-
GIT_INFO="
|
|
50
|
-
fi
|
|
51
|
-
|
|
52
|
-
# Add commit message if available
|
|
53
|
-
if [ -n "$LAST_COMMIT_MSG" ]; then
|
|
54
|
-
GIT_INFO="$GIT_INFO \033[1;90m($LAST_COMMIT_MSG)\033[0m"
|
|
32
|
+
GIT_INFO=" \033[1;32m$GIT_BRANCH\033[0m"
|
|
55
33
|
fi
|
|
56
34
|
fi
|
|
57
35
|
|
|
58
|
-
#
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
36
|
+
# Get system CPU and memory usage
|
|
37
|
+
get_cpu_usage() {
|
|
38
|
+
# Try multiple methods for cross-platform compatibility
|
|
39
|
+
if command -v top &> /dev/null; then
|
|
40
|
+
# Linux/macOS with top
|
|
41
|
+
top -bn1 2>/dev/null | grep -i "cpu" | head -1 | awk '{print $2}' | sed 's/%us,//' | sed 's/id,//' || echo "0"
|
|
42
|
+
elif command -v ps &> /dev/null; then
|
|
43
|
+
# Fallback: average CPU of all processes
|
|
44
|
+
ps -A -o %cpu | awk '{s+=$1} END {printf "%.0f", s}'
|
|
45
|
+
else
|
|
46
|
+
echo "0"
|
|
47
|
+
fi
|
|
48
|
+
}
|
|
68
49
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
50
|
+
get_memory_usage() {
|
|
51
|
+
# Try multiple methods for cross-platform compatibility
|
|
52
|
+
if command -v free &> /dev/null; then
|
|
53
|
+
# Linux with free
|
|
54
|
+
free | grep Mem | awk '{printf "%.0f", ($3/$2)*100}'
|
|
55
|
+
elif command -v vm_stat &> /dev/null; then
|
|
56
|
+
# macOS with vm_stat
|
|
57
|
+
vm_stat | awk '/Pages active/ {active=$3} /Pages wired/ {wired=$4} /Pages free/ {free=$3} END {printf "%.0f", ((active+wired)/(active+wired+free))*100}' | sed 's/\.//'
|
|
73
58
|
else
|
|
74
|
-
echo "
|
|
59
|
+
echo "0"
|
|
75
60
|
fi
|
|
76
61
|
}
|
|
77
62
|
|
|
78
|
-
|
|
79
|
-
|
|
63
|
+
CPU_USAGE=$(get_cpu_usage)
|
|
64
|
+
MEMORY_USAGE=$(get_memory_usage)
|
|
80
65
|
|
|
81
|
-
#
|
|
82
|
-
if [ "$TOTAL_DURATION_MS" -gt 0 ]; then
|
|
83
|
-
API_EFFICIENCY=$(echo "$API_DURATION_MS $TOTAL_DURATION_MS" | awk '{printf "%.0f", ($1/$2)*100}')
|
|
84
|
-
else
|
|
85
|
-
API_EFFICIENCY="0"
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
# Build status line with colors - show components conditionally
|
|
66
|
+
# Build status line with colors
|
|
89
67
|
STATUS_LINE="\033[1;34m$DIR_NAME\033[0m$GIT_INFO"
|
|
90
68
|
|
|
91
|
-
# Add
|
|
92
|
-
|
|
93
|
-
# STATUS_LINE="$STATUS_LINE \033[1;33m$SESSION_DURATION\033[0m"
|
|
94
|
-
# fi
|
|
69
|
+
# Add model name
|
|
70
|
+
STATUS_LINE="$STATUS_LINE \033[1;36m$MODEL\033[0m"
|
|
95
71
|
|
|
96
|
-
# Add
|
|
97
|
-
|
|
98
|
-
STATUS_LINE="$STATUS_LINE \033[1;91mapi:${API_EFFICIENCY}%\033[0m"
|
|
99
|
-
fi
|
|
72
|
+
# Add CPU usage
|
|
73
|
+
STATUS_LINE="$STATUS_LINE \033[1;35mcpu:${CPU_USAGE}%\033[0m"
|
|
100
74
|
|
|
101
|
-
# Add
|
|
102
|
-
|
|
103
|
-
STATUS_LINE="$STATUS_LINE \033[1;93m⚠️large\033[0m"
|
|
104
|
-
fi
|
|
75
|
+
# Add memory usage
|
|
76
|
+
STATUS_LINE="$STATUS_LINE \033[1;33mmem:${MEMORY_USAGE}%\033[0m"
|
|
105
77
|
|
|
106
|
-
# Add
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
STATUS_LINE="$STATUS_LINE \033[1;32m\$$COST_FORMATTED\033[0m"
|
|
78
|
+
# Add large context warning if needed
|
|
79
|
+
if [ "$EXCEEDS_200K" = "true" ]; then
|
|
80
|
+
STATUS_LINE="$STATUS_LINE \033[1;91m⚠️large\033[0m"
|
|
110
81
|
fi
|
|
111
82
|
|
|
112
|
-
# Add model at the end
|
|
113
|
-
# STATUS_LINE="$STATUS_LINE \033[1;36m$MODEL\033[0m"
|
|
114
|
-
|
|
115
83
|
echo -e "$STATUS_LINE"
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Review uncommitted changes before committing using specialized sub-agents
|
|
3
|
-
allowed-tools: Task, Bash, Read, Write, Grep, Glob
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Your Task
|
|
7
|
-
|
|
8
|
-
Perform a comprehensive review of uncommitted changes by orchestrating multiple specialized sub-agents in parallel. This provides quick feedback before committing changes.
|
|
9
|
-
|
|
10
|
-
**Audit Strategy**:
|
|
11
|
-
- **Always Run** (5 core audits): Security, Performance, Architecture, Tests, Complexity
|
|
12
|
-
- **Language-Specific** (conditional): TypeScript (runs only if .ts/.tsx files changed or tsconfig.json exists)
|
|
13
|
-
- **Available on demand**: Documentation, Dependencies, Database (use `/pre-pr` for full audit)
|
|
14
|
-
|
|
15
|
-
This lightweight approach provides fast feedback for individual commits. Use `/pre-pr` for comprehensive branch reviews before creating pull requests.
|
|
16
|
-
|
|
17
|
-
### Step 1: Analyze Current Changes
|
|
18
|
-
|
|
19
|
-
First, check what changes are available for review:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Check for uncommitted changes
|
|
23
|
-
git status --porcelain
|
|
24
|
-
|
|
25
|
-
# Get the diff of uncommitted changes
|
|
26
|
-
if git diff --quiet HEAD; then
|
|
27
|
-
echo "No uncommitted changes to review"
|
|
28
|
-
exit 0
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
# Show summary of changes
|
|
32
|
-
echo "=== CHANGES TO REVIEW ==="
|
|
33
|
-
git diff --stat HEAD
|
|
34
|
-
echo ""
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### Step 2: Launch Specialized Sub-Agents in Parallel
|
|
38
|
-
|
|
39
|
-
Launch these sub-agents in parallel:
|
|
40
|
-
|
|
41
|
-
1. audit-security sub-agent
|
|
42
|
-
2. audit-typescript sub-agent (automatically skips if not applicable)
|
|
43
|
-
3. audit-performance sub-agent
|
|
44
|
-
4. audit-architecture sub-agent
|
|
45
|
-
5. audit-tests sub-agent
|
|
46
|
-
6. audit-complexity sub-agent
|
|
47
|
-
|
|
48
|
-
**Note**: The audit-typescript agent contains built-in detection logic and will automatically skip if:
|
|
49
|
-
- No .ts/.tsx files were changed AND
|
|
50
|
-
- No tsconfig.json exists in the project
|
|
51
|
-
|
|
52
|
-
### Step 3: Synthesize Review Findings
|
|
53
|
-
|
|
54
|
-
After all sub-agents complete their analysis:
|
|
55
|
-
|
|
56
|
-
1. **Collect Results**: Gather findings from all sub-agents
|
|
57
|
-
2. **Prioritize Issues**: Categorize as Critical/High/Medium/Low
|
|
58
|
-
3. **Create Unified Review**: Synthesize into coherent review document
|
|
59
|
-
4. **Generate Action Items**: Provide specific next steps
|
|
60
|
-
|
|
61
|
-
### Step 4: Save Review Document
|
|
62
|
-
|
|
63
|
-
Create a comprehensive review document at `.docs/reviews/diff-{YYYY-MM-DD_HHMM}.md`:
|
|
64
|
-
|
|
65
|
-
```markdown
|
|
66
|
-
# Code Review - Uncommitted Changes
|
|
67
|
-
**Date**: {current_date}
|
|
68
|
-
**Time**: {current_time}
|
|
69
|
-
**Type**: Differential Review (uncommitted changes)
|
|
70
|
-
**Reviewer**: AI Sub-Agent Orchestra
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 📊 Review Summary
|
|
75
|
-
|
|
76
|
-
**Files Changed**: {number}
|
|
77
|
-
**Lines Added**: {number}
|
|
78
|
-
**Lines Removed**: {number}
|
|
79
|
-
|
|
80
|
-
### Issues Found
|
|
81
|
-
- 🔴 **Critical**: {count} issues requiring immediate attention
|
|
82
|
-
- 🟠 **High**: {count} issues should be addressed before commit
|
|
83
|
-
- 🟡 **Medium**: {count} improvements recommended
|
|
84
|
-
- 🔵 **Low**: {count} minor suggestions
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## 🔍 Detailed Analysis
|
|
89
|
-
|
|
90
|
-
### Security Review (audit-security)
|
|
91
|
-
{security findings with file:line references}
|
|
92
|
-
|
|
93
|
-
### TypeScript Review (audit-typescript)
|
|
94
|
-
{type safety findings, or "⏭️ Skipped - not applicable" if no TS files}
|
|
95
|
-
|
|
96
|
-
### Performance Review (audit-performance)
|
|
97
|
-
{performance findings with specific optimizations}
|
|
98
|
-
|
|
99
|
-
### Architecture Review (audit-architecture)
|
|
100
|
-
{design pattern and structure analysis}
|
|
101
|
-
|
|
102
|
-
### Test Coverage Review (audit-tests)
|
|
103
|
-
{test gaps and quality assessment}
|
|
104
|
-
|
|
105
|
-
### Complexity Review (audit-complexity)
|
|
106
|
-
{maintainability and refactoring suggestions}
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## 🎯 Action Items
|
|
111
|
-
|
|
112
|
-
### Before Committing (Critical/High)
|
|
113
|
-
- [ ] {action 1} in {file:line}
|
|
114
|
-
- [ ] {action 2} in {file:line}
|
|
115
|
-
|
|
116
|
-
### Future Improvements (Medium/Low)
|
|
117
|
-
- [ ] {improvement 1}
|
|
118
|
-
- [ ] {improvement 2}
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 📈 Code Quality Metrics
|
|
123
|
-
|
|
124
|
-
**Overall Assessment**: {Excellent/Good/Needs Work/Poor}
|
|
125
|
-
**Commit Recommendation**: {✅ Safe to commit / ⚠️ Address issues first / 🚫 Do not commit}
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
*Review generated by DevFlow sub-agent orchestration*
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Step 5: Provide Interactive Summary
|
|
133
|
-
|
|
134
|
-
Give the developer a clear summary and next steps:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
🔍 UNCOMMITTED CHANGES REVIEW COMPLETE
|
|
138
|
-
|
|
139
|
-
Changes analyzed: {X} files, {Y} lines modified
|
|
140
|
-
Issues found: {Critical} critical, {High} high, {Medium} medium, {Low} low
|
|
141
|
-
|
|
142
|
-
📋 COMMIT READINESS ASSESSMENT:
|
|
143
|
-
{✅ SAFE TO COMMIT | ⚠️ ISSUES TO ADDRESS | 🚫 DO NOT COMMIT}
|
|
144
|
-
|
|
145
|
-
🎯 TOP PRIORITY ACTIONS:
|
|
146
|
-
1. {Most critical issue and fix}
|
|
147
|
-
2. {Second most critical issue and fix}
|
|
148
|
-
3. {Third most critical issue and fix}
|
|
149
|
-
|
|
150
|
-
📄 Full review saved to: .docs/reviews/diff-{timestamp}.md
|
|
151
|
-
|
|
152
|
-
💡 TIP: Run `/review-branch` before creating PR for comprehensive feature review
|
|
153
|
-
```
|