@pjmendonca/devflow 1.10.0 → 1.10.2
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 +20 -0
- package/README.md +3 -87
- package/bin/create-devflow.js +1 -0
- package/bin/devflow.js +81 -0
- package/package.json +3 -1
- package/tooling/scripts/lib/__init__.py +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run adversarial (critical) code review with Opus
|
|
3
|
+
allowed-tools: Bash, Read, Glob, Grep
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run the Devflow adversarial review for story: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow adversarial $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This performs a critical, thorough review using the Opus model.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create or restore context checkpoints
|
|
3
|
+
argument-hint: [save|restore|list] [checkpoint-name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Manage Devflow context checkpoints: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow checkpoint $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This manages context preservation checkpoints:
|
|
11
|
+
- Save current context state before risky operations
|
|
12
|
+
- Restore previous context if work is lost
|
|
13
|
+
- List available checkpoints for a story
|
|
14
|
+
|
|
15
|
+
Commands:
|
|
16
|
+
- `save <name>` - Save current context as checkpoint
|
|
17
|
+
- `restore <name>` - Restore from checkpoint
|
|
18
|
+
- `list` - List available checkpoints
|
|
19
|
+
- `auto` - Enable automatic checkpointing
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
- `/checkpoint save before-refactor` - Save checkpoint
|
|
23
|
+
- `/checkpoint list` - Show available checkpoints
|
|
24
|
+
- `/checkpoint restore before-refactor` - Restore state
|
|
25
|
+
|
|
26
|
+
Automatic checkpointing occurs at:
|
|
27
|
+
- Before each agent phase starts
|
|
28
|
+
- When approaching context limits
|
|
29
|
+
- After major milestones
|
|
30
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run collaborative story with mode selection
|
|
3
|
+
argument-hint: <story-key> [--swarm|--pair|--auto]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run Devflow collaboration for: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow collab $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This is the unified collaboration CLI with all modes:
|
|
11
|
+
|
|
12
|
+
Modes:
|
|
13
|
+
- `--auto` - Auto-route to best agents (default)
|
|
14
|
+
- `--swarm` - Multi-agent debate/consensus
|
|
15
|
+
- `--pair` - DEV + REVIEWER pair programming
|
|
16
|
+
- `--sequential` - Traditional sequential pipeline
|
|
17
|
+
|
|
18
|
+
Options:
|
|
19
|
+
- `--agents AGENT1,AGENT2` - Specify agents (for swarm)
|
|
20
|
+
- `--max-iterations N` - Max iterations (default: 3)
|
|
21
|
+
- `--budget N` - Budget limit in USD
|
|
22
|
+
- `--memory` - Show shared memory
|
|
23
|
+
- `--query "Q"` - Query knowledge graph
|
|
24
|
+
- `--route-only` - Preview routing only
|
|
25
|
+
|
|
26
|
+
Examples:
|
|
27
|
+
- `/collab 3-5 --swarm` - Run swarm mode
|
|
28
|
+
- `/collab 3-5 --pair` - Run pair programming
|
|
29
|
+
- `/collab "fix auth bug" --auto` - Auto-route task
|
|
30
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View cost dashboard and spending analytics
|
|
3
|
+
argument-hint: [--period day|week|month]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
View Devflow cost dashboard: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow costs $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This displays cost tracking and analytics:
|
|
11
|
+
- Total spend by model (Opus, Sonnet, Haiku)
|
|
12
|
+
- Cost breakdown by agent
|
|
13
|
+
- Cost breakdown by story/task
|
|
14
|
+
- Budget utilization tracking
|
|
15
|
+
- Cost trends over time
|
|
16
|
+
|
|
17
|
+
Options:
|
|
18
|
+
- `--period day` - Show today's costs
|
|
19
|
+
- `--period week` - Show this week's costs
|
|
20
|
+
- `--period month` - Show this month's costs
|
|
21
|
+
- `--export csv` - Export to CSV file
|
|
22
|
+
|
|
23
|
+
Examples:
|
|
24
|
+
- `/costs` - Show current cost dashboard
|
|
25
|
+
- `/costs --period week` - Show weekly breakdown
|
|
26
|
+
- `/costs --by-agent` - Group costs by agent
|
|
27
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View handoff summaries between agents
|
|
3
|
+
argument-hint: <story-key> [--from AGENT] [--to AGENT]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
View agent handoff summaries: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow handoff $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This shows structured handoff information between agents:
|
|
11
|
+
- What was completed in the previous phase
|
|
12
|
+
- Decisions made and their rationale
|
|
13
|
+
- Blockers or warnings for the next agent
|
|
14
|
+
- Files modified with change summaries
|
|
15
|
+
|
|
16
|
+
Options:
|
|
17
|
+
- `--from AGENT` - Filter by source agent
|
|
18
|
+
- `--to AGENT` - Filter by destination agent
|
|
19
|
+
- `--latest` - Show only most recent handoff
|
|
20
|
+
- `--export` - Export handoffs to markdown
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
- `/handoff 3-5` - Show all handoffs for story
|
|
24
|
+
- `/handoff 3-5 --from DEV --to REVIEWER` - Specific handoff
|
|
25
|
+
- `/handoff 3-5 --latest` - Most recent handoff
|
|
26
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View or query shared agent memory
|
|
3
|
+
argument-hint: <story-key> [--query "question"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
View shared memory for: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow memory $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This displays the shared memory and knowledge graph for a story:
|
|
11
|
+
- Cross-agent shared memory pool
|
|
12
|
+
- Decision tracking with knowledge graph
|
|
13
|
+
- Learnings and context from all agents
|
|
14
|
+
|
|
15
|
+
Query Mode:
|
|
16
|
+
Use `--query` to ask questions about past decisions:
|
|
17
|
+
- `/memory 3-5 --query "What did ARCHITECT decide about auth?"`
|
|
18
|
+
- `/memory 3-5 --query "Why was the database schema changed?"`
|
|
19
|
+
|
|
20
|
+
Examples:
|
|
21
|
+
- `/memory 3-5` - Show all shared memory for story 3-5
|
|
22
|
+
- `/memory 3-5 --query "security decisions"` - Query specific topic
|
|
23
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run pair programming mode (DEV + REVIEWER interleaved)
|
|
3
|
+
argument-hint: <story-key>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run Devflow pair programming for: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow pair $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This runs DEV and REVIEWER in an interleaved pair programming mode:
|
|
11
|
+
- DEV implements code in small, reviewable chunks
|
|
12
|
+
- REVIEWER provides immediate feedback after each chunk
|
|
13
|
+
- DEV addresses issues before continuing to next chunk
|
|
14
|
+
- Results in higher quality code with fewer late-stage revisions
|
|
15
|
+
|
|
16
|
+
Benefits:
|
|
17
|
+
- Real-time feedback loops during implementation
|
|
18
|
+
- Issues caught early, not at final review
|
|
19
|
+
- Better knowledge sharing between agents
|
|
20
|
+
- Higher approval rates
|
|
21
|
+
|
|
22
|
+
Example:
|
|
23
|
+
- `/pair 3-5` - Run pair programming for story 3-5
|
|
24
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Personalize agent behavior with guided wizard
|
|
3
|
+
argument-hint: [agent-name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run the agent personalization wizard to customize agent behavior.
|
|
7
|
+
|
|
8
|
+
Execute: `python3 tooling/scripts/personalize_agent.py $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
Available agents: dev, sm, ba, architect, pm, writer, maintainer, reviewer
|
|
11
|
+
|
|
12
|
+
Examples:
|
|
13
|
+
- `/personalize dev` - Customize the developer agent
|
|
14
|
+
- `/personalize` - Interactive agent selection
|
|
15
|
+
- `/personalize --list` - Show available templates
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Auto-route task to best agents
|
|
3
|
+
argument-hint: <task-description>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Auto-route task to optimal agents: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow route $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This intelligently selects the best agents based on task analysis:
|
|
11
|
+
- Analyzes task description for keywords and patterns
|
|
12
|
+
- Detects task type (bugfix, security, feature, refactor, etc.)
|
|
13
|
+
- Estimates complexity (trivial to critical)
|
|
14
|
+
- Routes to appropriate specialists
|
|
15
|
+
|
|
16
|
+
Task type detection examples:
|
|
17
|
+
- "fix login bug" -> MAINTAINER, DEV, REVIEWER
|
|
18
|
+
- "security vulnerability" -> SECURITY, ARCHITECT, REVIEWER
|
|
19
|
+
- "new user profile feature" -> BA, ARCHITECT, DEV, REVIEWER
|
|
20
|
+
- "refactor auth module" -> ARCHITECT, DEV, MAINTAINER
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
- `/route fix authentication timeout` - Routes to bug specialists
|
|
24
|
+
- `/route add payment integration` - Routes to feature team
|
|
25
|
+
- `/route --route-only fix memory leak` - Preview routing only
|
|
26
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run full story pipeline (context + dev + review)
|
|
3
|
+
argument-hint: <story-key>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run the Devflow story automation for story: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow story $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This runs the full pipeline: context creation, development, and review.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run multi-agent swarm mode (debate/consensus)
|
|
3
|
+
argument-hint: <story-key> [--agents AGENT1,AGENT2,...]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run Devflow swarm mode for: $ARGUMENTS
|
|
7
|
+
|
|
8
|
+
Execute: `devflow swarm $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
This runs multi-agent collaboration where agents debate and iterate until consensus:
|
|
11
|
+
- Multiple agents analyze the task simultaneously
|
|
12
|
+
- Agents provide feedback on each other's work
|
|
13
|
+
- Issues are addressed through iterative refinement
|
|
14
|
+
- Continues until consensus or max iterations reached
|
|
15
|
+
|
|
16
|
+
Default agents: ARCHITECT, DEV, REVIEWER
|
|
17
|
+
|
|
18
|
+
Examples:
|
|
19
|
+
- `/swarm 3-5` - Run swarm with default agents
|
|
20
|
+
- `/swarm 3-5 --agents ARCHITECT,DEV,REVIEWER,SECURITY` - Custom agents
|
|
21
|
+
- `/swarm 3-5 --max-iter 5` - Increase max iterations
|
|
22
|
+
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: github-cli
|
|
3
|
+
description: Execute GitHub CLI (gh) commands to manage repositories, pull requests, issues, workflows, and more. Use when working with GitHub operations like creating PRs, listing issues, managing branches, checking workflow runs, or any gh command automation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# GitHub CLI Automation
|
|
7
|
+
|
|
8
|
+
Use the GitHub CLI (gh) to automate GitHub repository operations efficiently.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
- GitHub CLI must be installed: `gh --version`
|
|
13
|
+
- Authentication required: `gh auth status`
|
|
14
|
+
|
|
15
|
+
## Core Operations
|
|
16
|
+
|
|
17
|
+
### Repository Management
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# View repository information
|
|
21
|
+
gh repo view
|
|
22
|
+
|
|
23
|
+
# Clone a repository
|
|
24
|
+
gh repo clone owner/repo
|
|
25
|
+
|
|
26
|
+
# Fork a repository
|
|
27
|
+
gh repo fork
|
|
28
|
+
|
|
29
|
+
# Create a new repository
|
|
30
|
+
gh repo create my-new-repo --public
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Pull Requests
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Create a pull request
|
|
37
|
+
gh pr create --title "Feature: Add new functionality" --body "Description"
|
|
38
|
+
|
|
39
|
+
# List pull requests
|
|
40
|
+
gh pr list --state open
|
|
41
|
+
gh pr list --author @me
|
|
42
|
+
|
|
43
|
+
# View PR details
|
|
44
|
+
gh pr view 123
|
|
45
|
+
|
|
46
|
+
# Check out a PR locally
|
|
47
|
+
gh pr checkout 123
|
|
48
|
+
|
|
49
|
+
# Merge a pull request
|
|
50
|
+
gh pr merge 123 --squash
|
|
51
|
+
|
|
52
|
+
# Review PR status
|
|
53
|
+
gh pr status
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Issues
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Create an issue
|
|
60
|
+
gh issue create --title "Bug: Something broke" --body "Description"
|
|
61
|
+
|
|
62
|
+
# List issues
|
|
63
|
+
gh issue list --state open
|
|
64
|
+
gh issue list --label bug --assignee @me
|
|
65
|
+
|
|
66
|
+
# View issue details
|
|
67
|
+
gh issue view 456
|
|
68
|
+
|
|
69
|
+
# Close an issue
|
|
70
|
+
gh issue close 456
|
|
71
|
+
|
|
72
|
+
# Reopen an issue
|
|
73
|
+
gh issue reopen 456
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Workflow Runs
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# List workflow runs
|
|
80
|
+
gh run list --limit 10
|
|
81
|
+
|
|
82
|
+
# View specific run
|
|
83
|
+
gh run view 12345
|
|
84
|
+
|
|
85
|
+
# Watch a running workflow
|
|
86
|
+
gh run watch
|
|
87
|
+
|
|
88
|
+
# Rerun a failed workflow
|
|
89
|
+
gh run rerun 12345
|
|
90
|
+
|
|
91
|
+
# List workflow run logs
|
|
92
|
+
gh run view 12345 --log
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Branches
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# List branches (via API)
|
|
99
|
+
gh api repos/:owner/:repo/branches
|
|
100
|
+
|
|
101
|
+
# Delete remote branch
|
|
102
|
+
gh api -X DELETE repos/:owner/:repo/git/refs/heads/branch-name
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Releases
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Create a release
|
|
109
|
+
gh release create v1.0.0 --title "Release 1.0.0" --notes "Release notes"
|
|
110
|
+
|
|
111
|
+
# List releases
|
|
112
|
+
gh release list
|
|
113
|
+
|
|
114
|
+
# Download release assets
|
|
115
|
+
gh release download v1.0.0
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Gists
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Create a gist
|
|
122
|
+
gh gist create file.txt --public
|
|
123
|
+
|
|
124
|
+
# List your gists
|
|
125
|
+
gh gist list
|
|
126
|
+
|
|
127
|
+
# View a gist
|
|
128
|
+
gh gist view <gist-id>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Advanced Usage
|
|
132
|
+
|
|
133
|
+
### JSON Output for Parsing
|
|
134
|
+
|
|
135
|
+
Many commands support `--json` for structured output:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Get PR data as JSON
|
|
139
|
+
gh pr list --json number,title,state,headRefName
|
|
140
|
+
|
|
141
|
+
# Get issue data as JSON
|
|
142
|
+
gh issue list --json number,title,labels,state
|
|
143
|
+
|
|
144
|
+
# Parse with jq
|
|
145
|
+
gh pr list --json number,title | jq '.[] | select(.title | contains("bug"))'
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### API Access
|
|
149
|
+
|
|
150
|
+
Direct API access for advanced operations:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Generic API call
|
|
154
|
+
gh api repos/:owner/:repo/branches
|
|
155
|
+
|
|
156
|
+
# With pagination
|
|
157
|
+
gh api repos/:owner/:repo/pulls --paginate
|
|
158
|
+
|
|
159
|
+
# POST request
|
|
160
|
+
gh api repos/:owner/:repo/issues -f title="New Issue" -f body="Description"
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Checking for Stale Branches
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# List merged branches
|
|
167
|
+
git branch -r --merged main | grep -v 'main\|HEAD'
|
|
168
|
+
|
|
169
|
+
# Get PR information
|
|
170
|
+
gh pr list --state merged --json headRefName,mergedAt
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Best Practices
|
|
174
|
+
|
|
175
|
+
1. **Always check auth status first**: Run `gh auth status` before operations
|
|
176
|
+
2. **Use structured output**: Prefer `--json` when parsing results programmatically
|
|
177
|
+
3. **Check command success**: Verify exit codes and output before proceeding
|
|
178
|
+
4. **Use help**: Run `gh <command> --help` for detailed syntax
|
|
179
|
+
5. **Batch operations**: Combine commands with shell scripting for bulk operations
|
|
180
|
+
|
|
181
|
+
## Common Workflows
|
|
182
|
+
|
|
183
|
+
### Creating and Merging a PR
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Push your changes
|
|
187
|
+
git push origin feature-branch
|
|
188
|
+
|
|
189
|
+
# Create PR
|
|
190
|
+
gh pr create --title "Feature: Description" --body "Detailed description"
|
|
191
|
+
|
|
192
|
+
# Wait for CI/checks
|
|
193
|
+
gh pr checks
|
|
194
|
+
|
|
195
|
+
# Merge when ready
|
|
196
|
+
gh pr merge --squash
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Cleaning Up Merged Branches
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
# List merged PRs
|
|
203
|
+
gh pr list --state merged --json headRefName --limit 20
|
|
204
|
+
|
|
205
|
+
# Delete remote branches (carefully!)
|
|
206
|
+
# gh api -X DELETE repos/:owner/:repo/git/refs/heads/branch-name
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Release Management
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Tag and create release
|
|
213
|
+
git tag v1.0.0
|
|
214
|
+
git push --tags
|
|
215
|
+
gh release create v1.0.0 --generate-notes
|
|
216
|
+
|
|
217
|
+
# Or with custom notes
|
|
218
|
+
gh release create v1.0.0 --title "Version 1.0.0" --notes "Release notes here"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Error Handling
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
# Check if gh is installed
|
|
225
|
+
if ! command -v gh &> /dev/null; then
|
|
226
|
+
echo "GitHub CLI not installed"
|
|
227
|
+
exit 1
|
|
228
|
+
fi
|
|
229
|
+
|
|
230
|
+
# Check authentication
|
|
231
|
+
if ! gh auth status &> /dev/null; then
|
|
232
|
+
echo "Not authenticated. Run: gh auth login"
|
|
233
|
+
exit 1
|
|
234
|
+
fi
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Reference
|
|
238
|
+
|
|
239
|
+
- Official docs: https://cli.github.com/manual/
|
|
240
|
+
- All commands: `gh help`
|
|
241
|
+
- Command-specific help: `gh <command> --help`
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,26 @@ All notable changes to this project 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
|
+
## [1.10.2] - 2025-12-24
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **npx Command** - Fixed "could not determine executable to run" error when running `npx @pjmendonca/devflow`
|
|
12
|
+
- Added main `devflow` bin entry to package.json
|
|
13
|
+
- Created bin/devflow.js as smart entry point with context detection
|
|
14
|
+
- Outside Devflow project: automatically scaffolds new project
|
|
15
|
+
- Inside Devflow project: shows help and dispatches to commands
|
|
16
|
+
- Simplified workflow: single command for both setup and usage
|
|
17
|
+
|
|
18
|
+
## [1.10.1] - 2025-12-24
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- **Claude Code Skills Distribution** - Include .claude directory in npm package and installation
|
|
22
|
+
- Added .claude/ to package.json files array for npm distribution
|
|
23
|
+
- Added .claude/ to create-devflow.js itemsToCopy for project initialization
|
|
24
|
+
- Ensures 16 custom commands and 1 skill are immediately available after installation
|
|
25
|
+
- Commands include: story, devflow, adversarial, agent, bugfix, checkpoint, collab, costs, develop, handoff, memory, pair, personalize, review, route, swarm
|
|
26
|
+
- Skills include: github-cli for GitHub operations
|
|
27
|
+
|
|
8
28
|
## [1.10.0] - 2025-12-23
|
|
9
29
|
|
|
10
30
|
### Added
|
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ A production-ready, portable workflow automation system that uses Claude Code CL
|
|
|
44
44
|
|
|
45
45
|
### Installation
|
|
46
46
|
|
|
47
|
-
**Option 1: Quick Start
|
|
47
|
+
**Option 1: Quick Start**
|
|
48
48
|
|
|
49
49
|
This creates a new "Devflow" directory with all necessary files:
|
|
50
50
|
|
|
@@ -77,90 +77,6 @@ npx devflow-validate
|
|
|
77
77
|
npx devflow-init
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
See [NPM Installation Guide](docs/NPM_INSTALLATION.md) for detailed instructions and troubleshooting.
|
|
81
|
-
|
|
82
|
-
**Option 3: pip (Python Ecosystem)**
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
# Clone the repository
|
|
86
|
-
git clone https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow.git
|
|
87
|
-
cd Devflow
|
|
88
|
-
|
|
89
|
-
# Install via pip
|
|
90
|
-
pip install .
|
|
91
|
-
|
|
92
|
-
# Verify installation
|
|
93
|
-
devflow-validate
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Option 4: Manual Installation (macOS/Linux)**
|
|
97
|
-
|
|
98
|
-
Clone and Setup:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
# Clone this repository
|
|
102
|
-
git clone https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow.git
|
|
103
|
-
cd Devflow
|
|
104
|
-
|
|
105
|
-
# Copy to your project
|
|
106
|
-
cp -r tooling /path/to/your/project/
|
|
107
|
-
|
|
108
|
-
# Run setup wizard
|
|
109
|
-
cd /path/to/your/project/tooling/scripts
|
|
110
|
-
./init-project-workflow.sh
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Direct Copy:
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# Download latest release
|
|
117
|
-
curl -L https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow/archive/main.tar.gz | tar xz
|
|
118
|
-
|
|
119
|
-
# Move to your project
|
|
120
|
-
mv Devflow-main/tooling /path/to/your/project/
|
|
121
|
-
|
|
122
|
-
# Manual config
|
|
123
|
-
cd /path/to/your/project/tooling/.automation
|
|
124
|
-
cp config.sh.template config.sh
|
|
125
|
-
vim config.sh
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
**Option 5: Manual Installation (Windows)**
|
|
129
|
-
|
|
130
|
-
Clone and Setup (Recommended):
|
|
131
|
-
|
|
132
|
-
```powershell
|
|
133
|
-
# Clone this repository
|
|
134
|
-
git clone https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow.git
|
|
135
|
-
cd Devflow
|
|
136
|
-
|
|
137
|
-
# Copy to your project
|
|
138
|
-
Copy-Item -Recurse tooling C:\path\to\your\project\
|
|
139
|
-
|
|
140
|
-
# Set execution policy (first time only, run as Admin)
|
|
141
|
-
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
|
|
142
|
-
|
|
143
|
-
# Run setup wizard
|
|
144
|
-
cd C:\path\to\your\project\tooling\scripts
|
|
145
|
-
.\init-project-workflow.ps1
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Direct Copy:
|
|
149
|
-
|
|
150
|
-
```powershell
|
|
151
|
-
# Download latest release
|
|
152
|
-
Invoke-WebRequest -Uri "https://github.com/Pedro-Jose-da-Rocha-Mendonca/Devflow/archive/main.zip" -OutFile main.zip
|
|
153
|
-
Expand-Archive main.zip -DestinationPath .
|
|
154
|
-
|
|
155
|
-
# Move to your project
|
|
156
|
-
Move-Item Devflow-main\tooling C:\path\to\your\project\
|
|
157
|
-
|
|
158
|
-
# Manual config
|
|
159
|
-
cd C:\path\to\your\project\tooling\.automation
|
|
160
|
-
Copy-Item config.ps1.template config.ps1
|
|
161
|
-
notepad config.ps1
|
|
162
|
-
```
|
|
163
|
-
|
|
164
80
|
### Agent Personas
|
|
165
81
|
|
|
166
82
|
| Agent | Model | Cost | Use Case |
|
|
@@ -616,7 +532,7 @@ Free to use in commercial and personal projects.
|
|
|
616
532
|
|
|
617
533
|
|
|
618
534
|
<!-- VERSION_START - Auto-updated by update_version.py -->
|
|
619
|
-
**Version**: 1.10.
|
|
535
|
+
**Version**: 1.10.2
|
|
620
536
|
**Status**: Production Ready
|
|
621
|
-
**Last Updated**: 2025-12-
|
|
537
|
+
**Last Updated**: 2025-12-24
|
|
622
538
|
<!-- VERSION_END -->
|
package/bin/create-devflow.js
CHANGED
|
@@ -67,6 +67,7 @@ const itemsToCopy = [
|
|
|
67
67
|
{ type: 'dir', name: 'tooling' },
|
|
68
68
|
{ type: 'dir', name: 'bin' },
|
|
69
69
|
{ type: 'dir', name: 'lib' },
|
|
70
|
+
{ type: 'dir', name: '.claude' },
|
|
70
71
|
{ type: 'file', name: 'LICENSE' },
|
|
71
72
|
{ type: 'file', name: 'README.md' },
|
|
72
73
|
{ type: 'file', name: 'CHANGELOG.md' },
|
package/bin/devflow.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const { spawn } = require('child_process');
|
|
6
|
+
|
|
7
|
+
const commands = {
|
|
8
|
+
'init': 'Initialize Devflow in your project',
|
|
9
|
+
'story': 'Run full story pipeline (context + dev + review)',
|
|
10
|
+
'collab': 'Run collaborative story with mode selection',
|
|
11
|
+
'checkpoint': 'Create or restore context checkpoints',
|
|
12
|
+
'memory': 'View or query shared agent memory',
|
|
13
|
+
'cost': 'View cost dashboard and spending analytics',
|
|
14
|
+
'validate': 'Validate project configuration',
|
|
15
|
+
'create-persona': 'Create a new agent persona',
|
|
16
|
+
'personalize': 'Personalize agent behavior with guided wizard',
|
|
17
|
+
'validate-overrides': 'Validate override configurations',
|
|
18
|
+
'new-doc': 'Create new documentation',
|
|
19
|
+
'tech-debt': 'Analyze and track technical debt',
|
|
20
|
+
'setup-checkpoint': 'Setup checkpoint system',
|
|
21
|
+
'version': 'Show version information'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Check if we're in a Devflow project
|
|
26
|
+
*/
|
|
27
|
+
function isInDevflowProject() {
|
|
28
|
+
const indicators = [
|
|
29
|
+
'tooling/.automation',
|
|
30
|
+
'tooling/scripts',
|
|
31
|
+
'.claude'
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
return indicators.some(indicator => fs.existsSync(path.join(process.cwd(), indicator)));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Show help message
|
|
39
|
+
*/
|
|
40
|
+
function showHelp() {
|
|
41
|
+
console.log('Devflow - Development workflow automation with Claude Code\n');
|
|
42
|
+
console.log('Usage: devflow <command> [options]\n');
|
|
43
|
+
console.log('Available commands:\n');
|
|
44
|
+
|
|
45
|
+
Object.entries(commands).forEach(([cmd, desc]) => {
|
|
46
|
+
console.log(` ${cmd.padEnd(20)} ${desc}`);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
console.log('\nRun "devflow <command> --help" for more information on a command.');
|
|
50
|
+
console.log('\nGet started: devflow init');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const args = process.argv.slice(2);
|
|
54
|
+
|
|
55
|
+
// If no arguments or --help, check if we're in a project
|
|
56
|
+
if (args.length === 0 || args[0] === '--help' || args[0] === '-h') {
|
|
57
|
+
if (!isInDevflowProject()) {
|
|
58
|
+
// Not in a project - run scaffolder
|
|
59
|
+
console.log('No Devflow project detected. Running project scaffolder...\n');
|
|
60
|
+
const createScript = require.resolve('./create-devflow.js');
|
|
61
|
+
const child = spawn('node', [createScript], { stdio: 'inherit' });
|
|
62
|
+
child.on('exit', (code) => process.exit(code || 0));
|
|
63
|
+
} else {
|
|
64
|
+
// In a project - show help
|
|
65
|
+
showHelp();
|
|
66
|
+
process.exit(0);
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
// Command provided
|
|
70
|
+
const command = args[0];
|
|
71
|
+
|
|
72
|
+
if (commands[command]) {
|
|
73
|
+
const binPath = require.resolve(`./devflow-${command}.js`);
|
|
74
|
+
const child = spawn('node', [binPath, ...args.slice(1)], { stdio: 'inherit' });
|
|
75
|
+
child.on('exit', (code) => process.exit(code || 0));
|
|
76
|
+
} else {
|
|
77
|
+
console.error(`Unknown command: ${command}`);
|
|
78
|
+
console.error('Run "devflow --help" to see available commands.');
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pjmendonca/devflow",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.2",
|
|
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
|
+
"devflow": "bin/devflow.js",
|
|
27
28
|
"create-devflow": "bin/create-devflow.js",
|
|
28
29
|
"devflow-cost": "bin/devflow-cost.js",
|
|
29
30
|
"devflow-validate": "bin/devflow-validate.js",
|
|
@@ -44,6 +45,7 @@
|
|
|
44
45
|
"bin/",
|
|
45
46
|
"lib/",
|
|
46
47
|
"tooling/",
|
|
48
|
+
".claude/",
|
|
47
49
|
"LICENSE",
|
|
48
50
|
"README.md",
|
|
49
51
|
"CHANGELOG.md"
|