devflow-kit 0.3.1 → 0.3.3
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 +40 -0
- package/README.md +5 -7
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +90 -132
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
- package/src/claude/CLAUDE.md +76 -8
- package/src/claude/agents/devflow/audit-architecture.md +67 -1
- package/src/claude/agents/devflow/audit-complexity.md +67 -1
- package/src/claude/agents/devflow/audit-database.md +67 -1
- package/src/claude/agents/devflow/audit-dependencies.md +67 -1
- package/src/claude/agents/devflow/audit-documentation.md +66 -0
- package/src/claude/agents/devflow/audit-performance.md +67 -1
- package/src/claude/agents/devflow/audit-security.md +67 -1
- package/src/claude/agents/devflow/audit-tests.md +67 -1
- package/src/claude/agents/devflow/audit-typescript.md +66 -0
- package/src/claude/agents/devflow/release.md +283 -8
- package/src/claude/commands/devflow/{pre-pr.md → code-review.md} +52 -13
- 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,44 @@ 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.3] - 2025-10-19
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Statusline path resolution** - Use absolute paths instead of tilde (~) for reliable execution
|
|
12
|
+
- **Audit report organization** - Formalized structured storage for all audit reports
|
|
13
|
+
- Branch-specific directories: `.docs/audits/<branch-name>/`
|
|
14
|
+
- Timestamped reports for historical tracking
|
|
15
|
+
- Standardized naming: `<audit-type>-report.<timestamp>.md`
|
|
16
|
+
- Standalone directory for direct agent invocations
|
|
17
|
+
- Applied consistently across all 9 audit agents
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- **Release notes persistence** - Save comprehensive release notes to `.docs/releases/RELEASE_NOTES_v<version>.md`
|
|
21
|
+
- **Documentation verification** - Release agent now verifies documentation alignment
|
|
22
|
+
- Checks version references across ROADMAP, READMEs, CHANGELOG
|
|
23
|
+
- Detects monorepo subpackages
|
|
24
|
+
- Provides search-and-replace commands for fixing mismatches
|
|
25
|
+
- **Production build standards** - Global CLAUDE.md guidelines for production optimization
|
|
26
|
+
- Never ship test files, debug symbols, or sourcemaps
|
|
27
|
+
- Separate dev/prod build configurations
|
|
28
|
+
- **Test suite safety** - Sequential test execution standards to prevent Claude Code crashes
|
|
29
|
+
- Memory limits and resource cleanup requirements
|
|
30
|
+
- Framework-specific configuration flags
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## [0.3.2] - 2025-10-17
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- **Simplified init command output** - Reduced installation output from ~60-80 lines to ~10-15 lines
|
|
38
|
+
- **Unified review commands** - Consolidated /pre-commit and /pre-pr into single /code-review command
|
|
39
|
+
- **Streamlined statusline** - Removed cost/API metrics, added CPU/memory monitoring (28% code reduction)
|
|
40
|
+
|
|
41
|
+
### Improved
|
|
42
|
+
- Replaced /catch-up suggestion with comprehensive commands reference for better initial UX
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
8
46
|
## [0.3.1] - 2025-10-17
|
|
9
47
|
|
|
10
48
|
### Fixed
|
|
@@ -250,6 +288,8 @@ devflow init
|
|
|
250
288
|
|
|
251
289
|
---
|
|
252
290
|
|
|
291
|
+
[0.3.3]: https://github.com/dean0x/devflow/releases/tag/v0.3.3
|
|
292
|
+
[0.3.2]: https://github.com/dean0x/devflow/releases/tag/v0.3.2
|
|
253
293
|
[0.3.1]: https://github.com/dean0x/devflow/releases/tag/v0.3.1
|
|
254
294
|
[0.3.0]: https://github.com/dean0x/devflow/releases/tag/v0.3.0
|
|
255
295
|
[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,SAidpB,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,48 +138,28 @@ 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');
|
|
150
147
|
const sourceSettingsPath = path.join(claudeSourceDir, 'settings.json');
|
|
148
|
+
// Read template and replace ~ with actual home directory
|
|
149
|
+
const settingsTemplate = await fs.readFile(sourceSettingsPath, 'utf-8');
|
|
150
|
+
const settingsContent = settingsTemplate.replace(/~\/\.devflow\/scripts\/statusline\.sh/g, path.join(devflowDir, 'scripts', 'statusline.sh'));
|
|
151
151
|
let settingsAction = '';
|
|
152
152
|
if (forceOverride) {
|
|
153
153
|
// Force override - backup existing and install
|
|
154
154
|
try {
|
|
155
155
|
await fs.access(settingsPath);
|
|
156
156
|
await fs.rename(settingsPath, path.join(claudeDir, 'settings.json.backup'));
|
|
157
|
-
console.log(' 💾 Existing settings backed up to: settings.json.backup');
|
|
158
157
|
}
|
|
159
158
|
catch {
|
|
160
159
|
// No existing file
|
|
161
160
|
}
|
|
162
|
-
await fs.
|
|
161
|
+
await fs.writeFile(settingsPath, settingsContent, 'utf-8');
|
|
163
162
|
settingsAction = 'force-installed';
|
|
164
|
-
console.log(' ✅ DevFlow settings force-installed to: settings.json');
|
|
165
163
|
}
|
|
166
164
|
else {
|
|
167
165
|
// Safe installation logic
|
|
@@ -173,29 +171,23 @@ export const initCommand = new Command('init')
|
|
|
173
171
|
// Check if managed-settings.json already exists
|
|
174
172
|
await fs.access(managedSettingsPath);
|
|
175
173
|
// managed-settings.json exists - install as settings.devflow.json
|
|
176
|
-
await fs.
|
|
174
|
+
await fs.writeFile(devflowSettingsPath, settingsContent, 'utf-8');
|
|
177
175
|
settingsAction = 'saved-as-devflow';
|
|
178
|
-
console.log(' ⚠️ Your existing settings.json is preserved');
|
|
179
|
-
console.log(' 📄 DevFlow settings saved to: settings.devflow.json');
|
|
180
176
|
}
|
|
181
177
|
catch {
|
|
182
178
|
// managed-settings.json doesn't exist - safe to backup and install
|
|
183
179
|
await fs.rename(settingsPath, managedSettingsPath);
|
|
184
|
-
await fs.
|
|
180
|
+
await fs.writeFile(settingsPath, settingsContent, 'utf-8');
|
|
185
181
|
settingsAction = 'backed-up';
|
|
186
|
-
console.log(' 💾 Your settings backed up to: managed-settings.json');
|
|
187
|
-
console.log(' ✅ DevFlow settings installed to: settings.json');
|
|
188
182
|
}
|
|
189
183
|
}
|
|
190
184
|
catch {
|
|
191
185
|
// No existing settings.json - install normally
|
|
192
|
-
await fs.
|
|
186
|
+
await fs.writeFile(settingsPath, settingsContent, 'utf-8');
|
|
193
187
|
settingsAction = 'fresh-install';
|
|
194
|
-
console.log(' ✅ DevFlow settings installed to: settings.json');
|
|
195
188
|
}
|
|
196
189
|
}
|
|
197
190
|
// Install CLAUDE.md with smart backup
|
|
198
|
-
console.log(' 📘 Installing global CLAUDE.md...');
|
|
199
191
|
const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');
|
|
200
192
|
const devflowClaudeMdPath = path.join(claudeDir, 'CLAUDE.devflow.md');
|
|
201
193
|
const sourceClaudeMdPath = path.join(claudeSourceDir, 'CLAUDE.md');
|
|
@@ -205,14 +197,12 @@ export const initCommand = new Command('init')
|
|
|
205
197
|
try {
|
|
206
198
|
await fs.access(claudeMdPath);
|
|
207
199
|
await fs.rename(claudeMdPath, path.join(claudeDir, 'CLAUDE.md.backup'));
|
|
208
|
-
console.log(' 💾 Existing CLAUDE.md backed up to: CLAUDE.md.backup');
|
|
209
200
|
}
|
|
210
201
|
catch {
|
|
211
202
|
// No existing file
|
|
212
203
|
}
|
|
213
204
|
await fs.copyFile(sourceClaudeMdPath, claudeMdPath);
|
|
214
205
|
claudeMdAction = 'force-installed';
|
|
215
|
-
console.log(' ✅ DevFlow CLAUDE.md force-installed');
|
|
216
206
|
}
|
|
217
207
|
else {
|
|
218
208
|
// Safe installation logic
|
|
@@ -222,69 +212,37 @@ export const initCommand = new Command('init')
|
|
|
222
212
|
// User has CLAUDE.md - install as CLAUDE.devflow.md
|
|
223
213
|
await fs.copyFile(sourceClaudeMdPath, devflowClaudeMdPath);
|
|
224
214
|
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
215
|
}
|
|
228
216
|
catch {
|
|
229
217
|
// No existing CLAUDE.md - install normally
|
|
230
218
|
await fs.copyFile(sourceClaudeMdPath, claudeMdPath);
|
|
231
219
|
claudeMdAction = 'fresh-install';
|
|
232
|
-
console.log(' ✅ DevFlow CLAUDE.md installed');
|
|
233
220
|
}
|
|
234
221
|
}
|
|
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');
|
|
222
|
+
// Show concise status messages
|
|
223
|
+
if (settingsAction === 'force-installed') {
|
|
224
|
+
console.log('✓ Settings force-installed (backup: settings.json.backup)');
|
|
250
225
|
}
|
|
251
226
|
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`);
|
|
227
|
+
console.log('✓ Settings configured');
|
|
256
228
|
}
|
|
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`);
|
|
229
|
+
else if (settingsAction === 'saved-as-devflow') {
|
|
230
|
+
console.log('⚠️ Existing settings preserved → DevFlow saved to settings.devflow.json');
|
|
261
231
|
}
|
|
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`);
|
|
232
|
+
else {
|
|
233
|
+
console.log('✓ Settings configured');
|
|
234
|
+
}
|
|
235
|
+
if (claudeMdAction === 'force-installed') {
|
|
236
|
+
console.log('✓ CLAUDE.md force-installed (backup: CLAUDE.md.backup)');
|
|
274
237
|
}
|
|
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');
|
|
238
|
+
else if (claudeMdAction === 'saved-as-devflow') {
|
|
239
|
+
console.log('⚠️ Existing CLAUDE.md preserved → DevFlow saved to CLAUDE.devflow.md');
|
|
281
240
|
}
|
|
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`);
|
|
241
|
+
else {
|
|
242
|
+
console.log('✓ CLAUDE.md configured');
|
|
286
243
|
}
|
|
287
244
|
// Create .claudeignore in git repository root
|
|
245
|
+
let claudeignoreCreated = false;
|
|
288
246
|
try {
|
|
289
247
|
// Find git repository root
|
|
290
248
|
const gitRoot = execSync('git rev-parse --show-toplevel', {
|
|
@@ -295,7 +253,6 @@ export const initCommand = new Command('init')
|
|
|
295
253
|
// Check if .claudeignore already exists
|
|
296
254
|
try {
|
|
297
255
|
await fs.access(claudeignorePath);
|
|
298
|
-
console.log('🔒 Security: .claudeignore already exists (skipping)');
|
|
299
256
|
}
|
|
300
257
|
catch {
|
|
301
258
|
// Create comprehensive .claudeignore
|
|
@@ -489,54 +446,55 @@ poetry.lock
|
|
|
489
446
|
Pipfile.lock
|
|
490
447
|
`;
|
|
491
448
|
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');
|
|
449
|
+
claudeignoreCreated = true;
|
|
496
450
|
}
|
|
497
451
|
}
|
|
498
452
|
catch (error) {
|
|
499
453
|
// Not a git repository or other error - skip .claudeignore creation
|
|
500
|
-
|
|
454
|
+
}
|
|
455
|
+
if (claudeignoreCreated) {
|
|
456
|
+
console.log('✓ .claudeignore created');
|
|
501
457
|
}
|
|
502
458
|
// Offer to install project documentation structure
|
|
459
|
+
let docsCreated = false;
|
|
503
460
|
if (!options.skipDocs) {
|
|
504
|
-
console.log('📁 Project Documentation Setup\n');
|
|
505
461
|
const docsDir = path.join(process.cwd(), '.docs');
|
|
506
462
|
try {
|
|
507
463
|
await fs.mkdir(path.join(docsDir, 'status', 'compact'), { recursive: true });
|
|
508
464
|
await fs.mkdir(path.join(docsDir, 'reviews'), { recursive: true });
|
|
509
|
-
await fs.mkdir(path.join(docsDir, 'audits'), { recursive: true });
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
console.log(' • .docs/reviews/ - Code review reports');
|
|
513
|
-
console.log(' • .docs/audits/ - Security, performance, architecture audits');
|
|
465
|
+
await fs.mkdir(path.join(docsDir, 'audits', 'standalone'), { recursive: true });
|
|
466
|
+
await fs.mkdir(path.join(docsDir, 'releases'), { recursive: true });
|
|
467
|
+
docsCreated = true;
|
|
514
468
|
}
|
|
515
469
|
catch (error) {
|
|
516
|
-
|
|
470
|
+
// .docs/ structure may already exist
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
if (docsCreated) {
|
|
474
|
+
console.log('✓ .docs/ structure ready');
|
|
475
|
+
}
|
|
476
|
+
console.log('\n✅ Installation complete!\n');
|
|
477
|
+
// Show manual merge instructions if needed
|
|
478
|
+
if (settingsAction === 'saved-as-devflow' || claudeMdAction === 'saved-as-devflow') {
|
|
479
|
+
console.log('⚠️ Manual merge required:');
|
|
480
|
+
if (settingsAction === 'saved-as-devflow') {
|
|
481
|
+
console.log(' Settings: Merge settings.devflow.json → settings.json');
|
|
482
|
+
}
|
|
483
|
+
if (claudeMdAction === 'saved-as-devflow') {
|
|
484
|
+
console.log(' Instructions: cp ~/.claude/CLAUDE.devflow.md ~/.claude/CLAUDE.md');
|
|
517
485
|
}
|
|
486
|
+
console.log();
|
|
518
487
|
}
|
|
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! 🚀');
|
|
488
|
+
console.log('Available commands:');
|
|
489
|
+
console.log(' /catch-up Session context and status');
|
|
490
|
+
console.log(' /research Pre-implementation planning');
|
|
491
|
+
console.log(' /code-review Comprehensive code review');
|
|
492
|
+
console.log(' /commit Intelligent atomic commits');
|
|
493
|
+
console.log(' /devlog Session documentation');
|
|
494
|
+
console.log(' /debug Systematic debugging');
|
|
495
|
+
console.log(' /release Release automation');
|
|
496
|
+
console.log(' /plan-next-steps Extract actionable tasks');
|
|
497
|
+
console.log('\nDocs: npm home devflow-kit');
|
|
540
498
|
}
|
|
541
499
|
catch (error) {
|
|
542
500
|
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
package/src/claude/CLAUDE.md
CHANGED
|
@@ -93,14 +93,6 @@ ENFORCE these strictly:
|
|
|
93
93
|
- Stick to ONE async pattern (don't mix callback/promise/async styles)
|
|
94
94
|
- NO global state unless explicitly justified
|
|
95
95
|
|
|
96
|
-
### Test Quality Standards
|
|
97
|
-
|
|
98
|
-
Tests must validate BEHAVIOR, not work around BAD DESIGN:
|
|
99
|
-
- If tests need complex setup, the design is probably wrong
|
|
100
|
-
- If tests have repetitive boilerplate, the API is probably wrong
|
|
101
|
-
- If mocking is difficult, dependencies are probably wrong
|
|
102
|
-
- Tests should be SIMPLE when design is correct
|
|
103
|
-
|
|
104
96
|
### Change Process for Failing Tests
|
|
105
97
|
|
|
106
98
|
1. **STOP** - Don't fix tests immediately
|
|
@@ -129,6 +121,82 @@ Before declaring work complete:
|
|
|
129
121
|
|
|
130
122
|
---
|
|
131
123
|
|
|
124
|
+
### Production Build Optimization
|
|
125
|
+
|
|
126
|
+
**CRITICAL**: Never ship test files, debug symbols, or sourcemaps to production.
|
|
127
|
+
|
|
128
|
+
**Requirements:**
|
|
129
|
+
1. **Separate configs** - Dev config (with debug info) vs prod config (optimized)
|
|
130
|
+
2. **Exclude tests** - No test files in build output
|
|
131
|
+
3. **Exclude debug artifacts** - No sourcemaps, debug symbols, or profiling data
|
|
132
|
+
4. **Clean builds** - Remove old artifacts before building
|
|
133
|
+
5. **Watch mode** - Fast rebuilds during development
|
|
134
|
+
|
|
135
|
+
**Implementation checklist:**
|
|
136
|
+
- [ ] Production build excludes test files
|
|
137
|
+
- [ ] Production build excludes sourcemaps/debug symbols
|
|
138
|
+
- [ ] Separate dev build with full debug info
|
|
139
|
+
- [ ] Pre-build cleanup of old artifacts
|
|
140
|
+
- [ ] Watch mode for development
|
|
141
|
+
- [ ] Verify package contents before publishing
|
|
142
|
+
|
|
143
|
+
**File patterns to exclude from production:**
|
|
144
|
+
**/.test.
|
|
145
|
+
**/.spec.
|
|
146
|
+
**/_test.
|
|
147
|
+
**/*.map
|
|
148
|
+
**/debug/
|
|
149
|
+
**/coverage/
|
|
150
|
+
**/tests/
|
|
151
|
+
**/tests/
|
|
152
|
+
|
|
153
|
+
**Build script structure:**
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"prebuild": "clean artifacts",
|
|
157
|
+
"build": "production build (no debug)",
|
|
158
|
+
"build:dev": "development build (with debug)",
|
|
159
|
+
"build:watch": "watch mode for development"
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Testing & Build Standards
|
|
166
|
+
|
|
167
|
+
### Test Quality Standards
|
|
168
|
+
|
|
169
|
+
Tests must validate BEHAVIOR, not work around BAD DESIGN:
|
|
170
|
+
- If tests need complex setup, the design is probably wrong
|
|
171
|
+
- If tests have repetitive boilerplate, the API is probably wrong
|
|
172
|
+
- If mocking is difficult, dependencies are probably wrong
|
|
173
|
+
- Tests should be SIMPLE when design is correct
|
|
174
|
+
|
|
175
|
+
### Test Suite Safety
|
|
176
|
+
|
|
177
|
+
**CRITICAL**: Always configure tests to run sequentially to prevent resource
|
|
178
|
+
exhaustion and crashes.
|
|
179
|
+
|
|
180
|
+
**Requirements:**
|
|
181
|
+
1. **Sequential execution** - One test at a time, no parallelism
|
|
182
|
+
2. **Memory limits** - Set explicit limits for test processes
|
|
183
|
+
3. **Resource cleanup** - Clean temp files/databases before and after tests
|
|
184
|
+
4. **Isolation** - Separate unit/integration/e2e test suites
|
|
185
|
+
|
|
186
|
+
**Implementation checklist:**
|
|
187
|
+
- [ ] Test runner configured for sequential execution (maxWorkers=1, no parallel)
|
|
188
|
+
- [ ] Memory limits set in test command (language-specific)
|
|
189
|
+
- [ ] Cleanup hooks: before (clean temp files) and after (close connections)
|
|
190
|
+
- [ ] Default `test` command runs safely (unit then integration, sequentially)
|
|
191
|
+
|
|
192
|
+
**Framework-specific flags:**
|
|
193
|
+
- **Vitest/Jest**: `maxWorkers: 1`, `--runInBand`, `fileParallelism: false`
|
|
194
|
+
- **pytest**: `-n 0` (no xdist), `--maxprocesses=1`
|
|
195
|
+
- **Go**: `-p 1` (parallel=1)
|
|
196
|
+
- **Rust**: `-- --test-threads=1`
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
132
200
|
## Architecture Documentation
|
|
133
201
|
|
|
134
202
|
**MANDATORY**: Document ALL architectural decisions directly in code:
|