@pjmendonca/devflow 1.9.0 → 1.10.1
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/.claude/commands/adversarial.md +10 -0
- package/.claude/commands/agent.md +10 -0
- package/.claude/commands/bugfix.md +8 -0
- package/.claude/commands/checkpoint.md +30 -0
- package/.claude/commands/collab.md +30 -0
- package/.claude/commands/costs.md +27 -0
- package/.claude/commands/develop.md +8 -0
- package/.claude/commands/devflow.md +6 -0
- package/.claude/commands/handoff.md +26 -0
- package/.claude/commands/memory.md +23 -0
- package/.claude/commands/pair.md +24 -0
- package/.claude/commands/personalize.md +15 -0
- package/.claude/commands/review.md +8 -0
- package/.claude/commands/route.md +26 -0
- package/.claude/commands/story.md +10 -0
- package/.claude/commands/swarm.md +22 -0
- package/.claude/skills/github-cli/SKILL.md +241 -0
- package/CHANGELOG.md +21 -1
- package/README.md +40 -122
- package/bin/create-devflow.js +141 -0
- package/lib/python-check.js +5 -5
- package/package.json +3 -1
- package/tooling/.automation/agents/dev.md +2 -2
- package/tooling/.automation/agents/reviewer.md +8 -8
- package/tooling/.automation/agents/sm.md +1 -1
- package/tooling/.automation/memory/knowledge/kg_integration-test.json +137 -1
- package/tooling/.automation/memory/knowledge/kg_test-story.json +438 -2
- package/tooling/.automation/memory/shared/shared_integration-test.json +25 -1
- package/tooling/.automation/memory/shared/shared_test-story.json +73 -1
- package/tooling/.automation/overrides/templates/reviewer/mentoring-reviewer.yaml +5 -5
- package/tooling/docs/DOC-STANDARD.md +21 -21
- package/tooling/docs/templates/bug-report.md +1 -1
- package/tooling/scripts/context_checkpoint.py +16 -16
- package/tooling/scripts/create-persona.py +7 -7
- package/tooling/scripts/create-persona.sh +4 -4
- package/tooling/scripts/init-project-workflow.sh +19 -19
- package/tooling/scripts/lib/__init__.py +1 -1
- package/tooling/scripts/lib/agent_handoff.py +4 -6
- package/tooling/scripts/lib/agent_router.py +6 -6
- package/tooling/scripts/lib/checkpoint-integration.sh +14 -14
- package/tooling/scripts/lib/claude-cli.sh +50 -50
- package/tooling/scripts/lib/cost_tracker.py +4 -4
- package/tooling/scripts/lib/errors.py +9 -9
- package/tooling/scripts/lib/pair_programming.py +5 -5
- package/tooling/scripts/lib/shared_memory.py +4 -4
- package/tooling/scripts/lib/swarm_orchestrator.py +18 -18
- package/tooling/scripts/new-doc.sh +12 -12
- package/tooling/scripts/personalize_agent.py +4 -4
- package/tooling/scripts/rollback-migration.sh +4 -4
- package/tooling/scripts/run-collab.ps1 +2 -2
- package/tooling/scripts/run-collab.py +13 -13
- package/tooling/scripts/run-story.py +1 -1
- package/tooling/scripts/run-story.sh +20 -20
- package/tooling/scripts/setup-checkpoint-service.sh +4 -4
- package/tooling/scripts/tech-debt-tracker.py +12 -12
- package/tooling/scripts/update_version.py +10 -10
- package/tooling/scripts/validate-overrides.py +10 -12
- package/tooling/scripts/validate-overrides.sh +7 -7
- package/tooling/scripts/validate_setup.py +8 -8
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://claude.com/claude-code)
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## What is This?
|
|
9
9
|
|
|
10
10
|
A production-ready, portable workflow automation system that uses Claude Code CLI to implement user stories with minimal human intervention. Think "CI/CD for development" - but instead of deploying code, it writes code.
|
|
11
11
|
|
|
@@ -14,7 +14,7 @@ A production-ready, portable workflow automation system that uses Claude Code CL
|
|
|
14
14
|
- **Multi-Persona Agent System** - 8 specialized AI agents (SM, DEV, BA, ARCHITECT, PM, WRITER, MAINTAINER, REVIEWER)
|
|
15
15
|
- **Smart Model Usage** - Opus for development, Sonnet for planning (40-60% cost savings)
|
|
16
16
|
- **Context Preservation** - Automatic checkpoints prevent work loss from context limits
|
|
17
|
-
- **Full Automation** - Context
|
|
17
|
+
- **Full Automation** - Context -> Development -> Testing -> Review -> Commit pipeline
|
|
18
18
|
- **Greenfield + Brownfield** - Supports both new features AND existing codebase maintenance
|
|
19
19
|
- **Agent Personalization** - Agent overrides and persistent agent memory
|
|
20
20
|
- **Claude Code Integration** - Native slash commands (`/story`, `/swarm`, `/pair`, `/route`, etc.)
|
|
@@ -26,7 +26,7 @@ A production-ready, portable workflow automation system that uses Claude Code CL
|
|
|
26
26
|
- **Project Agnostic** - Works with Flutter, Node.js, Python, Rust, Go, Ruby, etc.
|
|
27
27
|
- **Guided Setup** - Interactive wizard guides you through installation
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## Quick Start
|
|
30
30
|
|
|
31
31
|
### Prerequisites
|
|
32
32
|
|
|
@@ -44,119 +44,37 @@ A production-ready, portable workflow automation system that uses Claude Code CL
|
|
|
44
44
|
|
|
45
45
|
### Installation
|
|
46
46
|
|
|
47
|
-
**Option 1:
|
|
47
|
+
**Option 1: Quick Start**
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
# Install globally via npm
|
|
51
|
-
npm install -g @pjmendonca/devflow
|
|
52
|
-
|
|
53
|
-
# Verify installation
|
|
54
|
-
devflow-validate
|
|
55
|
-
|
|
56
|
-
# Start using
|
|
57
|
-
devflow-init
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Requirements:** Python 3.9+ and Node.js 14+
|
|
61
|
-
|
|
62
|
-
See [NPM Installation Guide](docs/NPM_INSTALLATION.md) for detailed instructions and troubleshooting.
|
|
63
|
-
|
|
64
|
-
**Option 2: pip (Python Ecosystem)**
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
# Clone the repository
|
|
68
|
-
git clone https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow.git
|
|
69
|
-
cd Devflow
|
|
70
|
-
|
|
71
|
-
# Install via pip
|
|
72
|
-
pip install .
|
|
73
|
-
|
|
74
|
-
# Verify installation
|
|
75
|
-
devflow-validate
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**Option 3: Manual Installation (macOS/Linux)**
|
|
79
|
-
|
|
80
|
-
Clone and Setup (Recommended):
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
# Clone this repository
|
|
84
|
-
git clone https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow.git
|
|
85
|
-
cd Devflow
|
|
86
|
-
|
|
87
|
-
# Copy to your project
|
|
88
|
-
cp -r tooling /path/to/your/project/
|
|
89
|
-
|
|
90
|
-
# Run setup wizard
|
|
91
|
-
cd /path/to/your/project/tooling/scripts
|
|
92
|
-
./init-project-workflow.sh
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Direct Copy:
|
|
49
|
+
This creates a new "Devflow" directory with all necessary files:
|
|
96
50
|
|
|
97
51
|
```bash
|
|
98
|
-
#
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
# Move to your project
|
|
102
|
-
mv Devflow-main/tooling /path/to/your/project/
|
|
103
|
-
|
|
104
|
-
# Manual config
|
|
105
|
-
cd /path/to/your/project/tooling/.automation
|
|
106
|
-
cp config.sh.template config.sh
|
|
107
|
-
vim config.sh
|
|
108
|
-
```
|
|
52
|
+
# Create a new Devflow project directory
|
|
53
|
+
npx @pjmendonca/devflow@latest
|
|
109
54
|
|
|
110
|
-
|
|
55
|
+
# This will:
|
|
56
|
+
# 1. Create a "Devflow" folder in your current directory
|
|
57
|
+
# 2. Copy all essential files into it
|
|
58
|
+
# 3. Run the interactive setup wizard
|
|
111
59
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
```powershell
|
|
115
|
-
# Clone this repository
|
|
116
|
-
git clone https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow.git
|
|
60
|
+
# Then use it:
|
|
117
61
|
cd Devflow
|
|
118
|
-
|
|
119
|
-
# Copy to your project
|
|
120
|
-
Copy-Item -Recurse tooling C:\path\to\your\project\
|
|
121
|
-
|
|
122
|
-
# Set execution policy (first time only, run as Admin)
|
|
123
|
-
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
124
|
-
|
|
125
|
-
# Run setup wizard
|
|
126
|
-
cd C:\path\to\your\project\tooling\scripts
|
|
127
|
-
.\init-project-workflow.ps1
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Direct Copy:
|
|
131
|
-
|
|
132
|
-
```powershell
|
|
133
|
-
# Download latest release
|
|
134
|
-
Invoke-WebRequest -Uri "https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow/archive/main.zip" -OutFile main.zip
|
|
135
|
-
Expand-Archive main.zip -DestinationPath .
|
|
136
|
-
|
|
137
|
-
# Move to your project
|
|
138
|
-
Move-Item Devflow-main\tooling C:\path\to\your\project\
|
|
139
|
-
|
|
140
|
-
# Manual config
|
|
141
|
-
cd C:\path\to\your\project\tooling\.automation
|
|
142
|
-
Copy-Item config.ps1.template config.ps1
|
|
143
|
-
notepad config.ps1
|
|
62
|
+
/story <key>
|
|
144
63
|
```
|
|
145
64
|
|
|
146
|
-
**
|
|
65
|
+
**Requirements:** Python 3.9+ and Node.js 14+
|
|
147
66
|
|
|
148
|
-
|
|
149
|
-
# Full pipeline with live monitoring
|
|
150
|
-
.\run-story.ps1 -StoryKey "3-5"
|
|
67
|
+
**Option 2: Add to Existing Project**
|
|
151
68
|
|
|
152
|
-
|
|
153
|
-
.\run-story.ps1 -StoryKey "3-5" -Develop
|
|
69
|
+
Install Devflow into your current project:
|
|
154
70
|
|
|
155
|
-
|
|
156
|
-
|
|
71
|
+
```bash
|
|
72
|
+
# Local installation
|
|
73
|
+
npm install @pjmendonca/devflow
|
|
157
74
|
|
|
158
|
-
#
|
|
159
|
-
|
|
75
|
+
# IMPORTANT: Local installs require npx to run commands
|
|
76
|
+
npx devflow-validate
|
|
77
|
+
npx devflow-init
|
|
160
78
|
```
|
|
161
79
|
|
|
162
80
|
### Agent Personas
|
|
@@ -172,7 +90,7 @@ notepad config.ps1
|
|
|
172
90
|
| **MAINTAINER** | Opus/Sonnet | Varies | Bug fixes, refactoring, tech debt |
|
|
173
91
|
| **REVIEWER** (Adversarial) | Opus | High | Critical code review, finds problems |
|
|
174
92
|
|
|
175
|
-
##
|
|
93
|
+
## Claude Slash Commands
|
|
176
94
|
|
|
177
95
|
Devflow provides native slash commands for Claude Code:
|
|
178
96
|
|
|
@@ -215,7 +133,7 @@ Devflow provides native slash commands for Claude Code:
|
|
|
215
133
|
/memory 3-5 --query "auth decisions" # Query knowledge graph
|
|
216
134
|
```
|
|
217
135
|
|
|
218
|
-
##
|
|
136
|
+
## Knowledge Graph & Shared Memory
|
|
219
137
|
|
|
220
138
|
Devflow features a sophisticated memory system that enables agents to share context, track decisions, and maintain institutional knowledge across the entire development workflow.
|
|
221
139
|
|
|
@@ -283,7 +201,7 @@ memory.add('DEV', 'Decided to use PostgreSQL for user data', tags=['database', '
|
|
|
283
201
|
- `tags` - Searchable categorization tags
|
|
284
202
|
- `references` - Links to related entries
|
|
285
203
|
|
|
286
|
-
##
|
|
204
|
+
## Agent Handoff System
|
|
287
205
|
|
|
288
206
|
The Agent Handoff System ensures seamless transitions between agents with structured context preservation. When one agent finishes their work, a comprehensive handoff summary is automatically generated for the next agent.
|
|
289
207
|
|
|
@@ -322,14 +240,14 @@ print(handoff)
|
|
|
322
240
|
|
|
323
241
|
| From | To | Focus Areas |
|
|
324
242
|
|------|-----|-------------|
|
|
325
|
-
| SM
|
|
326
|
-
| SM
|
|
327
|
-
| ARCHITECT
|
|
328
|
-
| DEV
|
|
329
|
-
| REVIEWER
|
|
330
|
-
| BA
|
|
243
|
+
| SM -> DEV | Acceptance criteria, technical context, patterns to follow |
|
|
244
|
+
| SM -> ARCHITECT | High-level requirements, system constraints, scale requirements |
|
|
245
|
+
| ARCHITECT -> DEV | Architecture decisions, design patterns, interface definitions |
|
|
246
|
+
| DEV -> REVIEWER | Implementation approach, key decisions, test coverage |
|
|
247
|
+
| REVIEWER -> DEV | Issues found, required changes, approval status |
|
|
248
|
+
| BA -> DEV | Refined requirements, acceptance criteria, edge cases |
|
|
331
249
|
|
|
332
|
-
##
|
|
250
|
+
## Multi-Agent Collaboration
|
|
333
251
|
|
|
334
252
|
Devflow supports advanced multi-agent collaboration modes for complex development tasks.
|
|
335
253
|
|
|
@@ -401,9 +319,9 @@ Let Devflow automatically select the best agents:
|
|
|
401
319
|
**How it works:**
|
|
402
320
|
- Analyzes task description for keywords
|
|
403
321
|
- Considers file types and complexity
|
|
404
|
-
- Routes to appropriate specialists (e.g., security
|
|
322
|
+
- Routes to appropriate specialists (e.g., security -> SECURITY agent)
|
|
405
323
|
|
|
406
|
-
##
|
|
324
|
+
## Cost Tracking & Currency Configuration
|
|
407
325
|
|
|
408
326
|
Devflow includes a comprehensive cost tracking system with multi-currency support and budget controls.
|
|
409
327
|
|
|
@@ -498,7 +416,7 @@ python tooling/scripts/cost_dashboard.py --summary
|
|
|
498
416
|
- **Set budget limits** - Prevent runaway costs with phase-specific limits
|
|
499
417
|
- **Monitor the dashboard** - Track spending patterns across stories
|
|
500
418
|
|
|
501
|
-
##
|
|
419
|
+
## Shell Completion
|
|
502
420
|
|
|
503
421
|
Enable tab-completion for faster command entry.
|
|
504
422
|
|
|
@@ -561,7 +479,7 @@ devflow-help
|
|
|
561
479
|
./run-story.sh 3-5 --agents AR<TAB> # Completes to ARCHITECT
|
|
562
480
|
```
|
|
563
481
|
|
|
564
|
-
##
|
|
482
|
+
## Security Considerations
|
|
565
483
|
|
|
566
484
|
### API Key Management
|
|
567
485
|
|
|
@@ -600,13 +518,13 @@ Devflow relies on the Claude Code CLI for API authentication. The CLI handles AP
|
|
|
600
518
|
- No data is sent to external servers by Devflow (only to Anthropic's API via Claude CLI)
|
|
601
519
|
- Context checkpoints may contain code snippets - review before sharing
|
|
602
520
|
|
|
603
|
-
##
|
|
521
|
+
## License
|
|
604
522
|
|
|
605
523
|
MIT License - see [LICENSE](LICENSE) for details.
|
|
606
524
|
|
|
607
525
|
Free to use in commercial and personal projects.
|
|
608
526
|
|
|
609
|
-
##
|
|
527
|
+
## Acknowledgments
|
|
610
528
|
|
|
611
529
|
- Built for [Claude Code CLI](https://claude.com/claude-code)
|
|
612
530
|
- Agent override system inspired by [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD)
|
|
@@ -614,7 +532,7 @@ Free to use in commercial and personal projects.
|
|
|
614
532
|
|
|
615
533
|
|
|
616
534
|
<!-- VERSION_START - Auto-updated by update_version.py -->
|
|
617
|
-
**Version**: 1.
|
|
535
|
+
**Version**: 1.10.1
|
|
618
536
|
**Status**: Production Ready
|
|
619
|
-
**Last Updated**: 2025-12-
|
|
537
|
+
**Last Updated**: 2025-12-24
|
|
620
538
|
<!-- VERSION_END -->
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* create-devflow - NPM initializer for Devflow
|
|
5
|
+
*
|
|
6
|
+
* Creates a new "Devflow" directory with all necessary files
|
|
7
|
+
* Usage: npm create @pjmendonca/devflow
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
const path = require('path');
|
|
12
|
+
const { execSync } = require('child_process');
|
|
13
|
+
|
|
14
|
+
// Get the current working directory where the user ran the command
|
|
15
|
+
const targetDir = path.join(process.cwd(), 'Devflow');
|
|
16
|
+
|
|
17
|
+
// Get the source directory (where this package is installed)
|
|
18
|
+
const sourceDir = path.join(__dirname, '..');
|
|
19
|
+
|
|
20
|
+
console.log('\n========================================');
|
|
21
|
+
console.log(' Devflow Project Initializer');
|
|
22
|
+
console.log('========================================\n');
|
|
23
|
+
|
|
24
|
+
// Check if Devflow directory already exists
|
|
25
|
+
if (fs.existsSync(targetDir)) {
|
|
26
|
+
console.error(`Error: Directory "Devflow" already exists in ${process.cwd()}`);
|
|
27
|
+
console.error('Please remove it or run this command from a different location.\n');
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
console.log(`Creating Devflow directory at: ${targetDir}`);
|
|
32
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Recursively copy directory
|
|
36
|
+
*/
|
|
37
|
+
function copyDir(src, dest) {
|
|
38
|
+
// Create destination directory
|
|
39
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
40
|
+
|
|
41
|
+
// Read source directory
|
|
42
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
43
|
+
|
|
44
|
+
for (const entry of entries) {
|
|
45
|
+
const srcPath = path.join(src, entry.name);
|
|
46
|
+
const destPath = path.join(dest, entry.name);
|
|
47
|
+
|
|
48
|
+
if (entry.isDirectory()) {
|
|
49
|
+
copyDir(srcPath, destPath);
|
|
50
|
+
} else {
|
|
51
|
+
fs.copyFileSync(srcPath, destPath);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Copy file
|
|
58
|
+
*/
|
|
59
|
+
function copyFile(src, dest) {
|
|
60
|
+
const destDir = path.dirname(dest);
|
|
61
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
62
|
+
fs.copyFileSync(src, dest);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Files and directories to copy
|
|
66
|
+
const itemsToCopy = [
|
|
67
|
+
{ type: 'dir', name: 'tooling' },
|
|
68
|
+
{ type: 'dir', name: 'bin' },
|
|
69
|
+
{ type: 'dir', name: 'lib' },
|
|
70
|
+
{ type: 'dir', name: '.claude' },
|
|
71
|
+
{ type: 'file', name: 'LICENSE' },
|
|
72
|
+
{ type: 'file', name: 'README.md' },
|
|
73
|
+
{ type: 'file', name: 'CHANGELOG.md' },
|
|
74
|
+
{ type: 'file', name: 'package.json' },
|
|
75
|
+
{ type: 'file', name: '.gitignore' }
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
console.log('\nCopying project files...');
|
|
79
|
+
for (const item of itemsToCopy) {
|
|
80
|
+
const src = path.join(sourceDir, item.name);
|
|
81
|
+
const dest = path.join(targetDir, item.name);
|
|
82
|
+
|
|
83
|
+
if (!fs.existsSync(src)) {
|
|
84
|
+
console.log(` Skipping ${item.name} (not found)`);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
try {
|
|
89
|
+
if (item.type === 'dir') {
|
|
90
|
+
console.log(` Copying ${item.name}/ ...`);
|
|
91
|
+
copyDir(src, dest);
|
|
92
|
+
} else {
|
|
93
|
+
console.log(` Copying ${item.name} ...`);
|
|
94
|
+
copyFile(src, dest);
|
|
95
|
+
}
|
|
96
|
+
} catch (error) {
|
|
97
|
+
console.error(` Error copying ${item.name}: ${error.message}`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
console.log('\n[OK] Files copied successfully!\n');
|
|
102
|
+
|
|
103
|
+
// Initialize git repo if not already in one
|
|
104
|
+
console.log('Initializing git repository...');
|
|
105
|
+
try {
|
|
106
|
+
process.chdir(targetDir);
|
|
107
|
+
execSync('git init', { stdio: 'ignore' });
|
|
108
|
+
console.log('[OK] Git repository initialized\n');
|
|
109
|
+
} catch (error) {
|
|
110
|
+
console.log('[INFO] Git not available or already initialized\n');
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Run the setup wizard
|
|
114
|
+
console.log('========================================');
|
|
115
|
+
console.log(' Running Setup Wizard');
|
|
116
|
+
console.log('========================================\n');
|
|
117
|
+
|
|
118
|
+
try {
|
|
119
|
+
const initScript = path.join(targetDir, 'bin', 'devflow-init.js');
|
|
120
|
+
|
|
121
|
+
if (fs.existsSync(initScript)) {
|
|
122
|
+
console.log('Starting interactive setup wizard...\n');
|
|
123
|
+
execSync(`node "${initScript}"`, { stdio: 'inherit' });
|
|
124
|
+
} else {
|
|
125
|
+
console.log('[WARNING] Setup wizard not found. You may need to run it manually:');
|
|
126
|
+
console.log(' cd Devflow');
|
|
127
|
+
console.log(' npx devflow-init\n');
|
|
128
|
+
}
|
|
129
|
+
} catch (error) {
|
|
130
|
+
console.log('[WARNING] Setup wizard encountered an issue.');
|
|
131
|
+
console.log('You can run it manually later with: npx devflow-init\n');
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
console.log('\n========================================');
|
|
135
|
+
console.log(' Setup Complete!');
|
|
136
|
+
console.log('========================================\n');
|
|
137
|
+
console.log('Next steps:');
|
|
138
|
+
console.log(' 1. cd Devflow');
|
|
139
|
+
console.log(' 2. Review the README.md for usage instructions');
|
|
140
|
+
console.log(' 3. Start using Devflow with: /story <key>\n');
|
|
141
|
+
console.log('Documentation: https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow\n');
|
package/lib/python-check.js
CHANGED
|
@@ -123,7 +123,7 @@ function checkPython() {
|
|
|
123
123
|
|
|
124
124
|
if (!pythonCmd) {
|
|
125
125
|
if (!silent) {
|
|
126
|
-
console.error(colorize('\n
|
|
126
|
+
console.error(colorize('\n[X] Python not found', 'red'));
|
|
127
127
|
console.error('\nDevflow requires Python 3.9 or higher.');
|
|
128
128
|
console.error(getInstallInstructions());
|
|
129
129
|
console.error(colorize('After installation, run:', 'yellow'));
|
|
@@ -147,7 +147,7 @@ function checkPython() {
|
|
|
147
147
|
|
|
148
148
|
if (!currentVersion) {
|
|
149
149
|
if (!silent) {
|
|
150
|
-
console.error(colorize('\n
|
|
150
|
+
console.error(colorize('\n[X] Could not parse Python version', 'red'));
|
|
151
151
|
console.error(`Version output: ${versionOutput}`);
|
|
152
152
|
console.error('');
|
|
153
153
|
}
|
|
@@ -157,7 +157,7 @@ function checkPython() {
|
|
|
157
157
|
// Check if version is sufficient
|
|
158
158
|
if (!isVersionSufficient(currentVersion, requiredVersion)) {
|
|
159
159
|
if (!silent) {
|
|
160
|
-
console.error(colorize(`\n
|
|
160
|
+
console.error(colorize(`\n[X] Python ${currentVersion.join('.')} found, but ${REQUIRED_VERSION}+ required`, 'red'));
|
|
161
161
|
console.error(getInstallInstructions());
|
|
162
162
|
console.error('');
|
|
163
163
|
}
|
|
@@ -166,8 +166,8 @@ function checkPython() {
|
|
|
166
166
|
|
|
167
167
|
// Success!
|
|
168
168
|
if (!silent) {
|
|
169
|
-
console.log(colorize(`\n
|
|
170
|
-
console.log(colorize('
|
|
169
|
+
console.log(colorize(`\n[OK] Python ${currentVersion.join('.')} found (${pythonCmd})`, 'green'));
|
|
170
|
+
console.log(colorize('[OK] Devflow is ready to use!\n', 'green'));
|
|
171
171
|
console.log(`Try: ${colorize('devflow-validate', 'blue')}\n`);
|
|
172
172
|
}
|
|
173
173
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pjmendonca/devflow",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"description": "Development workflow automation with Claude Code - agent-based development system with cost tracking",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"devflow",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"name": "Pedro Jose da Rocha Mendonca"
|
|
25
25
|
},
|
|
26
26
|
"bin": {
|
|
27
|
+
"create-devflow": "bin/create-devflow.js",
|
|
27
28
|
"devflow-cost": "bin/devflow-cost.js",
|
|
28
29
|
"devflow-validate": "bin/devflow-validate.js",
|
|
29
30
|
"devflow-story": "bin/devflow-story.js",
|
|
@@ -43,6 +44,7 @@
|
|
|
43
44
|
"bin/",
|
|
44
45
|
"lib/",
|
|
45
46
|
"tooling/",
|
|
47
|
+
".claude/",
|
|
46
48
|
"LICENSE",
|
|
47
49
|
"README.md",
|
|
48
50
|
"CHANGELOG.md"
|
|
@@ -43,7 +43,7 @@ You are running in an automated pipeline with limited context window. To avoid l
|
|
|
43
43
|
|
|
44
44
|
If you sense context is running low, output a warning:
|
|
45
45
|
```
|
|
46
|
-
|
|
46
|
+
CONTEXT WARNING: Approaching context limit. Prioritizing completion of current task.
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
## When Complete
|
|
@@ -66,7 +66,7 @@ After implementing all acceptance criteria and tests pass:
|
|
|
66
66
|
|
|
67
67
|
Story: [story-key]
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
Generated with [Claude Code](https://claude.com/claude-code)
|
|
70
70
|
|
|
71
71
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"
|
|
72
72
|
```
|
|
@@ -42,16 +42,16 @@ You are a critical code reviewer. Your job is to FIND PROBLEMS, not approve code
|
|
|
42
42
|
Use these severity levels:
|
|
43
43
|
|
|
44
44
|
```
|
|
45
|
-
|
|
45
|
+
CRITICAL - Must fix before merge
|
|
46
46
|
Security vulnerabilities, data loss risks, crashes
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
HIGH - Should fix before merge
|
|
49
49
|
Logic errors, missing error handling, broken edge cases
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
MEDIUM - Fix soon
|
|
52
52
|
Code smells, missing tests, poor patterns
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
LOW - Consider fixing
|
|
55
55
|
Style issues, minor improvements, suggestions
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -62,15 +62,15 @@ For each issue found:
|
|
|
62
62
|
```
|
|
63
63
|
[SEVERITY] Category: Brief Title
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
Location: path/to/file.dart:42
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Problem:
|
|
68
68
|
[What is wrong and why it matters]
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
Risk:
|
|
71
71
|
[What could go wrong if not fixed]
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
Suggested Fix:
|
|
74
74
|
[Specific code or approach to fix it]
|
|
75
75
|
```
|
|
76
76
|
|
|
@@ -57,5 +57,5 @@ You are running in an automated pipeline with limited context. To work efficient
|
|
|
57
57
|
|
|
58
58
|
If you sense context is running low, output:
|
|
59
59
|
```
|
|
60
|
-
|
|
60
|
+
CONTEXT WARNING: Approaching limit. Saving current findings.
|
|
61
61
|
```
|