πŸš€ Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more β†’
Sign In

devflow-kit

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

devflow-kit - npm Package Compare versions

Comparing version
0.3.1
to
0.3.2
+343
src/claude/commands/devflow/code-review.md
---
description: Comprehensive branch review using specialized sub-agents for PR readiness
allowed-tools: Task, Bash, Read, Write, Grep, Glob
---
## Your Task
Perform a comprehensive review of this entire feature branch by orchestrating multiple specialized sub-agents in parallel. This is designed for thorough analysis before creating pull requests or merging branches.
### Step 1: Analyze Branch Changes
First, determine the branch and base for comparison:
```bash
# Get current branch
CURRENT_BRANCH=$(git branch --show-current)
if [ -z "$CURRENT_BRANCH" ]; then
echo "❌ Not on a branch (detached HEAD). Checkout a feature branch first."
exit 1
fi
# Determine base branch (main, master, or develop)
BASE_BRANCH=""
for branch in main master develop; do
if git show-ref --verify --quiet refs/heads/$branch; then
BASE_BRANCH=$branch
break
fi
done
if [ -z "$BASE_BRANCH" ]; then
echo "❌ Could not find base branch (main/master/develop). Specify manually."
exit 1
fi
echo "=== BRANCH REVIEW SCOPE ==="
echo "Current branch: $CURRENT_BRANCH"
echo "Base branch: $BASE_BRANCH"
echo ""
# Check if there are changes to review
if git diff --quiet $BASE_BRANCH...HEAD; then
echo "No changes between $BASE_BRANCH and $CURRENT_BRANCH"
exit 0
fi
# Show comprehensive change summary
echo "=== CHANGES TO REVIEW ==="
git diff --stat $BASE_BRANCH...HEAD
echo ""
echo "=== COMMIT HISTORY ==="
git log --oneline $BASE_BRANCH..HEAD
echo ""
```
### Step 2: Detect Change Categories
Analyze what types of changes are in this branch to determine which specialized agents are needed:
```bash
# Check if database-related files changed
DB_CHANGES=$(git diff --name-only $BASE_BRANCH...HEAD | grep -E '\.(sql|prisma|migration|knex|sequelize|db)' || true)
DB_CHANGES+=$(git diff --name-only $BASE_BRANCH...HEAD | grep -iE '(migration|schema|database|models/)' || true)
if [ -n "$DB_CHANGES" ]; then
echo "πŸ—„οΈ Database changes detected - will run database audit"
INCLUDE_DB_AUDIT=true
else
echo "ℹ️ No database changes detected - skipping database audit"
INCLUDE_DB_AUDIT=false
fi
echo ""
```
### Step 3: Launch Specialized Sub-Agents in Parallel
Launch these sub-agents in parallel based on change detection:
**Core Audits (Always Run)**:
1. audit-security sub-agent
2. audit-performance sub-agent
3. audit-architecture sub-agent
4. audit-tests sub-agent
5. audit-complexity sub-agent
6. audit-dependencies sub-agent
7. audit-documentation sub-agent
**Conditional Audits** (automatically detect and skip if not applicable):
8. audit-typescript sub-agent (only if .ts/.tsx files changed or tsconfig.json exists)
9. audit-database sub-agent (only if database changes detected)
### Step 4: Synthesize Comprehensive Review
After all sub-agents complete their analysis:
1. **Collect Results**: Gather findings from all 7-8 specialized sub-agents (depending on change types)
2. **Cross-Reference Issues**: Identify overlapping concerns between domains
3. **Prioritize for PR**: Focus on merge-blocking vs nice-to-have improvements
4. **Create PR-Ready Review**: Structure for easy consumption by human reviewers
### Step 5: Save Comprehensive Review Document
Create a detailed review document at `.docs/reviews/branch-{BRANCH_NAME}-{YYYY-MM-DD_HHMM}.md`:
```markdown
# Branch Review - {BRANCH_NAME}
**Date**: {current_date}
**Time**: {current_time}
**Type**: Branch Review (PR Readiness Assessment)
**Branch**: {CURRENT_BRANCH}
**Base**: {BASE_BRANCH}
**Reviewer**: AI Sub-Agent Orchestra
---
## πŸ“Š Branch Overview
**Commits**: {commit_count} commits
**Files Changed**: {files_changed}
**Lines Added**: {lines_added}
**Lines Removed**: {lines_removed}
**Review Duration**: {duration}
### Change Categories
- 🎯 **Features**: {feature_changes}
- πŸ› **Bug Fixes**: {bug_fixes}
- πŸ”§ **Refactoring**: {refactoring}
- πŸ“š **Documentation**: {doc_changes}
- πŸ§ͺ **Tests**: {test_changes}
---
## 🎯 PR Readiness Assessment
### 🚦 MERGE RECOMMENDATION
**Status**: {βœ… READY TO MERGE | ⚠️ ISSUES TO ADDRESS | 🚫 NOT READY}
**Confidence Level**: {High/Medium/Low}
### Blocking Issues (Must Fix Before Merge)
- πŸ”΄ {critical_issue_1} in {file:line}
- πŸ”΄ {critical_issue_2} in {file:line}
### High Priority (Should Fix Before Merge)
- 🟠 {high_issue_1} in {file:line}
- 🟠 {high_issue_2} in {file:line}
---
## πŸ” Detailed Sub-Agent Analysis
### πŸ”’ Security Analysis (audit-security)
**Risk Level**: {Low/Medium/High/Critical}
#### Security Issues Found
{detailed security findings with file:line references}
#### Security Recommendations
{specific security improvements needed}
### πŸ“˜ TypeScript Analysis (audit-typescript)
**Type Safety**: {Excellent/Good/Acceptable/Poor}
**Note**: Only included if TypeScript files changed or project uses TypeScript
#### TypeScript Issues Found
{detailed type safety findings with file:line references}
#### TypeScript Recommendations
{specific type safety improvements needed}
### ⚑ Performance Analysis (audit-performance)
**Performance Impact**: {Positive/Neutral/Negative}
#### Performance Issues Found
{detailed performance findings with optimizations}
#### Performance Recommendations
{specific performance improvements}
### πŸ—οΈ Architecture Analysis (audit-architecture)
**Architecture Quality**: {Excellent/Good/Acceptable/Poor}
#### Architectural Issues Found
{detailed architecture findings and design concerns}
#### Architecture Recommendations
{specific architectural improvements}
### πŸ§ͺ Test Coverage Analysis (audit-tests)
**Coverage Assessment**: {Excellent/Good/Adequate/Insufficient}
#### Testing Issues Found
{detailed test coverage gaps and quality issues}
#### Testing Recommendations
{specific tests that should be added}
### 🧠 Complexity Analysis (audit-complexity)
**Maintainability Score**: {Excellent/Good/Acceptable/Poor}
#### Complexity Issues Found
{detailed complexity and maintainability concerns}
#### Complexity Recommendations
{specific refactoring suggestions}
### πŸ“¦ Dependency Analysis (audit-dependencies)
**Dependency Health**: {Excellent/Good/Acceptable/Poor}
#### Dependency Issues Found
{detailed dependency concerns and security issues}
#### Dependency Recommendations
{specific dependency management improvements}
### πŸ“š Documentation Analysis (audit-documentation)
**Documentation Quality**: {Excellent/Good/Acceptable/Poor}
#### Documentation Issues Found
{detailed documentation drift, missing docs, stale examples}
#### Documentation Recommendations
{specific documentation updates needed}
### πŸ—„οΈ Database Analysis (audit-database)
**Database Health**: {Excellent/Good/Acceptable/Poor}
**Note**: Only included if database changes detected
#### Database Issues Found
{detailed database design, migration, and query issues}
#### Database Recommendations
{specific database improvements needed}
---
## 🎯 Action Plan
### Pre-Merge Checklist (Blocking)
- [ ] {blocking_action_1} - {estimated_effort}
- [ ] {blocking_action_2} - {estimated_effort}
- [ ] {blocking_action_3} - {estimated_effort}
### Post-Merge Improvements (Non-Blocking)
- [ ] {improvement_1} - {estimated_effort}
- [ ] {improvement_2} - {estimated_effort}
- [ ] {improvement_3} - {estimated_effort}
### Follow-Up Tasks
- [ ] {followup_1}
- [ ] {followup_2}
---
## πŸ“ˆ Quality Metrics
### Code Quality Score: {score}/10
**Breakdown**:
- Security: {score}/10
- TypeScript: {score}/10 (if applicable)
- Performance: {score}/10
- Architecture: {score}/10
- Test Coverage: {score}/10
- Maintainability: {score}/10
- Dependencies: {score}/10
- Documentation: {score}/10
- Database: {score}/10 (if applicable)
### Comparison to {BASE_BRANCH}
- Quality Trend: {Improving/Stable/Declining}
- Technical Debt: {Reduced/Neutral/Increased}
- Test Coverage: {Increased/Maintained/Decreased}
---
## πŸ”— Related Resources
### Files Requiring Attention
- {file1} - {reason}
- {file2} - {reason}
- {file3} - {reason}
### Similar Issues in Codebase
- {related_issue_1} in {location}
- {related_issue_2} in {location}
### Documentation Updates Needed
- {doc_update_1}
- {doc_update_2}
---
## πŸ’‘ Reviewer Notes
### Human Review Focus Areas
Based on sub-agent analysis, human reviewers should focus on:
1. {focus_area_1} - {reason}
2. {focus_area_2} - {reason}
3. {focus_area_3} - {reason}
### Discussion Points
- {discussion_point_1}
- {discussion_point_2}
- {discussion_point_3}
---
*Comprehensive review generated by DevFlow sub-agent orchestration*
*Next: Address blocking issues, then create PR with this review as reference*
```
### Step 6: Provide Executive Summary
Give the developer a clear, actionable summary:
```
πŸ” BRANCH REVIEW COMPLETE: {BRANCH_NAME}
πŸ“Š ANALYSIS SUMMARY:
- Files analyzed: {X} files, {Y} commits
- Issues found: {Critical} critical, {High} high, {Medium} medium, {Low} low
- Review confidence: {High/Medium/Low}
🚦 PR READINESS: {βœ… READY | ⚠️ ISSUES TO ADDRESS | 🚫 NOT READY}
🎯 CRITICAL ACTIONS BEFORE MERGE:
1. {Most critical blocking issue}
2. {Second most critical blocking issue}
3. {Third most critical blocking issue}
⚑ QUICK WINS:
- {Easy fix 1} ({estimated time})
- {Easy fix 2} ({estimated time})
πŸ“„ Full review: .docs/reviews/branch-{branch}-{timestamp}.md
πŸ”„ NEXT STEPS:
1. Address blocking issues above
2. Run `/code-review` after fixes to verify
3. Create PR using this review as reference
4. Share review with team for human review focus
```
+13
-0

@@ -8,2 +8,14 @@ # Changelog

## [0.3.2] - 2025-10-17
### Changed
- **Simplified init command output** - Reduced installation output from ~60-80 lines to ~10-15 lines
- **Unified review commands** - Consolidated /pre-commit and /pre-pr into single /code-review command
- **Streamlined statusline** - Removed cost/API metrics, added CPU/memory monitoring (28% code reduction)
### Improved
- Replaced /catch-up suggestion with comprehensive commands reference for better initial UX
---
## [0.3.1] - 2025-10-17

@@ -254,2 +266,3 @@

[0.3.2]: https://github.com/dean0x/devflow/releases/tag/v0.3.2
[0.3.1]: https://github.com/dean0x/devflow/releases/tag/v0.3.1

@@ -256,0 +269,0 @@ [0.3.0]: https://github.com/dean0x/devflow/releases/tag/v0.3.0

+1
-1

@@ -1,1 +0,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,SAqfpB,CAAC"}
{"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"}

@@ -63,4 +63,13 @@ import { Command } from 'commander';

.action(async (options) => {
console.log('πŸš€ DevFlow - Agentic Development Toolkit');
console.log(' Intelligent tools for reliable AI-assisted development\n');
// Get package version
const packageJsonPath = path.resolve(__dirname, '../../package.json');
let version = '';
try {
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
version = packageJson.version;
}
catch {
version = 'unknown';
}
console.log(`πŸš€ DevFlow v${version}${options.force ? ' [--force]' : ''}\n`);
// Get installation paths with proper validation

@@ -80,11 +89,26 @@ let claudeDir;

await fs.access(claudeDir);
console.log(`πŸ” Detected Claude Code at ${claudeDir} βœ…\n`);
}
catch {
console.error(`❌ Claude Code not detected at ${claudeDir}`);
console.error('\nInstall Claude Code from: https://claude.com/claude-code');
console.error('\nOr set CLAUDE_CODE_DIR environment variable if installed elsewhere.');
console.error(' Install from: https://claude.com/claude-code');
console.error(' Or set CLAUDE_CODE_DIR if installed elsewhere\n');
process.exit(1);
}
console.log('πŸ› οΈ Installing DevFlow for Claude Code...');
// Handle --force flag prompt
let forceOverride = false;
if (options.force) {
if (options.yes) {
forceOverride = true;
}
else {
console.log('⚠️ WARNING: Force override will replace settings.json and CLAUDE.md');
console.log(' Backups: settings.json.backup, CLAUDE.md.backup\n');
forceOverride = await promptUser('Proceed? (y/N): ');
console.log();
if (!forceOverride) {
console.log('❌ Cancelled. Use init without --force for safe installation.\n');
process.exit(0);
}
}
}
// Get the root directory of the devflow package

@@ -95,3 +119,2 @@ const rootDir = path.resolve(__dirname, '../..');

// Clean old DevFlow files before installing
console.log(' 🧹 Cleaning old DevFlow files...');
const commandsDevflowDir = path.join(claudeDir, 'commands', 'devflow');

@@ -109,12 +132,7 @@ const agentsDevflowDir = path.join(claudeDir, 'agents', 'devflow');

}
// Install commands
console.log(' πŸ“‚ Installing commands...');
// Install components silently
await fs.mkdir(commandsDevflowDir, { recursive: true });
await copyDirectory(path.join(claudeSourceDir, 'commands', 'devflow'), commandsDevflowDir);
// Install sub-agents
console.log(' πŸ€– Installing sub-agents...');
await fs.mkdir(agentsDevflowDir, { recursive: true });
await copyDirectory(path.join(claudeSourceDir, 'agents', 'devflow'), agentsDevflowDir);
// Install scripts
console.log(' πŸ“œ Installing scripts...');
await fs.mkdir(devflowScriptsDir, { recursive: true });

@@ -127,26 +145,5 @@ await copyDirectory(path.join(claudeSourceDir, 'scripts'), devflowScriptsDir);

}
// Handle --force flag
let forceOverride = false;
if (options.force) {
if (options.yes) {
console.log(' ⚠️ Force override enabled with auto-approval (-y flag)\n');
forceOverride = true;
}
else {
console.log(' ⚠️ WARNING: --force flag will override existing settings.json and CLAUDE.md\n');
console.log(' This will:');
console.log(' β€’ Replace ~/.claude/settings.json with DevFlow settings');
console.log(' β€’ Replace ~/.claude/CLAUDE.md with DevFlow global instructions\n');
forceOverride = await promptUser(' Do you want to proceed? (y/N): ');
console.log();
if (!forceOverride) {
console.log(' ❌ Force override cancelled. Proceeding with safe installation.\n');
}
else {
console.log(' βœ… Force override approved. Proceeding...\n');
}
}
}
console.log('βœ“ Claude Code detected');
console.log('βœ“ Installing components... (commands, agents, scripts)');
// Install settings with smart backup
console.log(' βš™οΈ Installing settings...');
const settingsPath = path.join(claudeDir, 'settings.json');

@@ -162,3 +159,2 @@ const managedSettingsPath = path.join(claudeDir, 'managed-settings.json');

await fs.rename(settingsPath, path.join(claudeDir, 'settings.json.backup'));
console.log(' πŸ’Ύ Existing settings backed up to: settings.json.backup');
}

@@ -170,3 +166,2 @@ catch {

settingsAction = 'force-installed';
console.log(' βœ… DevFlow settings force-installed to: settings.json');
}

@@ -185,4 +180,2 @@ else {

settingsAction = 'saved-as-devflow';
console.log(' ⚠️ Your existing settings.json is preserved');
console.log(' πŸ“„ DevFlow settings saved to: settings.devflow.json');
}

@@ -194,4 +187,2 @@ catch {

settingsAction = 'backed-up';
console.log(' πŸ’Ύ Your settings backed up to: managed-settings.json');
console.log(' βœ… DevFlow settings installed to: settings.json');
}

@@ -203,7 +194,5 @@ }

settingsAction = 'fresh-install';
console.log(' βœ… DevFlow settings installed to: settings.json');
}
}
// Install CLAUDE.md with smart backup
console.log(' πŸ“˜ Installing global CLAUDE.md...');
const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');

@@ -218,3 +207,2 @@ const devflowClaudeMdPath = path.join(claudeDir, 'CLAUDE.devflow.md');

await fs.rename(claudeMdPath, path.join(claudeDir, 'CLAUDE.md.backup'));
console.log(' πŸ’Ύ Existing CLAUDE.md backed up to: CLAUDE.md.backup');
}

@@ -226,3 +214,2 @@ catch {

claudeMdAction = 'force-installed';
console.log(' βœ… DevFlow CLAUDE.md force-installed');
}

@@ -237,4 +224,2 @@ else {

claudeMdAction = 'saved-as-devflow';
console.log(' ⚠️ Your existing CLAUDE.md is preserved');
console.log(' πŸ“„ DevFlow CLAUDE.md saved to: CLAUDE.devflow.md');
}

@@ -245,58 +230,28 @@ catch {

claudeMdAction = 'fresh-install';
console.log(' βœ… DevFlow CLAUDE.md installed');
}
}
console.log(' βœ… Claude Code installation complete\n');
// Show settings instructions if needed
if (settingsAction === 'saved-as-devflow') {
console.log('βš™οΈ SETTINGS CONFIGURATION REQUIRED:\n');
console.log(' Your existing settings.json was preserved because managed-settings.json');
console.log(' already exists. DevFlow settings are in settings.devflow.json\n');
console.log(` To use DevFlow settings (statusline), manually merge into ${settingsPath}:`);
console.log(' ```json');
console.log(' {');
console.log(' "statusLine": {');
console.log(' "type": "command",');
console.log(` "command": "${path.join(devflowDir, 'scripts', 'statusline.sh')}"`);
console.log(' }');
console.log(' }');
console.log(' ```\n');
// Show concise status messages
if (settingsAction === 'force-installed') {
console.log('βœ“ Settings force-installed (backup: settings.json.backup)');
}
else if (settingsAction === 'backed-up') {
console.log('πŸ’Ύ SETTINGS BACKUP:\n');
console.log(` Your original settings saved to: ${managedSettingsPath}`);
console.log(` DevFlow settings now active in: ${settingsPath}`);
console.log(` To restore: mv ${managedSettingsPath} ${settingsPath}\n`);
console.log('βœ“ Settings configured');
}
else if (settingsAction === 'force-installed') {
console.log('⚠️ FORCE OVERRIDE APPLIED:\n');
console.log(` Your original settings backed up to: ${path.join(claudeDir, 'settings.json.backup')}`);
console.log(` DevFlow settings now active in: ${settingsPath}\n`);
else if (settingsAction === 'saved-as-devflow') {
console.log('⚠️ Existing settings preserved β†’ DevFlow saved to settings.devflow.json');
}
// Show CLAUDE.md instructions if needed
if (claudeMdAction === 'saved-as-devflow') {
console.log('πŸ“˜ CLAUDE.MD CONFIGURATION REQUIRED:\n');
console.log(' Your existing CLAUDE.md was preserved.');
console.log(` DevFlow global instructions are in: ${devflowClaudeMdPath}\n`);
console.log(' To use DevFlow global instructions, manually merge into your CLAUDE.md:');
console.log(' β€’ Engineering Principles (Result types, DI, immutability)');
console.log(' β€’ Critical Anti-Patterns (NO FAKE SOLUTIONS, FAIL HONESTLY)');
console.log(' β€’ Code Quality Enforcement (root cause analysis)');
console.log(' β€’ Type Safety Best Practices (language-agnostic)');
console.log(' β€’ Architecture Documentation (inline docs)\n');
console.log(` Or replace entirely: cp ${devflowClaudeMdPath} ${claudeMdPath}\n`);
else {
console.log('βœ“ Settings configured');
}
else if (claudeMdAction === 'fresh-install') {
console.log('πŸ“˜ CLAUDE.MD INSTALLED:\n');
console.log(` DevFlow global instructions active in: ${claudeMdPath}`);
console.log(' β€’ Language-agnostic engineering principles');
console.log(' β€’ Critical anti-patterns and foolishness prevention');
console.log(' β€’ Code quality enforcement rules\n');
if (claudeMdAction === 'force-installed') {
console.log('βœ“ CLAUDE.md force-installed (backup: CLAUDE.md.backup)');
}
else if (claudeMdAction === 'force-installed') {
console.log('⚠️ CLAUDE.MD FORCE OVERRIDE APPLIED:\n');
console.log(` Your original CLAUDE.md backed up to: ${path.join(claudeDir, 'CLAUDE.md.backup')}`);
console.log(` DevFlow global instructions now active in: ${claudeMdPath}\n`);
else if (claudeMdAction === 'saved-as-devflow') {
console.log('⚠️ Existing CLAUDE.md preserved β†’ DevFlow saved to CLAUDE.devflow.md');
}
else {
console.log('βœ“ CLAUDE.md configured');
}
// Create .claudeignore in git repository root
let claudeignoreCreated = false;
try {

@@ -312,3 +267,2 @@ // Find git repository root

await fs.access(claudeignorePath);
console.log('πŸ”’ Security: .claudeignore already exists (skipping)');
}

@@ -507,6 +461,3 @@ catch {

await fs.writeFile(claudeignorePath, claudeignoreContent, 'utf-8');
console.log('πŸ”’ Security: Created .claudeignore at repository root');
console.log(' β€’ Protects sensitive files (credentials, keys, secrets)');
console.log(' β€’ Reduces context pollution (node_modules, build artifacts)');
console.log(' β€’ Covers common patterns for all major languages\n');
claudeignoreCreated = true;
}

@@ -516,7 +467,9 @@ }

// Not a git repository or other error - skip .claudeignore creation
console.log('ℹ️ Skipped .claudeignore (not in a git repository)\n');
}
if (claudeignoreCreated) {
console.log('βœ“ .claudeignore created');
}
// Offer to install project documentation structure
let docsCreated = false;
if (!options.skipDocs) {
console.log('πŸ“ Project Documentation Setup\n');
const docsDir = path.join(process.cwd(), '.docs');

@@ -527,32 +480,33 @@ try {

await fs.mkdir(path.join(docsDir, 'audits'), { recursive: true });
console.log(' βœ… Created .docs/ structure');
console.log(' β€’ .docs/status/ - Session documentation');
console.log(' β€’ .docs/reviews/ - Code review reports');
console.log(' β€’ .docs/audits/ - Security, performance, architecture audits');
docsCreated = true;
}
catch (error) {
console.log(' ⚠️ Could not create .docs/ structure (may already exist)');
// .docs/ structure may already exist
}
}
console.log('\nβœ… DevFlow installation complete!\n');
console.log('🎯 WHAT\'S INSTALLED:');
console.log(' πŸ“ Claude Code:');
console.log(` β€’ Commands: ${path.join(claudeDir, 'commands')}/`);
console.log(` β€’ Sub-agents: ${path.join(claudeDir, 'agents')}/`);
console.log(` β€’ Scripts: ${path.join(devflowDir, 'scripts')}/`);
console.log(` β€’ Settings: ${settingsPath} (statusline and model)`);
console.log(` β€’ Global Instructions: ${claudeMdPath} (language-agnostic)\n`);
console.log('πŸ“Š SMART STATUSLINE:');
console.log(' βœ… Statusline configured');
console.log(' β€’ Shows project context, git status, session cost, and duration\n');
console.log('πŸš€ QUICK START:');
console.log(' 1. Navigate to a project directory');
console.log(' 2. Run \'/catch-up\' to get oriented');
console.log(' 3. Use \'/pre-commit\' to review uncommitted changes');
console.log(' 4. Run \'/devlog\' to document sessions\n');
console.log('πŸ“š DOCUMENTATION:');
console.log(' β€’ Check README for comprehensive guide');
console.log(' β€’ Commands are self-documenting');
console.log(' β€’ Visit npm or GitHub for full documentation\n');
console.log('Happy coding with DevFlow! πŸš€');
if (docsCreated) {
console.log('βœ“ .docs/ structure ready');
}
console.log('\nβœ… Installation complete!\n');
// Show manual merge instructions if needed
if (settingsAction === 'saved-as-devflow' || claudeMdAction === 'saved-as-devflow') {
console.log('⚠️ Manual merge required:');
if (settingsAction === 'saved-as-devflow') {
console.log(' Settings: Merge settings.devflow.json β†’ settings.json');
}
if (claudeMdAction === 'saved-as-devflow') {
console.log(' Instructions: cp ~/.claude/CLAUDE.devflow.md ~/.claude/CLAUDE.md');
}
console.log();
}
console.log('Available commands:');
console.log(' /catch-up Session context and status');
console.log(' /research Pre-implementation planning');
console.log(' /code-review Comprehensive code review');
console.log(' /commit Intelligent atomic commits');
console.log(' /devlog Session documentation');
console.log(' /debug Systematic debugging');
console.log(' /release Release automation');
console.log(' /plan-next-steps Extract actionable tasks');
console.log('\nDocs: npm home devflow-kit');
}

@@ -559,0 +513,0 @@ catch (error) {

@@ -1,1 +0,1 @@

{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
{
"name": "devflow-kit",
"version": "0.3.1",
"version": "0.3.2",
"description": "Agentic Development Toolkit for Claude Code - Enhance AI-assisted development with intelligent commands and workflows",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -25,5 +25,4 @@ # DevFlow - Agentic Development Toolkit

| `/debug [issue]` | Systematic debugging with issue-specific investigation | When troubleshooting |
| `/pre-commit` | Review uncommitted changes using specialized sub-agents | Before committing |
| `/code-review` | Comprehensive code review using specialized sub-agents | Before committing or creating PR |
| `/commit` | Intelligent atomic commit creation with safety checks | When ready to commit |
| `/pre-pr` | Comprehensive branch review for PR readiness | Before creating PR |
| `/release` | Automated release workflow with version management and publishing | Creating a new release |

@@ -101,3 +100,3 @@

1. `/research [topic]` - Research implementation approaches before coding
2. `/pre-commit` - Review changes before committing
2. `/code-review` - Review changes before committing
3. `/commit` - Create intelligent atomic commits

@@ -108,7 +107,7 @@ 4. Invoke audit sub-agents as needed

1. `/devlog` - Document decisions and state
2. `/pre-pr` - Review branch before creating PR
2. `/code-review` - Review branch before creating PR
3. `/commit` - Final commits with validation
### Creating a Release
1. `/pre-pr` - Comprehensive branch review
1. `/code-review` - Comprehensive branch review
2. `/release` - Automated release workflow

@@ -169,5 +168,4 @@ - Detects project type (Node.js, Rust, Python, Go, etc.)

/research "add JWT authentication" # Research before implementing
/pre-commit # Review uncommitted changes
/code-review # Review changes (uncommitted or full branch)
/commit # Create atomic commits
/pre-pr # Branch review before PR
/release # Automated release workflow

@@ -174,0 +172,0 @@ /debug "TypeError in auth module" # Debug specific issue

@@ -13,21 +13,7 @@ #!/bin/bash

CWD=$(echo "$INPUT" | jq -r '.cwd // "~"' 2>/dev/null)
TOTAL_COST=$(echo "$INPUT" | jq -r '.cost.total_cost_usd // 0' 2>/dev/null)
LINES_ADDED=$(echo "$INPUT" | jq -r '.cost.total_lines_added // 0' 2>/dev/null)
LINES_REMOVED=$(echo "$INPUT" | jq -r '.cost.total_lines_removed // 0' 2>/dev/null)
TOTAL_DURATION_MS=$(echo "$INPUT" | jq -r '.cost.total_duration_ms // 0' 2>/dev/null)
API_DURATION_MS=$(echo "$INPUT" | jq -r '.cost.total_api_duration_ms // 0' 2>/dev/null)
EXCEEDS_200K=$(echo "$INPUT" | jq -r '.exceeds_200k_tokens // false' 2>/dev/null)
VERSION=$(echo "$INPUT" | jq -r '.version // ""' 2>/dev/null)
OUTPUT_STYLE=$(echo "$INPUT" | jq -r '.output_style.name // ""' 2>/dev/null)
else
MODEL="claude"
CWD=$(pwd)
TOTAL_COST="0.00"
LINES_ADDED="0"
LINES_REMOVED="0"
TOTAL_DURATION_MS="0"
API_DURATION_MS="0"
EXCEEDS_200K="false"
VERSION=""
OUTPUT_STYLE=""
fi

@@ -38,3 +24,3 @@

# Get git branch and last commit if in a git repo
# Get git branch if in a git repo
GIT_BRANCH=$(cd "$CWD" 2>/dev/null && git branch --show-current 2>/dev/null || echo "")

@@ -44,75 +30,57 @@ if [ -z "$GIT_BRANCH" ]; then

else
# Get last commit message (first line, truncated to 50 chars)
LAST_COMMIT_MSG=$(cd "$CWD" 2>/dev/null && git log -1 --pretty=format:"%s" 2>/dev/null | cut -c1-50 || echo "")
# Check if there are uncommitted changes
if [ -n "$(cd "$CWD" 2>/dev/null && git status --porcelain 2>/dev/null)" ]; then
GIT_INFO=" / \033[1;33m$GIT_BRANCH*\033[0m"
GIT_INFO=" \033[1;33m$GIT_BRANCH*\033[0m"
else
GIT_INFO=" / \033[1;32m$GIT_BRANCH\033[0m"
GIT_INFO=" \033[1;32m$GIT_BRANCH\033[0m"
fi
fi
# Add commit message if available
if [ -n "$LAST_COMMIT_MSG" ]; then
GIT_INFO="$GIT_INFO \033[1;90m($LAST_COMMIT_MSG)\033[0m"
# Get system CPU and memory usage
get_cpu_usage() {
# Try multiple methods for cross-platform compatibility
if command -v top &> /dev/null; then
# Linux/macOS with top
top -bn1 2>/dev/null | grep -i "cpu" | head -1 | awk '{print $2}' | sed 's/%us,//' | sed 's/id,//' || echo "0"
elif command -v ps &> /dev/null; then
# Fallback: average CPU of all processes
ps -A -o %cpu | awk '{s+=$1} END {printf "%.0f", s}'
else
echo "0"
fi
fi
}
# Format cost with 2 decimal places
COST_FORMATTED=$(printf "%.2f" "$TOTAL_COST" 2>/dev/null || echo "0.00")
# Format session duration from milliseconds to human readable
format_duration() {
local ms=$1
local seconds=$((ms / 1000))
local minutes=$((seconds / 60))
local hours=$((minutes / 60))
local remaining_minutes=$((minutes % 60))
if [ "$hours" -gt 0 ]; then
echo "${hours}h${remaining_minutes}m"
elif [ "$minutes" -gt 0 ]; then
echo "${minutes}m"
get_memory_usage() {
# Try multiple methods for cross-platform compatibility
if command -v free &> /dev/null; then
# Linux with free
free | grep Mem | awk '{printf "%.0f", ($3/$2)*100}'
elif command -v vm_stat &> /dev/null; then
# macOS with vm_stat
vm_stat | awk '/Pages active/ {active=$3} /Pages wired/ {wired=$4} /Pages free/ {free=$3} END {printf "%.0f", ((active+wired)/(active+wired+free))*100}' | sed 's/\.//'
else
echo "${seconds}s"
echo "0"
fi
}
SESSION_DURATION=$(format_duration "$TOTAL_DURATION_MS")
API_DURATION=$(format_duration "$API_DURATION_MS")
CPU_USAGE=$(get_cpu_usage)
MEMORY_USAGE=$(get_memory_usage)
# Calculate API efficiency percentage
if [ "$TOTAL_DURATION_MS" -gt 0 ]; then
API_EFFICIENCY=$(echo "$API_DURATION_MS $TOTAL_DURATION_MS" | awk '{printf "%.0f", ($1/$2)*100}')
else
API_EFFICIENCY="0"
fi
# Build status line with colors - show components conditionally
# Build status line with colors
STATUS_LINE="\033[1;34m$DIR_NAME\033[0m$GIT_INFO"
# Add session duration if meaningful
# if [ "$TOTAL_DURATION_MS" -gt 60000 ]; then # > 1 minute
# STATUS_LINE="$STATUS_LINE \033[1;33m$SESSION_DURATION\033[0m"
# fi
# Add model name
STATUS_LINE="$STATUS_LINE \033[1;36m$MODEL\033[0m"
# Add API efficiency if session is long enough and efficiency is notable
if [ "$TOTAL_DURATION_MS" -gt 300000 ] && [ "$API_EFFICIENCY" -gt 10 ]; then # > 5 min and >10% API time
STATUS_LINE="$STATUS_LINE \033[1;91mapi:${API_EFFICIENCY}%\033[0m"
fi
# Add CPU usage
STATUS_LINE="$STATUS_LINE \033[1;35mcpu:${CPU_USAGE}%\033[0m"
# Add large context warning
# Add memory usage
STATUS_LINE="$STATUS_LINE \033[1;33mmem:${MEMORY_USAGE}%\033[0m"
# Add large context warning if needed
if [ "$EXCEEDS_200K" = "true" ]; then
STATUS_LINE="$STATUS_LINE \033[1;93m⚠️large\033[0m"
STATUS_LINE="$STATUS_LINE \033[1;91m⚠️large\033[0m"
fi
# Add cost if non-zero and meaningful (> $0.01)
COST_CENTS=$(echo "$TOTAL_COST" | awk '{printf "%.0f", $1*100}')
if [ "$COST_CENTS" -gt 1 ]; then
STATUS_LINE="$STATUS_LINE \033[1;32m\$$COST_FORMATTED\033[0m"
fi
# Add model at the end
# STATUS_LINE="$STATUS_LINE \033[1;36m$MODEL\033[0m"
echo -e "$STATUS_LINE"
---
description: Review uncommitted changes before committing using specialized sub-agents
allowed-tools: Task, Bash, Read, Write, Grep, Glob
---
## Your Task
Perform a comprehensive review of uncommitted changes by orchestrating multiple specialized sub-agents in parallel. This provides quick feedback before committing changes.
**Audit Strategy**:
- **Always Run** (5 core audits): Security, Performance, Architecture, Tests, Complexity
- **Language-Specific** (conditional): TypeScript (runs only if .ts/.tsx files changed or tsconfig.json exists)
- **Available on demand**: Documentation, Dependencies, Database (use `/pre-pr` for full audit)
This lightweight approach provides fast feedback for individual commits. Use `/pre-pr` for comprehensive branch reviews before creating pull requests.
### Step 1: Analyze Current Changes
First, check what changes are available for review:
```bash
# Check for uncommitted changes
git status --porcelain
# Get the diff of uncommitted changes
if git diff --quiet HEAD; then
echo "No uncommitted changes to review"
exit 0
fi
# Show summary of changes
echo "=== CHANGES TO REVIEW ==="
git diff --stat HEAD
echo ""
```
### Step 2: Launch Specialized Sub-Agents in Parallel
Launch these sub-agents in parallel:
1. audit-security sub-agent
2. audit-typescript sub-agent (automatically skips if not applicable)
3. audit-performance sub-agent
4. audit-architecture sub-agent
5. audit-tests sub-agent
6. audit-complexity sub-agent
**Note**: The audit-typescript agent contains built-in detection logic and will automatically skip if:
- No .ts/.tsx files were changed AND
- No tsconfig.json exists in the project
### Step 3: Synthesize Review Findings
After all sub-agents complete their analysis:
1. **Collect Results**: Gather findings from all sub-agents
2. **Prioritize Issues**: Categorize as Critical/High/Medium/Low
3. **Create Unified Review**: Synthesize into coherent review document
4. **Generate Action Items**: Provide specific next steps
### Step 4: Save Review Document
Create a comprehensive review document at `.docs/reviews/diff-{YYYY-MM-DD_HHMM}.md`:
```markdown
# Code Review - Uncommitted Changes
**Date**: {current_date}
**Time**: {current_time}
**Type**: Differential Review (uncommitted changes)
**Reviewer**: AI Sub-Agent Orchestra
---
## πŸ“Š Review Summary
**Files Changed**: {number}
**Lines Added**: {number}
**Lines Removed**: {number}
### Issues Found
- πŸ”΄ **Critical**: {count} issues requiring immediate attention
- 🟠 **High**: {count} issues should be addressed before commit
- 🟑 **Medium**: {count} improvements recommended
- πŸ”΅ **Low**: {count} minor suggestions
---
## πŸ” Detailed Analysis
### Security Review (audit-security)
{security findings with file:line references}
### TypeScript Review (audit-typescript)
{type safety findings, or "⏭️ Skipped - not applicable" if no TS files}
### Performance Review (audit-performance)
{performance findings with specific optimizations}
### Architecture Review (audit-architecture)
{design pattern and structure analysis}
### Test Coverage Review (audit-tests)
{test gaps and quality assessment}
### Complexity Review (audit-complexity)
{maintainability and refactoring suggestions}
---
## 🎯 Action Items
### Before Committing (Critical/High)
- [ ] {action 1} in {file:line}
- [ ] {action 2} in {file:line}
### Future Improvements (Medium/Low)
- [ ] {improvement 1}
- [ ] {improvement 2}
---
## πŸ“ˆ Code Quality Metrics
**Overall Assessment**: {Excellent/Good/Needs Work/Poor}
**Commit Recommendation**: {βœ… Safe to commit / ⚠️ Address issues first / 🚫 Do not commit}
---
*Review generated by DevFlow sub-agent orchestration*
```
### Step 5: Provide Interactive Summary
Give the developer a clear summary and next steps:
```
πŸ” UNCOMMITTED CHANGES REVIEW COMPLETE
Changes analyzed: {X} files, {Y} lines modified
Issues found: {Critical} critical, {High} high, {Medium} medium, {Low} low
πŸ“‹ COMMIT READINESS ASSESSMENT:
{βœ… SAFE TO COMMIT | ⚠️ ISSUES TO ADDRESS | 🚫 DO NOT COMMIT}
🎯 TOP PRIORITY ACTIONS:
1. {Most critical issue and fix}
2. {Second most critical issue and fix}
3. {Third most critical issue and fix}
πŸ“„ Full review saved to: .docs/reviews/diff-{timestamp}.md
πŸ’‘ TIP: Run `/review-branch` before creating PR for comprehensive feature review
```
---
description: Comprehensive branch review using specialized sub-agents for PR readiness
allowed-tools: Task, Bash, Read, Write, Grep, Glob
---
## Your Task
Perform a comprehensive review of this entire feature branch by orchestrating multiple specialized sub-agents in parallel. This is designed for thorough analysis before creating pull requests or merging branches.
### Step 1: Analyze Branch Changes
First, determine the branch and base for comparison:
```bash
# Get current branch
CURRENT_BRANCH=$(git branch --show-current)
if [ -z "$CURRENT_BRANCH" ]; then
echo "❌ Not on a branch (detached HEAD). Checkout a feature branch first."
exit 1
fi
# Determine base branch (main, master, or develop)
BASE_BRANCH=""
for branch in main master develop; do
if git show-ref --verify --quiet refs/heads/$branch; then
BASE_BRANCH=$branch
break
fi
done
if [ -z "$BASE_BRANCH" ]; then
echo "❌ Could not find base branch (main/master/develop). Specify manually."
exit 1
fi
echo "=== BRANCH REVIEW SCOPE ==="
echo "Current branch: $CURRENT_BRANCH"
echo "Base branch: $BASE_BRANCH"
echo ""
# Check if there are changes to review
if git diff --quiet $BASE_BRANCH...HEAD; then
echo "No changes between $BASE_BRANCH and $CURRENT_BRANCH"
exit 0
fi
# Show comprehensive change summary
echo "=== CHANGES TO REVIEW ==="
git diff --stat $BASE_BRANCH...HEAD
echo ""
echo "=== COMMIT HISTORY ==="
git log --oneline $BASE_BRANCH..HEAD
echo ""
```
### Step 2: Detect Change Categories
Analyze what types of changes are in this branch to determine which specialized agents are needed:
```bash
# Check if database-related files changed
DB_CHANGES=$(git diff --name-only $BASE_BRANCH...HEAD | grep -E '\.(sql|prisma|migration|knex|sequelize|db)' || true)
DB_CHANGES+=$(git diff --name-only $BASE_BRANCH...HEAD | grep -iE '(migration|schema|database|models/)' || true)
if [ -n "$DB_CHANGES" ]; then
echo "πŸ—„οΈ Database changes detected - will run database audit"
INCLUDE_DB_AUDIT=true
else
echo "ℹ️ No database changes detected - skipping database audit"
INCLUDE_DB_AUDIT=false
fi
echo ""
```
### Step 3: Launch Specialized Sub-Agents in Parallel
Launch these sub-agents in parallel based on change detection:
**Core Audits (Always Run)**:
1. audit-security sub-agent
2. audit-performance sub-agent
3. audit-architecture sub-agent
4. audit-tests sub-agent
5. audit-complexity sub-agent
6. audit-dependencies sub-agent
7. audit-documentation sub-agent
**Conditional Audits** (automatically detect and skip if not applicable):
8. audit-typescript sub-agent (only if .ts/.tsx files changed or tsconfig.json exists)
9. audit-database sub-agent (only if database changes detected)
### Step 4: Synthesize Comprehensive Review
After all sub-agents complete their analysis:
1. **Collect Results**: Gather findings from all 7-8 specialized sub-agents (depending on change types)
2. **Cross-Reference Issues**: Identify overlapping concerns between domains
3. **Prioritize for PR**: Focus on merge-blocking vs nice-to-have improvements
4. **Create PR-Ready Review**: Structure for easy consumption by human reviewers
### Step 5: Save Comprehensive Review Document
Create a detailed review document at `.docs/reviews/branch-{BRANCH_NAME}-{YYYY-MM-DD_HHMM}.md`:
```markdown
# Branch Review - {BRANCH_NAME}
**Date**: {current_date}
**Time**: {current_time}
**Type**: Branch Review (PR Readiness Assessment)
**Branch**: {CURRENT_BRANCH}
**Base**: {BASE_BRANCH}
**Reviewer**: AI Sub-Agent Orchestra
---
## πŸ“Š Branch Overview
**Commits**: {commit_count} commits
**Files Changed**: {files_changed}
**Lines Added**: {lines_added}
**Lines Removed**: {lines_removed}
**Review Duration**: {duration}
### Change Categories
- 🎯 **Features**: {feature_changes}
- πŸ› **Bug Fixes**: {bug_fixes}
- πŸ”§ **Refactoring**: {refactoring}
- πŸ“š **Documentation**: {doc_changes}
- πŸ§ͺ **Tests**: {test_changes}
---
## 🎯 PR Readiness Assessment
### 🚦 MERGE RECOMMENDATION
**Status**: {βœ… READY TO MERGE | ⚠️ ISSUES TO ADDRESS | 🚫 NOT READY}
**Confidence Level**: {High/Medium/Low}
### Blocking Issues (Must Fix Before Merge)
- πŸ”΄ {critical_issue_1} in {file:line}
- πŸ”΄ {critical_issue_2} in {file:line}
### High Priority (Should Fix Before Merge)
- 🟠 {high_issue_1} in {file:line}
- 🟠 {high_issue_2} in {file:line}
---
## πŸ” Detailed Sub-Agent Analysis
### πŸ”’ Security Analysis (audit-security)
**Risk Level**: {Low/Medium/High/Critical}
#### Security Issues Found
{detailed security findings with file:line references}
#### Security Recommendations
{specific security improvements needed}
### πŸ“˜ TypeScript Analysis (audit-typescript)
**Type Safety**: {Excellent/Good/Acceptable/Poor}
**Note**: Only included if TypeScript files changed or project uses TypeScript
#### TypeScript Issues Found
{detailed type safety findings with file:line references}
#### TypeScript Recommendations
{specific type safety improvements needed}
### ⚑ Performance Analysis (audit-performance)
**Performance Impact**: {Positive/Neutral/Negative}
#### Performance Issues Found
{detailed performance findings with optimizations}
#### Performance Recommendations
{specific performance improvements}
### πŸ—οΈ Architecture Analysis (audit-architecture)
**Architecture Quality**: {Excellent/Good/Acceptable/Poor}
#### Architectural Issues Found
{detailed architecture findings and design concerns}
#### Architecture Recommendations
{specific architectural improvements}
### πŸ§ͺ Test Coverage Analysis (audit-tests)
**Coverage Assessment**: {Excellent/Good/Adequate/Insufficient}
#### Testing Issues Found
{detailed test coverage gaps and quality issues}
#### Testing Recommendations
{specific tests that should be added}
### 🧠 Complexity Analysis (audit-complexity)
**Maintainability Score**: {Excellent/Good/Acceptable/Poor}
#### Complexity Issues Found
{detailed complexity and maintainability concerns}
#### Complexity Recommendations
{specific refactoring suggestions}
### πŸ“¦ Dependency Analysis (audit-dependencies)
**Dependency Health**: {Excellent/Good/Acceptable/Poor}
#### Dependency Issues Found
{detailed dependency concerns and security issues}
#### Dependency Recommendations
{specific dependency management improvements}
### πŸ“š Documentation Analysis (audit-documentation)
**Documentation Quality**: {Excellent/Good/Acceptable/Poor}
#### Documentation Issues Found
{detailed documentation drift, missing docs, stale examples}
#### Documentation Recommendations
{specific documentation updates needed}
### πŸ—„οΈ Database Analysis (audit-database)
**Database Health**: {Excellent/Good/Acceptable/Poor}
**Note**: Only included if database changes detected
#### Database Issues Found
{detailed database design, migration, and query issues}
#### Database Recommendations
{specific database improvements needed}
---
## 🎯 Action Plan
### Pre-Merge Checklist (Blocking)
- [ ] {blocking_action_1} - {estimated_effort}
- [ ] {blocking_action_2} - {estimated_effort}
- [ ] {blocking_action_3} - {estimated_effort}
### Post-Merge Improvements (Non-Blocking)
- [ ] {improvement_1} - {estimated_effort}
- [ ] {improvement_2} - {estimated_effort}
- [ ] {improvement_3} - {estimated_effort}
### Follow-Up Tasks
- [ ] {followup_1}
- [ ] {followup_2}
---
## πŸ“ˆ Quality Metrics
### Code Quality Score: {score}/10
**Breakdown**:
- Security: {score}/10
- TypeScript: {score}/10 (if applicable)
- Performance: {score}/10
- Architecture: {score}/10
- Test Coverage: {score}/10
- Maintainability: {score}/10
- Dependencies: {score}/10
- Documentation: {score}/10
- Database: {score}/10 (if applicable)
### Comparison to {BASE_BRANCH}
- Quality Trend: {Improving/Stable/Declining}
- Technical Debt: {Reduced/Neutral/Increased}
- Test Coverage: {Increased/Maintained/Decreased}
---
## πŸ”— Related Resources
### Files Requiring Attention
- {file1} - {reason}
- {file2} - {reason}
- {file3} - {reason}
### Similar Issues in Codebase
- {related_issue_1} in {location}
- {related_issue_2} in {location}
### Documentation Updates Needed
- {doc_update_1}
- {doc_update_2}
---
## πŸ’‘ Reviewer Notes
### Human Review Focus Areas
Based on sub-agent analysis, human reviewers should focus on:
1. {focus_area_1} - {reason}
2. {focus_area_2} - {reason}
3. {focus_area_3} - {reason}
### Discussion Points
- {discussion_point_1}
- {discussion_point_2}
- {discussion_point_3}
---
*Comprehensive review generated by DevFlow sub-agent orchestration*
*Next: Address blocking issues, then create PR with this review as reference*
```
### Step 6: Provide Executive Summary
Give the developer a clear, actionable summary:
```
πŸ” BRANCH REVIEW COMPLETE: {BRANCH_NAME}
πŸ“Š ANALYSIS SUMMARY:
- Files analyzed: {X} files, {Y} commits
- Issues found: {Critical} critical, {High} high, {Medium} medium, {Low} low
- Review confidence: {High/Medium/Low}
🚦 PR READINESS: {βœ… READY | ⚠️ ISSUES TO ADDRESS | 🚫 NOT READY}
🎯 CRITICAL ACTIONS BEFORE MERGE:
1. {Most critical blocking issue}
2. {Second most critical blocking issue}
3. {Third most critical blocking issue}
⚑ QUICK WINS:
- {Easy fix 1} ({estimated time})
- {Easy fix 2} ({estimated time})
πŸ“„ Full review: .docs/reviews/branch-{branch}-{timestamp}.md
πŸ”„ NEXT STEPS:
1. Address blocking issues above
2. Run `/pre-commit` after fixes to verify
3. Create PR using this review as reference
4. Share review with team for human review focus
```