devflow-kit 0.3.2 → 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 CHANGED
@@ -5,6 +5,32 @@ 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
+
8
34
  ## [0.3.2] - 2025-10-17
9
35
 
10
36
  ### Changed
@@ -262,6 +288,7 @@ devflow init
262
288
 
263
289
  ---
264
290
 
291
+ [0.3.3]: https://github.com/dean0x/devflow/releases/tag/v0.3.3
265
292
  [0.3.2]: https://github.com/dean0x/devflow/releases/tag/v0.3.2
266
293
  [0.3.1]: https://github.com/dean0x/devflow/releases/tag/v0.3.1
267
294
  [0.3.0]: https://github.com/dean0x/devflow/releases/tag/v0.3.0
@@ -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,SAycpB,CAAC"}
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"}
@@ -145,6 +145,9 @@ export const initCommand = new Command('init')
145
145
  const managedSettingsPath = path.join(claudeDir, 'managed-settings.json');
146
146
  const devflowSettingsPath = path.join(claudeDir, 'settings.devflow.json');
147
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'));
148
151
  let settingsAction = '';
149
152
  if (forceOverride) {
150
153
  // Force override - backup existing and install
@@ -155,7 +158,7 @@ export const initCommand = new Command('init')
155
158
  catch {
156
159
  // No existing file
157
160
  }
158
- await fs.copyFile(sourceSettingsPath, settingsPath);
161
+ await fs.writeFile(settingsPath, settingsContent, 'utf-8');
159
162
  settingsAction = 'force-installed';
160
163
  }
161
164
  else {
@@ -168,19 +171,19 @@ export const initCommand = new Command('init')
168
171
  // Check if managed-settings.json already exists
169
172
  await fs.access(managedSettingsPath);
170
173
  // managed-settings.json exists - install as settings.devflow.json
171
- await fs.copyFile(sourceSettingsPath, devflowSettingsPath);
174
+ await fs.writeFile(devflowSettingsPath, settingsContent, 'utf-8');
172
175
  settingsAction = 'saved-as-devflow';
173
176
  }
174
177
  catch {
175
178
  // managed-settings.json doesn't exist - safe to backup and install
176
179
  await fs.rename(settingsPath, managedSettingsPath);
177
- await fs.copyFile(sourceSettingsPath, settingsPath);
180
+ await fs.writeFile(settingsPath, settingsContent, 'utf-8');
178
181
  settingsAction = 'backed-up';
179
182
  }
180
183
  }
181
184
  catch {
182
185
  // No existing settings.json - install normally
183
- await fs.copyFile(sourceSettingsPath, settingsPath);
186
+ await fs.writeFile(settingsPath, settingsContent, 'utf-8');
184
187
  settingsAction = 'fresh-install';
185
188
  }
186
189
  }
@@ -459,7 +462,8 @@ Pipfile.lock
459
462
  try {
460
463
  await fs.mkdir(path.join(docsDir, 'status', 'compact'), { recursive: true });
461
464
  await fs.mkdir(path.join(docsDir, 'reviews'), { recursive: true });
462
- await fs.mkdir(path.join(docsDir, 'audits'), { recursive: true });
465
+ await fs.mkdir(path.join(docsDir, 'audits', 'standalone'), { recursive: true });
466
+ await fs.mkdir(path.join(docsDir, 'releases'), { recursive: true });
463
467
  docsCreated = true;
464
468
  }
465
469
  catch (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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devflow-kit",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Agentic Development Toolkit for Claude Code - Enhance AI-assisted development with intelligent commands and workflows",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -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:
@@ -81,4 +81,70 @@ For each finding, include:
81
81
  - Example implementations
82
82
  - Migration strategies for large changes
83
83
 
84
- Focus on structural issues that affect long-term maintainability and team productivity.
84
+ Focus on structural issues that affect long-term maintainability and team productivity.
85
+
86
+ ## Report Storage
87
+
88
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
89
+
90
+ ```bash
91
+ # Expect these variables from the orchestrator:
92
+ # - CURRENT_BRANCH: Current git branch name
93
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
94
+ # - TIMESTAMP: Timestamp for report filename
95
+
96
+ # Save report to:
97
+ REPORT_FILE="${AUDIT_BASE_DIR}/architecture-report.${TIMESTAMP}.md"
98
+
99
+ # Create report
100
+ cat > "$REPORT_FILE" <<'EOF'
101
+ # Architecture Audit Report
102
+
103
+ **Branch**: ${CURRENT_BRANCH}
104
+ **Date**: $(date +%Y-%m-%d)
105
+ **Time**: $(date +%H:%M:%S)
106
+ **Auditor**: DevFlow Architecture Agent
107
+
108
+ ---
109
+
110
+ ## Executive Summary
111
+
112
+ {Brief summary of architectural quality}
113
+
114
+ ---
115
+
116
+ ## Critical Issues
117
+
118
+ {CRITICAL severity fundamental architectural flaws}
119
+
120
+ ---
121
+
122
+ ## High Priority Issues
123
+
124
+ {HIGH severity significant design issues}
125
+
126
+ ---
127
+
128
+ ## Medium Priority Issues
129
+
130
+ {MEDIUM severity pattern inconsistencies}
131
+
132
+ ---
133
+
134
+ ## Low Priority Issues
135
+
136
+ {LOW severity minor organizational improvements}
137
+
138
+ ---
139
+
140
+ ## Architecture Score: {X}/10
141
+
142
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
143
+
144
+ EOF
145
+
146
+ echo "✅ Architecture audit report saved to: $REPORT_FILE"
147
+ ```
148
+
149
+ **If invoked standalone** (not by /code-review), use a simpler path:
150
+ - `.docs/audits/standalone/architecture-report.${TIMESTAMP}.md`
@@ -99,4 +99,70 @@ For each finding, include:
99
99
  - Example improvements
100
100
  - Estimated effort for fixes
101
101
 
102
- Focus on complexity issues that significantly impact code maintainability, readability, and development velocity.
102
+ Focus on complexity issues that significantly impact code maintainability, readability, and development velocity.
103
+
104
+ ## Report Storage
105
+
106
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
107
+
108
+ ```bash
109
+ # Expect these variables from the orchestrator:
110
+ # - CURRENT_BRANCH: Current git branch name
111
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
112
+ # - TIMESTAMP: Timestamp for report filename
113
+
114
+ # Save report to:
115
+ REPORT_FILE="${AUDIT_BASE_DIR}/complexity-report.${TIMESTAMP}.md"
116
+
117
+ # Create report
118
+ cat > "$REPORT_FILE" <<'EOF'
119
+ # Complexity Audit Report
120
+
121
+ **Branch**: ${CURRENT_BRANCH}
122
+ **Date**: $(date +%Y-%m-%d)
123
+ **Time**: $(date +%H:%M:%S)
124
+ **Auditor**: DevFlow Complexity Agent
125
+
126
+ ---
127
+
128
+ ## Executive Summary
129
+
130
+ {Brief summary of complexity and maintainability}
131
+
132
+ ---
133
+
134
+ ## Critical Issues
135
+
136
+ {CRITICAL severity extremely complex code hampering development}
137
+
138
+ ---
139
+
140
+ ## High Priority Issues
141
+
142
+ {HIGH severity significant complexity issues}
143
+
144
+ ---
145
+
146
+ ## Medium Priority Issues
147
+
148
+ {MEDIUM severity moderate complexity improvements needed}
149
+
150
+ ---
151
+
152
+ ## Low Priority Issues
153
+
154
+ {LOW severity minor complexity optimizations}
155
+
156
+ ---
157
+
158
+ ## Maintainability Score: {X}/10
159
+
160
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
161
+
162
+ EOF
163
+
164
+ echo "✅ Complexity audit report saved to: $REPORT_FILE"
165
+ ```
166
+
167
+ **If invoked standalone** (not by /code-review), use a simpler path:
168
+ - `.docs/audits/standalone/complexity-report.${TIMESTAMP}.md`
@@ -104,4 +104,70 @@ For each finding, include:
104
104
  - Migration considerations
105
105
  - Monitoring suggestions
106
106
 
107
- Focus on database issues that affect data integrity, query performance, or system scalability.
107
+ Focus on database issues that affect data integrity, query performance, or system scalability.
108
+
109
+ ## Report Storage
110
+
111
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
112
+
113
+ ```bash
114
+ # Expect these variables from the orchestrator:
115
+ # - CURRENT_BRANCH: Current git branch name
116
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
117
+ # - TIMESTAMP: Timestamp for report filename
118
+
119
+ # Save report to:
120
+ REPORT_FILE="${AUDIT_BASE_DIR}/database-report.${TIMESTAMP}.md"
121
+
122
+ # Create report
123
+ cat > "$REPORT_FILE" <<'EOF'
124
+ # Database Audit Report
125
+
126
+ **Branch**: ${CURRENT_BRANCH}
127
+ **Date**: $(date +%Y-%m-%d)
128
+ **Time**: $(date +%H:%M:%S)
129
+ **Auditor**: DevFlow Database Agent
130
+
131
+ ---
132
+
133
+ ## Executive Summary
134
+
135
+ {Brief summary of database design and performance}
136
+
137
+ ---
138
+
139
+ ## Critical Issues
140
+
141
+ {CRITICAL severity data integrity or severe performance issues}
142
+
143
+ ---
144
+
145
+ ## High Priority Issues
146
+
147
+ {HIGH severity significant performance or design problems}
148
+
149
+ ---
150
+
151
+ ## Medium Priority Issues
152
+
153
+ {MEDIUM severity optimization opportunities}
154
+
155
+ ---
156
+
157
+ ## Low Priority Issues
158
+
159
+ {LOW severity minor improvements}
160
+
161
+ ---
162
+
163
+ ## Database Health Score: {X}/10
164
+
165
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
166
+
167
+ EOF
168
+
169
+ echo "✅ Database audit report saved to: $REPORT_FILE"
170
+ ```
171
+
172
+ **If invoked standalone** (not by /code-review), use a simpler path:
173
+ - `.docs/audits/standalone/database-report.${TIMESTAMP}.md`
@@ -105,4 +105,70 @@ For each finding, include:
105
105
  - Alternative package suggestions
106
106
  - Update compatibility notes
107
107
 
108
- Focus on dependency issues that pose security, legal, or maintenance risks to the project.
108
+ Focus on dependency issues that pose security, legal, or maintenance risks to the project.
109
+
110
+ ## Report Storage
111
+
112
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
113
+
114
+ ```bash
115
+ # Expect these variables from the orchestrator:
116
+ # - CURRENT_BRANCH: Current git branch name
117
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
118
+ # - TIMESTAMP: Timestamp for report filename
119
+
120
+ # Save report to:
121
+ REPORT_FILE="${AUDIT_BASE_DIR}/dependencies-report.${TIMESTAMP}.md"
122
+
123
+ # Create report
124
+ cat > "$REPORT_FILE" <<'EOF'
125
+ # Dependency Audit Report
126
+
127
+ **Branch**: ${CURRENT_BRANCH}
128
+ **Date**: $(date +%Y-%m-%d)
129
+ **Time**: $(date +%H:%M:%S)
130
+ **Auditor**: DevFlow Dependencies Agent
131
+
132
+ ---
133
+
134
+ ## Executive Summary
135
+
136
+ {Brief summary of dependency health and security}
137
+
138
+ ---
139
+
140
+ ## Critical Issues
141
+
142
+ {CRITICAL severity security vulnerabilities requiring immediate action}
143
+
144
+ ---
145
+
146
+ ## High Priority Issues
147
+
148
+ {HIGH severity significant security or legal risks}
149
+
150
+ ---
151
+
152
+ ## Medium Priority Issues
153
+
154
+ {MEDIUM severity maintenance or performance concerns}
155
+
156
+ ---
157
+
158
+ ## Low Priority Issues
159
+
160
+ {LOW severity minor improvements or optimizations}
161
+
162
+ ---
163
+
164
+ ## Dependency Health Score: {X}/10
165
+
166
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
167
+
168
+ EOF
169
+
170
+ echo "✅ Dependency audit report saved to: $REPORT_FILE"
171
+ ```
172
+
173
+ **If invoked standalone** (not by /code-review), use a simpler path:
174
+ - `.docs/audits/standalone/dependencies-report.${TIMESTAMP}.md`
@@ -305,3 +305,69 @@ Detect documentation format from language and validate accordingly.
305
305
  - Show correct examples
306
306
 
307
307
  Focus on documentation issues that prevent users from using the software correctly or developers from understanding the codebase.
308
+
309
+ ## Report Storage
310
+
311
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
312
+
313
+ ```bash
314
+ # Expect these variables from the orchestrator:
315
+ # - CURRENT_BRANCH: Current git branch name
316
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
317
+ # - TIMESTAMP: Timestamp for report filename
318
+
319
+ # Save report to:
320
+ REPORT_FILE="${AUDIT_BASE_DIR}/documentation-report.${TIMESTAMP}.md"
321
+
322
+ # Create report
323
+ cat > "$REPORT_FILE" <<'EOF'
324
+ # Documentation Audit Report
325
+
326
+ **Branch**: ${CURRENT_BRANCH}
327
+ **Date**: $(date +%Y-%m-%d)
328
+ **Time**: $(date +%H:%M:%S)
329
+ **Auditor**: DevFlow Documentation Agent
330
+
331
+ ---
332
+
333
+ ## Executive Summary
334
+
335
+ {Brief summary of documentation quality and alignment}
336
+
337
+ ---
338
+
339
+ ## Critical Issues
340
+
341
+ {CRITICAL severity documentation contradicts code behavior}
342
+
343
+ ---
344
+
345
+ ## High Priority Issues
346
+
347
+ {HIGH severity missing docs for public APIs or key features}
348
+
349
+ ---
350
+
351
+ ## Medium Priority Issues
352
+
353
+ {MEDIUM severity incomplete or unclear documentation}
354
+
355
+ ---
356
+
357
+ ## Low Priority Issues
358
+
359
+ {LOW severity minor improvements or style issues}
360
+
361
+ ---
362
+
363
+ ## Documentation Quality Score: {X}/10
364
+
365
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
366
+
367
+ EOF
368
+
369
+ echo "✅ Documentation audit report saved to: $REPORT_FILE"
370
+ ```
371
+
372
+ **If invoked standalone** (not by /code-review), use a simpler path:
373
+ - `.docs/audits/standalone/documentation-report.${TIMESTAMP}.md`
@@ -82,4 +82,70 @@ For each finding, include:
82
82
  - Implementation examples
83
83
  - Measurement suggestions
84
84
 
85
- Focus on performance issues that will have measurable impact on user experience or system scalability.
85
+ Focus on performance issues that will have measurable impact on user experience or system scalability.
86
+
87
+ ## Report Storage
88
+
89
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
90
+
91
+ ```bash
92
+ # Expect these variables from the orchestrator:
93
+ # - CURRENT_BRANCH: Current git branch name
94
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
95
+ # - TIMESTAMP: Timestamp for report filename
96
+
97
+ # Save report to:
98
+ REPORT_FILE="${AUDIT_BASE_DIR}/performance-report.${TIMESTAMP}.md"
99
+
100
+ # Create report
101
+ cat > "$REPORT_FILE" <<'EOF'
102
+ # Performance Audit Report
103
+
104
+ **Branch**: ${CURRENT_BRANCH}
105
+ **Date**: $(date +%Y-%m-%d)
106
+ **Time**: $(date +%H:%M:%S)
107
+ **Auditor**: DevFlow Performance Agent
108
+
109
+ ---
110
+
111
+ ## Executive Summary
112
+
113
+ {Brief summary of performance analysis}
114
+
115
+ ---
116
+
117
+ ## Critical Issues
118
+
119
+ {CRITICAL severity performance bottlenecks}
120
+
121
+ ---
122
+
123
+ ## High Priority Issues
124
+
125
+ {HIGH severity optimization opportunities}
126
+
127
+ ---
128
+
129
+ ## Medium Priority Issues
130
+
131
+ {MEDIUM severity performance improvements}
132
+
133
+ ---
134
+
135
+ ## Low Priority Issues
136
+
137
+ {LOW severity minor optimizations}
138
+
139
+ ---
140
+
141
+ ## Performance Score: {X}/10
142
+
143
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
144
+
145
+ EOF
146
+
147
+ echo "✅ Performance audit report saved to: $REPORT_FILE"
148
+ ```
149
+
150
+ **If invoked standalone** (not by /code-review), use a simpler path:
151
+ - `.docs/audits/standalone/performance-report.${TIMESTAMP}.md`
@@ -72,4 +72,70 @@ For each finding, include:
72
72
  - Specific remediation steps
73
73
  - Relevant security standards (OWASP, etc.)
74
74
 
75
- Focus on actionable, specific security issues that can be immediately addressed by developers.
75
+ Focus on actionable, specific security issues that can be immediately addressed by developers.
76
+
77
+ ## Report Storage
78
+
79
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
80
+
81
+ ```bash
82
+ # Expect these variables from the orchestrator:
83
+ # - CURRENT_BRANCH: Current git branch name
84
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
85
+ # - TIMESTAMP: Timestamp for report filename
86
+
87
+ # Save report to:
88
+ REPORT_FILE="${AUDIT_BASE_DIR}/security-report.${TIMESTAMP}.md"
89
+
90
+ # Create report
91
+ cat > "$REPORT_FILE" <<'EOF'
92
+ # Security Audit Report
93
+
94
+ **Branch**: ${CURRENT_BRANCH}
95
+ **Date**: $(date +%Y-%m-%d)
96
+ **Time**: $(date +%H:%M:%S)
97
+ **Auditor**: DevFlow Security Agent
98
+
99
+ ---
100
+
101
+ ## Executive Summary
102
+
103
+ {Brief summary of security posture}
104
+
105
+ ---
106
+
107
+ ## Critical Findings
108
+
109
+ {CRITICAL severity issues}
110
+
111
+ ---
112
+
113
+ ## High Priority Findings
114
+
115
+ {HIGH severity issues}
116
+
117
+ ---
118
+
119
+ ## Medium Priority Findings
120
+
121
+ {MEDIUM severity issues}
122
+
123
+ ---
124
+
125
+ ## Low Priority Findings
126
+
127
+ {LOW severity issues}
128
+
129
+ ---
130
+
131
+ ## Security Score: {X}/10
132
+
133
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
134
+
135
+ EOF
136
+
137
+ echo "✅ Security audit report saved to: $REPORT_FILE"
138
+ ```
139
+
140
+ **If invoked standalone** (not by /code-review), use a simpler path:
141
+ - `.docs/audits/standalone/security-report.${TIMESTAMP}.md`
@@ -452,4 +452,70 @@ For each finding, include:
452
452
  - Example implementations
453
453
  - Refactoring suggestions
454
454
 
455
- Focus on test issues that affect code confidence, development velocity, and regression detection capabilities.
455
+ Focus on test issues that affect code confidence, development velocity, and regression detection capabilities.
456
+
457
+ ## Report Storage
458
+
459
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
460
+
461
+ ```bash
462
+ # Expect these variables from the orchestrator:
463
+ # - CURRENT_BRANCH: Current git branch name
464
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
465
+ # - TIMESTAMP: Timestamp for report filename
466
+
467
+ # Save report to:
468
+ REPORT_FILE="${AUDIT_BASE_DIR}/tests-report.${TIMESTAMP}.md"
469
+
470
+ # Create report
471
+ cat > "$REPORT_FILE" <<'EOF'
472
+ # Test Quality Audit Report
473
+
474
+ **Branch**: ${CURRENT_BRANCH}
475
+ **Date**: $(date +%Y-%m-%d)
476
+ **Time**: $(date +%H:%M:%S)
477
+ **Auditor**: DevFlow Test Quality Agent
478
+
479
+ ---
480
+
481
+ ## Executive Summary
482
+
483
+ {Brief summary of test coverage and quality}
484
+
485
+ ---
486
+
487
+ ## Critical Issues
488
+
489
+ {CRITICAL severity major test gaps or quality issues}
490
+
491
+ ---
492
+
493
+ ## High Priority Issues
494
+
495
+ {HIGH severity significant testing problems}
496
+
497
+ ---
498
+
499
+ ## Medium Priority Issues
500
+
501
+ {MEDIUM severity test improvement opportunities}
502
+
503
+ ---
504
+
505
+ ## Low Priority Issues
506
+
507
+ {LOW severity minor test optimizations}
508
+
509
+ ---
510
+
511
+ ## Test Coverage Score: {X}/10
512
+
513
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
514
+
515
+ EOF
516
+
517
+ echo "✅ Test quality audit report saved to: $REPORT_FILE"
518
+ ```
519
+
520
+ **If invoked standalone** (not by /code-review), use a simpler path:
521
+ - `.docs/audits/standalone/tests-report.${TIMESTAMP}.md`
@@ -292,3 +292,69 @@ CHANGED_TS_FILES=$(git diff --name-only --diff-filter=d HEAD | grep -E '\.(ts|ts
292
292
  - `3`: Medium severity issues found
293
293
 
294
294
  Focus on actionable, specific TypeScript issues that improve type safety and code quality.
295
+
296
+ ## Report Storage
297
+
298
+ **IMPORTANT**: When invoked by `/code-review`, save your audit report to the standardized location:
299
+
300
+ ```bash
301
+ # Expect these variables from the orchestrator:
302
+ # - CURRENT_BRANCH: Current git branch name
303
+ # - AUDIT_BASE_DIR: Base directory (.docs/audits/${CURRENT_BRANCH})
304
+ # - TIMESTAMP: Timestamp for report filename
305
+
306
+ # Save report to:
307
+ REPORT_FILE="${AUDIT_BASE_DIR}/typescript-report.${TIMESTAMP}.md"
308
+
309
+ # Create report
310
+ cat > "$REPORT_FILE" <<'EOF'
311
+ # TypeScript Audit Report
312
+
313
+ **Branch**: ${CURRENT_BRANCH}
314
+ **Date**: $(date +%Y-%m-%d)
315
+ **Time**: $(date +%H:%M:%S)
316
+ **Auditor**: DevFlow TypeScript Agent
317
+
318
+ ---
319
+
320
+ ## Executive Summary
321
+
322
+ {Brief summary of TypeScript type safety and code quality}
323
+
324
+ ---
325
+
326
+ ## Critical Issues
327
+
328
+ {CRITICAL severity type safety completely bypassed}
329
+
330
+ ---
331
+
332
+ ## High Priority Issues
333
+
334
+ {HIGH severity significant type safety or architectural issues}
335
+
336
+ ---
337
+
338
+ ## Medium Priority Issues
339
+
340
+ {MEDIUM severity moderate code quality issues}
341
+
342
+ ---
343
+
344
+ ## Low Priority Issues
345
+
346
+ {LOW severity minor improvement opportunities}
347
+
348
+ ---
349
+
350
+ ## Type Safety Score: {X}/10
351
+
352
+ **Recommendation**: {BLOCK MERGE | REVIEW REQUIRED | APPROVED WITH CONDITIONS | APPROVED}
353
+
354
+ EOF
355
+
356
+ echo "✅ TypeScript audit report saved to: $REPORT_FILE"
357
+ ```
358
+
359
+ **If invoked standalone** (not by /code-review), use a simpler path:
360
+ - `.docs/audits/standalone/typescript-report.${TIMESTAMP}.md`
@@ -760,9 +760,266 @@ fi
760
760
  echo ""
761
761
  ```
762
762
 
763
- ## Step 13: Final Summary
763
+ ## Step 13: Save Release Notes
764
764
 
765
- Provide release summary:
765
+ Save comprehensive release notes to `.docs/releases/`:
766
+
767
+ ```bash
768
+ # Create releases directory if it doesn't exist
769
+ mkdir -p .docs/releases
770
+
771
+ # Get current date
772
+ RELEASE_DATE=$(date +%Y-%m-%d)
773
+
774
+ # Generate release notes file
775
+ RELEASE_NOTES_FILE=".docs/releases/RELEASE_NOTES_v${NEW_VERSION}.md"
776
+
777
+ # Write comprehensive release notes
778
+ cat > "$RELEASE_NOTES_FILE" <<EOF
779
+ # Release ${NEW_VERSION}
780
+
781
+ **Release Date:** ${RELEASE_DATE}
782
+ **Previous Version:** ${CURRENT_VERSION}
783
+ **Project Type:** ${PROJECT_TYPE}
784
+
785
+ ---
786
+
787
+ ## Release Summary
788
+
789
+ - **Version bump:** ${CURRENT_VERSION} → ${NEW_VERSION}
790
+ - **Commits included:** $(git rev-list --count $COMMIT_RANGE 2>/dev/null || echo "N/A")
791
+ - **Release type:** ${BUMP_TYPE}
792
+ - **Tag:** ${TAG_NAME}
793
+
794
+ ---
795
+
796
+ ## Changes
797
+
798
+ $(cat <<'CHANGES_EOF'
799
+ ${CHANGELOG_ENTRY}
800
+ CHANGES_EOF
801
+ )
802
+
803
+ ---
804
+
805
+ ## Commit History
806
+
807
+ \`\`\`
808
+ $(git log --oneline $COMMIT_RANGE 2>/dev/null || echo "No commits to display")
809
+ \`\`\`
810
+
811
+ ---
812
+
813
+ ## Build & Test Results
814
+
815
+ - **Build:** ${BUILD_RESULT:-N/A}
816
+ - **Tests:** ${TEST_RESULT:-N/A}
817
+
818
+ ---
819
+
820
+ ## Distribution
821
+
822
+ EOF
823
+
824
+ # Add registry links based on project type
825
+ if [ -n "$PUBLISH_CMD" ] && [ "$PUBLISH_CMD" != "echo"* ]; then
826
+ echo "**Published to:**" >> "$RELEASE_NOTES_FILE"
827
+ case "$PROJECT_TYPE" in
828
+ nodejs)
829
+ PACKAGE_NAME=$(command -v jq >/dev/null && jq -r '.name' package.json 2>/dev/null || echo "unknown")
830
+ echo "- npm: https://www.npmjs.com/package/${PACKAGE_NAME}/v/${NEW_VERSION}" >> "$RELEASE_NOTES_FILE"
831
+ ;;
832
+ rust)
833
+ CRATE_NAME=$(grep '^name = ' Cargo.toml | head -1 | sed 's/name = "\(.*\)"/\1/')
834
+ echo "- crates.io: https://crates.io/crates/${CRATE_NAME}/${NEW_VERSION}" >> "$RELEASE_NOTES_FILE"
835
+ ;;
836
+ python)
837
+ PACKAGE_NAME=$(grep '^name = ' pyproject.toml | head -1 | sed 's/name = "\(.*\)"/\1/' || echo "unknown")
838
+ echo "- PyPI: https://pypi.org/project/${PACKAGE_NAME}/${NEW_VERSION}/" >> "$RELEASE_NOTES_FILE"
839
+ ;;
840
+ ruby)
841
+ GEM_NAME=$(ls *.gemspec 2>/dev/null | head -1 | sed 's/\.gemspec$//')
842
+ echo "- RubyGems: https://rubygems.org/gems/${GEM_NAME}/versions/${NEW_VERSION}" >> "$RELEASE_NOTES_FILE"
843
+ ;;
844
+ *) echo "- Package registry (check project documentation)" >> "$RELEASE_NOTES_FILE" ;;
845
+ esac
846
+ echo "" >> "$RELEASE_NOTES_FILE"
847
+ fi
848
+
849
+ # Add Git platform links
850
+ if command -v gh >/dev/null && git remote get-url origin 2>/dev/null | grep -q "github.com"; then
851
+ REPO_URL=$(git remote get-url origin | sed 's/\.git$//')
852
+ cat >> "$RELEASE_NOTES_FILE" <<EOF
853
+
854
+ **Git Repository:**
855
+ - Release: ${REPO_URL}/releases/tag/${TAG_NAME}
856
+ - Commits: ${REPO_URL}/compare/${LAST_TAG}...${TAG_NAME}
857
+ - Changelog: ${REPO_URL}/blob/main/${CHANGELOG_FILE}
858
+
859
+ EOF
860
+ fi
861
+
862
+ # Add verification steps
863
+ cat >> "$RELEASE_NOTES_FILE" <<'EOF'
864
+
865
+ ---
866
+
867
+ ## Verification Steps
868
+
869
+ 1. **Registry Check:** Verify package appears in registry (may take a few minutes)
870
+ 2. **Fresh Install:** Test installation in a clean environment
871
+ 3. **Smoke Tests:** Run basic functionality tests
872
+ 4. **Documentation:** Update any version-specific documentation
873
+
874
+ ---
875
+
876
+ *Release notes generated by DevFlow release agent*
877
+ EOF
878
+
879
+ echo ""
880
+ echo "✅ Release notes saved to: $RELEASE_NOTES_FILE"
881
+ echo ""
882
+ ```
883
+
884
+ ## Step 14: Verify Documentation Alignment
885
+
886
+ Check and update documentation files to ensure consistency:
887
+
888
+ ```bash
889
+ echo "📚 Verifying documentation alignment..."
890
+ echo ""
891
+
892
+ DOC_ISSUES=()
893
+
894
+ # Check if ROADMAP.md exists and needs updating
895
+ if [ -f "ROADMAP.md" ]; then
896
+ echo "Checking ROADMAP.md alignment..."
897
+
898
+ # Check if this release includes features that should be marked as completed
899
+ if echo "$CHANGELOG_ENTRY" | grep -qiE "(feat|feature|add|new)"; then
900
+ echo "⚠️ ROADMAP UPDATE NEEDED:"
901
+ echo " This release includes new features."
902
+ echo " Review ROADMAP.md and mark completed items."
903
+ echo " File: ROADMAP.md"
904
+ echo ""
905
+ DOC_ISSUES+=("ROADMAP.md needs review for completed features")
906
+ fi
907
+
908
+ # Check if roadmap references old version
909
+ if grep -q "$CURRENT_VERSION" ROADMAP.md 2>/dev/null; then
910
+ echo "⚠️ ROADMAP VERSION REFERENCE:"
911
+ echo " ROADMAP.md references old version $CURRENT_VERSION"
912
+ echo " Consider updating version references to $NEW_VERSION"
913
+ echo ""
914
+ DOC_ISSUES+=("ROADMAP.md has old version references")
915
+ fi
916
+ fi
917
+
918
+ # Check for README.md files in subpackages (monorepo support)
919
+ echo "Checking README.md files..."
920
+
921
+ # Find all README.md files (excluding node_modules, .git, etc.)
922
+ READMES=$(find . -name "README.md" -not -path "*/node_modules/*" -not -path "*/.git/*" -not -path "*/dist/*" -not -path "*/build/*" 2>/dev/null)
923
+
924
+ if [ $(echo "$READMES" | wc -l) -gt 1 ]; then
925
+ echo "Found multiple README.md files (monorepo detected)"
926
+
927
+ # Check each README for version references
928
+ for readme in $READMES; do
929
+ if grep -q "$CURRENT_VERSION" "$readme" 2>/dev/null; then
930
+ echo "⚠️ VERSION MISMATCH: $readme"
931
+ echo " Contains old version reference: $CURRENT_VERSION"
932
+ echo " Should be updated to: $NEW_VERSION"
933
+ echo ""
934
+ DOC_ISSUES+=("$readme has old version reference")
935
+ fi
936
+ done
937
+
938
+ # Check for installation instructions consistency
939
+ MAIN_README="./README.md"
940
+ if [ -f "$MAIN_README" ]; then
941
+ MAIN_INSTALL=$(grep -A 3 "Installation\|Install\|Getting Started" "$MAIN_README" 2>/dev/null | head -5)
942
+
943
+ for readme in $READMES; do
944
+ if [ "$readme" != "$MAIN_README" ]; then
945
+ SUB_INSTALL=$(grep -A 3 "Installation\|Install\|Getting Started" "$readme" 2>/dev/null | head -5)
946
+
947
+ # Simple check if installation sections differ significantly
948
+ if [ -n "$MAIN_INSTALL" ] && [ -n "$SUB_INSTALL" ]; then
949
+ if ! echo "$SUB_INSTALL" | grep -qF "$(echo "$MAIN_INSTALL" | head -1)"; then
950
+ echo "⚠️ INSTALLATION INCONSISTENCY:"
951
+ echo " $readme has different installation instructions"
952
+ echo " than main README.md"
953
+ echo ""
954
+ DOC_ISSUES+=("$readme installation instructions differ from main README")
955
+ fi
956
+ fi
957
+ fi
958
+ done
959
+ fi
960
+ fi
961
+
962
+ # Verify CHANGELOG.md is up to date
963
+ if [ -f "$CHANGELOG_FILE" ]; then
964
+ if ! grep -q "## \[${NEW_VERSION}\]" "$CHANGELOG_FILE" 2>/dev/null; then
965
+ echo "❌ CHANGELOG MISSING NEW VERSION:"
966
+ echo " $CHANGELOG_FILE does not contain entry for $NEW_VERSION"
967
+ echo " This should have been added in Step 5"
968
+ echo ""
969
+ DOC_ISSUES+=("CHANGELOG missing $NEW_VERSION entry")
970
+ else
971
+ echo "✓ CHANGELOG contains $NEW_VERSION entry"
972
+ fi
973
+
974
+ # Check if changelog has link reference for new version
975
+ if ! grep -q "\[${NEW_VERSION}\].*http" "$CHANGELOG_FILE" 2>/dev/null; then
976
+ echo "⚠️ CHANGELOG LINK MISSING:"
977
+ echo " $CHANGELOG_FILE missing link reference for $NEW_VERSION"
978
+ echo " Add: [${NEW_VERSION}]: https://github.com/.../releases/tag/v${NEW_VERSION}"
979
+ echo ""
980
+ DOC_ISSUES+=("CHANGELOG missing link reference for $NEW_VERSION")
981
+ fi
982
+ fi
983
+
984
+ # Check for docs/ or documentation/ directories
985
+ for docs_dir in "docs" "documentation" ".docs"; do
986
+ if [ -d "$docs_dir" ]; then
987
+ echo "Checking $docs_dir/ for version references..."
988
+
989
+ # Look for markdown files with old version
990
+ OLD_VERSION_DOCS=$(grep -rl "$CURRENT_VERSION" "$docs_dir" 2>/dev/null | grep -E "\.(md|markdown|txt)$" || true)
991
+
992
+ if [ -n "$OLD_VERSION_DOCS" ]; then
993
+ echo "⚠️ DOCUMENTATION VERSION REFERENCES:"
994
+ echo "$OLD_VERSION_DOCS" | while read -r doc_file; do
995
+ echo " - $doc_file"
996
+ done
997
+ echo ""
998
+ DOC_ISSUES+=("Documentation files in $docs_dir/ have old version references")
999
+ fi
1000
+ fi
1001
+ done
1002
+
1003
+ # Summary of documentation issues
1004
+ echo ""
1005
+ if [ ${#DOC_ISSUES[@]} -eq 0 ]; then
1006
+ echo "✅ All documentation checks passed"
1007
+ else
1008
+ echo "⚠️ DOCUMENTATION ISSUES FOUND (${#DOC_ISSUES[@]}):"
1009
+ for issue in "${DOC_ISSUES[@]}"; do
1010
+ echo " - $issue"
1011
+ done
1012
+ echo ""
1013
+ echo "These issues should be addressed before announcing the release."
1014
+ echo "Run a search-and-replace for version references:"
1015
+ echo " find . -type f -name '*.md' -exec sed -i 's/$CURRENT_VERSION/$NEW_VERSION/g' {} +"
1016
+ echo ""
1017
+ fi
1018
+ ```
1019
+
1020
+ ## Step 15: Final Summary
1021
+
1022
+ Display release summary to console:
766
1023
 
767
1024
  ```bash
768
1025
  echo "========================================="
@@ -773,15 +1030,22 @@ echo "📊 RELEASE SUMMARY:"
773
1030
  echo "- Old version: $CURRENT_VERSION"
774
1031
  echo "- New version: $NEW_VERSION"
775
1032
  echo "- Project type: $PROJECT_TYPE"
776
- echo "- Commits included: $(git rev-list --count $COMMIT_RANGE)"
1033
+ echo "- Commits included: $(git rev-list --count $COMMIT_RANGE 2>/dev/null || echo "N/A")"
777
1034
  echo "- Tag: $TAG_NAME"
1035
+ echo "- Release notes: .docs/releases/RELEASE_NOTES_v${NEW_VERSION}.md"
778
1036
  echo ""
779
1037
 
780
1038
  if [ -n "$PUBLISH_CMD" ] && [ "$PUBLISH_CMD" != "echo"* ]; then
781
1039
  echo "📦 PUBLISHED TO:"
782
1040
  case "$PROJECT_TYPE" in
783
- nodejs) echo "- npm: https://www.npmjs.com/package/<package-name>" ;;
784
- rust) echo "- crates.io: https://crates.io/crates/<crate-name>" ;;
1041
+ nodejs)
1042
+ PACKAGE_NAME=$(command -v jq >/dev/null && jq -r '.name' package.json 2>/dev/null || echo "package")
1043
+ echo "- npm: https://www.npmjs.com/package/${PACKAGE_NAME}"
1044
+ ;;
1045
+ rust)
1046
+ CRATE_NAME=$(grep '^name = ' Cargo.toml | head -1 | sed 's/name = "\(.*\)"/\1/')
1047
+ echo "- crates.io: https://crates.io/crates/${CRATE_NAME}"
1048
+ ;;
785
1049
  python) echo "- PyPI: https://pypi.org/project/<package-name>" ;;
786
1050
  ruby) echo "- RubyGems: https://rubygems.org/gems/<gem-name>" ;;
787
1051
  php) echo "- Packagist: https://packagist.org/packages/<vendor>/<package>" ;;
@@ -790,20 +1054,27 @@ if [ -n "$PUBLISH_CMD" ] && [ "$PUBLISH_CMD" != "echo"* ]; then
790
1054
  echo ""
791
1055
  fi
792
1056
 
793
- if command -v gh >/dev/null && git remote get-url origin | grep -q "github.com"; then
1057
+ if command -v gh >/dev/null && git remote get-url origin 2>/dev/null | grep -q "github.com"; then
794
1058
  REPO_URL=$(git remote get-url origin | sed 's/\.git$//')
795
1059
  echo "🔗 LINKS:"
796
1060
  echo "- Release: $REPO_URL/releases/tag/$TAG_NAME"
797
1061
  echo "- Commits: $REPO_URL/compare/$LAST_TAG...$TAG_NAME"
798
1062
  echo "- Changelog: $REPO_URL/blob/main/$CHANGELOG_FILE"
1063
+ echo "- Release Notes: $REPO_URL/blob/main/.docs/releases/RELEASE_NOTES_v${NEW_VERSION}.md"
799
1064
  fi
800
1065
 
801
1066
  echo ""
802
1067
  echo "✅ NEXT STEPS:"
803
1068
  echo "1. Verify package appears in registry (may take a few minutes)"
804
1069
  echo "2. Test installation in a fresh environment"
805
- echo "3. Announce release to users/team"
806
- echo "4. Update documentation if needed"
1070
+ if [ ${#DOC_ISSUES[@]} -gt 0 ]; then
1071
+ echo "3. ⚠️ Address documentation issues (${#DOC_ISSUES[@]} found)"
1072
+ echo "4. Announce release to users/team"
1073
+ echo "5. Review release notes: .docs/releases/RELEASE_NOTES_v${NEW_VERSION}.md"
1074
+ else
1075
+ echo "3. Announce release to users/team"
1076
+ echo "4. Review release notes: .docs/releases/RELEASE_NOTES_v${NEW_VERSION}.md"
1077
+ fi
807
1078
  echo ""
808
1079
  ```
809
1080
 
@@ -858,5 +1129,9 @@ Before declaring release complete:
858
1129
  - [ ] Tag created and pushed
859
1130
  - [ ] Package published (if applicable)
860
1131
  - [ ] Platform release created (if applicable)
1132
+ - [ ] Release notes saved to `.docs/releases/RELEASE_NOTES_v<version>.md`
1133
+ - [ ] Documentation alignment verified (ROADMAP, READMEs, docs/)
1134
+ - [ ] Version references updated across all documentation
1135
+ - [ ] No installation instruction inconsistencies in subpackages
861
1136
 
862
1137
  This ensures every release is professional, consistent, and safe across any programming language or ecosystem.
@@ -70,24 +70,46 @@ else
70
70
  INCLUDE_DB_AUDIT=false
71
71
  fi
72
72
  echo ""
73
+
74
+ # Set up audit directory structure
75
+ TIMESTAMP=$(date +%Y-%m-%d_%H%M)
76
+ AUDIT_BASE_DIR=".docs/audits/${CURRENT_BRANCH}"
77
+ mkdir -p "$AUDIT_BASE_DIR"
78
+
79
+ echo "📁 Audit reports will be saved to: $AUDIT_BASE_DIR"
80
+ echo ""
73
81
  ```
74
82
 
75
83
  ### Step 3: Launch Specialized Sub-Agents in Parallel
76
84
 
77
- Launch these sub-agents in parallel based on change detection:
85
+ Launch these sub-agents in parallel based on change detection.
86
+
87
+ **IMPORTANT**: Pass the following variables to each sub-agent:
88
+ - `CURRENT_BRANCH`: The branch being reviewed
89
+ - `AUDIT_BASE_DIR`: Base directory for audit reports (`.docs/audits/${CURRENT_BRANCH}`)
90
+ - `TIMESTAMP`: Current timestamp for report filenames
91
+
92
+ Each sub-agent should save its report to:
93
+ ```
94
+ ${AUDIT_BASE_DIR}/<audit-type>-report.${TIMESTAMP}.md
95
+ ```
96
+
97
+ **Example paths**:
98
+ - `.docs/audits/feature-auth/security-report.2025-10-18_1430.md`
99
+ - `.docs/audits/feature-auth/performance-report.2025-10-18_1430.md`
78
100
 
79
101
  **Core Audits (Always Run)**:
80
- 1. audit-security sub-agent
81
- 2. audit-performance sub-agent
82
- 3. audit-architecture sub-agent
83
- 4. audit-tests sub-agent
84
- 5. audit-complexity sub-agent
85
- 6. audit-dependencies sub-agent
86
- 7. audit-documentation sub-agent
102
+ 1. audit-security sub-agent → `${AUDIT_BASE_DIR}/security-report.${TIMESTAMP}.md`
103
+ 2. audit-performance sub-agent → `${AUDIT_BASE_DIR}/performance-report.${TIMESTAMP}.md`
104
+ 3. audit-architecture sub-agent → `${AUDIT_BASE_DIR}/architecture-report.${TIMESTAMP}.md`
105
+ 4. audit-tests sub-agent → `${AUDIT_BASE_DIR}/tests-report.${TIMESTAMP}.md`
106
+ 5. audit-complexity sub-agent → `${AUDIT_BASE_DIR}/complexity-report.${TIMESTAMP}.md`
107
+ 6. audit-dependencies sub-agent → `${AUDIT_BASE_DIR}/dependencies-report.${TIMESTAMP}.md`
108
+ 7. audit-documentation sub-agent → `${AUDIT_BASE_DIR}/documentation-report.${TIMESTAMP}.md`
87
109
 
88
110
  **Conditional Audits** (automatically detect and skip if not applicable):
89
- 8. audit-typescript sub-agent (only if .ts/.tsx files changed or tsconfig.json exists)
90
- 9. audit-database sub-agent (only if database changes detected)
111
+ 8. audit-typescript sub-agent `${AUDIT_BASE_DIR}/typescript-report.${TIMESTAMP}.md`
112
+ 9. audit-database sub-agent `${AUDIT_BASE_DIR}/database-report.${TIMESTAMP}.md`
91
113
 
92
114
  ### Step 4: Synthesize Comprehensive Review
93
115
 
@@ -100,7 +122,13 @@ After all sub-agents complete their analysis:
100
122
 
101
123
  ### Step 5: Save Comprehensive Review Document
102
124
 
103
- Create a detailed review document at `.docs/reviews/branch-{BRANCH_NAME}-{YYYY-MM-DD_HHMM}.md`:
125
+ Create a detailed review document at `${AUDIT_BASE_DIR}/comprehensive-review.${TIMESTAMP}.md`:
126
+
127
+ ```bash
128
+ REVIEW_FILE="${AUDIT_BASE_DIR}/comprehensive-review.${TIMESTAMP}.md"
129
+ ```
130
+
131
+ **File structure**:
104
132
 
105
133
  ```markdown
106
134
  # Branch Review - {BRANCH_NAME}
@@ -333,7 +361,18 @@ Give the developer a clear, actionable summary:
333
361
  - {Easy fix 1} ({estimated time})
334
362
  - {Easy fix 2} ({estimated time})
335
363
 
336
- 📄 Full review: .docs/reviews/branch-{branch}-{timestamp}.md
364
+ 📄 Full review: ${AUDIT_BASE_DIR}/comprehensive-review.${TIMESTAMP}.md
365
+
366
+ 📁 Individual audit reports:
367
+ ${AUDIT_BASE_DIR}/security-report.${TIMESTAMP}.md
368
+ ${AUDIT_BASE_DIR}/performance-report.${TIMESTAMP}.md
369
+ ${AUDIT_BASE_DIR}/architecture-report.${TIMESTAMP}.md
370
+ ${AUDIT_BASE_DIR}/tests-report.${TIMESTAMP}.md
371
+ ${AUDIT_BASE_DIR}/complexity-report.${TIMESTAMP}.md
372
+ ${AUDIT_BASE_DIR}/dependencies-report.${TIMESTAMP}.md
373
+ ${AUDIT_BASE_DIR}/documentation-report.${TIMESTAMP}.md
374
+ (+ typescript-report.${TIMESTAMP}.md if applicable)
375
+ (+ database-report.${TIMESTAMP}.md if applicable)
337
376
 
338
377
  🔄 NEXT STEPS:
339
378
  1. Address blocking issues above