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 +27 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +9 -5
- 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/code-review.md +51 -12
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,
|
|
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
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
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:
|
|
@@ -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:
|
|
763
|
+
## Step 13: Save Release Notes
|
|
764
764
|
|
|
765
|
-
|
|
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)
|
|
784
|
-
|
|
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
|
-
|
|
806
|
-
echo "
|
|
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
|
|
90
|
-
9. audit-database sub-agent
|
|
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
|
|
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:
|
|
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
|