claude-autopm 1.10.1 → 1.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autopm/.claude/commands/pm/prd-new.md +10 -132
- package/autopm/.claude/teams.json +52 -0
- package/bin/autopm.js +3 -3
- package/bin/commands/config.js +20 -11
- package/install/install.js +30 -5
- package/lib/guide/interactive-guide.js +2 -2
- package/package.json +1 -1
|
@@ -4,145 +4,23 @@ allowed-tools: Bash, Read, Write, LS
|
|
|
4
4
|
|
|
5
5
|
# PRD New
|
|
6
6
|
|
|
7
|
-
Launch brainstorming for new product requirement document.
|
|
7
|
+
Launch interactive brainstorming session for new product requirement document.
|
|
8
8
|
|
|
9
9
|
## Usage
|
|
10
10
|
```
|
|
11
11
|
/pm:prd-new <feature_name>
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
## Required Rules
|
|
15
|
-
|
|
16
|
-
**IMPORTANT:** Before executing this command, read and follow:
|
|
17
|
-
- `.claude/rules/datetime.md` - For getting real current date/time
|
|
18
|
-
|
|
19
|
-
## Preflight Checklist
|
|
20
|
-
|
|
21
|
-
Before proceeding, complete these validation steps.
|
|
22
|
-
Do not bother the user with preflight checks progress ("I'm not going to ..."). Just do them and move on.
|
|
23
|
-
|
|
24
|
-
### Input Validation
|
|
25
|
-
1. **Validate feature name format:**
|
|
26
|
-
- Must contain only lowercase letters, numbers, and hyphens
|
|
27
|
-
- Must start with a letter
|
|
28
|
-
- No spaces or special characters allowed
|
|
29
|
-
- If invalid, tell user: "❌ Feature name must be kebab-case (lowercase letters, numbers, hyphens only). Examples: user-auth, payment-v2, notification-system"
|
|
30
|
-
|
|
31
|
-
2. **Check for existing PRD:**
|
|
32
|
-
- Check if `.claude/prds/$ARGUMENTS.md` already exists
|
|
33
|
-
- If it exists, ask user: "⚠️ PRD '$ARGUMENTS' already exists. Do you want to overwrite it? (yes/no)"
|
|
34
|
-
- Only proceed with explicit 'yes' confirmation
|
|
35
|
-
- If user says no, suggest: "Use a different name or run: /pm:prd-parse $ARGUMENTS to create an epic from the existing PRD"
|
|
36
|
-
|
|
37
|
-
3. **Verify directory structure:**
|
|
38
|
-
- Check if `.claude/prds/` directory exists
|
|
39
|
-
- If not, create it first
|
|
40
|
-
- If unable to create, tell user: "❌ Cannot create PRD directory. Please manually create: .claude/prds/"
|
|
41
|
-
|
|
42
14
|
## Instructions
|
|
43
15
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
Follow this structured approach:
|
|
47
|
-
|
|
48
|
-
### 1. Discovery & Context
|
|
49
|
-
- Ask clarifying questions about the feature/product "$ARGUMENTS"
|
|
50
|
-
- Understand the problem being solved
|
|
51
|
-
- Identify target users and use cases
|
|
52
|
-
- Gather constraints and requirements
|
|
53
|
-
|
|
54
|
-
### 2. PRD Structure
|
|
55
|
-
Create a comprehensive PRD with these sections:
|
|
56
|
-
|
|
57
|
-
#### Executive Summary
|
|
58
|
-
- Brief overview and value proposition
|
|
59
|
-
|
|
60
|
-
#### Problem Statement
|
|
61
|
-
- What problem are we solving?
|
|
62
|
-
- Why is this important now?
|
|
63
|
-
|
|
64
|
-
#### User Stories
|
|
65
|
-
- Primary user personas
|
|
66
|
-
- Detailed user journeys
|
|
67
|
-
- Pain points being addressed
|
|
68
|
-
|
|
69
|
-
#### Requirements
|
|
70
|
-
**Functional Requirements**
|
|
71
|
-
- Core features and capabilities
|
|
72
|
-
- User interactions and flows
|
|
73
|
-
|
|
74
|
-
**Non-Functional Requirements**
|
|
75
|
-
- Performance expectations
|
|
76
|
-
- Security considerations
|
|
77
|
-
- Scalability needs
|
|
78
|
-
|
|
79
|
-
#### Success Criteria
|
|
80
|
-
- Measurable outcomes
|
|
81
|
-
- Key metrics and KPIs
|
|
82
|
-
|
|
83
|
-
#### Constraints & Assumptions
|
|
84
|
-
- Technical limitations
|
|
85
|
-
- Timeline constraints
|
|
86
|
-
- Resource limitations
|
|
87
|
-
|
|
88
|
-
#### Out of Scope
|
|
89
|
-
- What we're explicitly NOT building
|
|
90
|
-
|
|
91
|
-
#### Dependencies
|
|
92
|
-
- External dependencies
|
|
93
|
-
- Internal team dependencies
|
|
94
|
-
|
|
95
|
-
### 3. File Format with Frontmatter
|
|
96
|
-
Save the completed PRD to: `.claude/prds/$ARGUMENTS.md` with this exact structure:
|
|
97
|
-
|
|
98
|
-
```markdown
|
|
99
|
-
---
|
|
100
|
-
name: $ARGUMENTS
|
|
101
|
-
description: [Brief one-line description of the PRD]
|
|
102
|
-
status: backlog
|
|
103
|
-
created: [Current ISO date/time]
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
# PRD: $ARGUMENTS
|
|
107
|
-
|
|
108
|
-
## Executive Summary
|
|
109
|
-
[Content...]
|
|
110
|
-
|
|
111
|
-
## Problem Statement
|
|
112
|
-
[Content...]
|
|
113
|
-
|
|
114
|
-
[Continue with all sections...]
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 4. Frontmatter Guidelines
|
|
118
|
-
- **name**: Use the exact feature name (same as $ARGUMENTS)
|
|
119
|
-
- **description**: Write a concise one-line summary of what this PRD covers
|
|
120
|
-
- **status**: Always start with "backlog" for new PRDs
|
|
121
|
-
- **created**: Get REAL current datetime by running: `date -u +"%Y-%m-%dT%H:%M:%SZ"`
|
|
122
|
-
- Never use placeholder text
|
|
123
|
-
- Must be actual system time in ISO 8601 format
|
|
124
|
-
|
|
125
|
-
### 5. Quality Checks
|
|
126
|
-
|
|
127
|
-
Before saving the PRD, verify:
|
|
128
|
-
- [ ] All sections are complete (no placeholder text)
|
|
129
|
-
- [ ] User stories include acceptance criteria
|
|
130
|
-
- [ ] Success criteria are measurable
|
|
131
|
-
- [ ] Dependencies are clearly identified
|
|
132
|
-
- [ ] Out of scope items are explicitly listed
|
|
133
|
-
|
|
134
|
-
### 6. Post-Creation
|
|
135
|
-
|
|
136
|
-
After successfully creating the PRD:
|
|
137
|
-
1. Confirm: "✅ PRD created: .claude/prds/$ARGUMENTS.md"
|
|
138
|
-
2. Show brief summary of what was captured
|
|
139
|
-
3. Suggest next step: "Ready to create implementation epic? Run: /pm:prd-parse $ARGUMENTS"
|
|
140
|
-
|
|
141
|
-
## Error Recovery
|
|
16
|
+
Run `node .claude/scripts/pm/prd-new.js $ARGUMENTS` using the Bash tool and show me the complete output.
|
|
142
17
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
18
|
+
This will launch an interactive brainstorming session that will:
|
|
19
|
+
1. Prompt for product vision
|
|
20
|
+
2. Gather information about target users
|
|
21
|
+
3. Collect key features through interactive prompts
|
|
22
|
+
4. Define success metrics
|
|
23
|
+
5. Capture technical considerations
|
|
24
|
+
6. Generate a comprehensive PRD with proper frontmatter
|
|
147
25
|
|
|
148
|
-
|
|
26
|
+
The script handles all validation, creates the necessary directories, and saves the PRD to `.claude/prds/$ARGUMENTS.md`.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"base": {
|
|
3
|
+
"description": "Core agents available in all teams.",
|
|
4
|
+
"agents": [
|
|
5
|
+
"code-analyzer.md",
|
|
6
|
+
"file-analyzer.md",
|
|
7
|
+
"test-runner.md",
|
|
8
|
+
"agent-manager.md"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"devops": {
|
|
12
|
+
"description": "Team for CI/CD, containerization, and infrastructure tasks.",
|
|
13
|
+
"inherits": ["base"],
|
|
14
|
+
"agents": [
|
|
15
|
+
"docker-containerization-expert.md",
|
|
16
|
+
"kubernetes-orchestrator.md",
|
|
17
|
+
"github-operations-specialist.md",
|
|
18
|
+
"azure-devops-specialist.md",
|
|
19
|
+
"terraform-infrastructure-expert.md"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"python_backend": {
|
|
23
|
+
"description": "Team specializing in Python backend development.",
|
|
24
|
+
"inherits": ["base"],
|
|
25
|
+
"agents": [
|
|
26
|
+
"python-backend-expert.md",
|
|
27
|
+
"fastapi-backend-engineer.md",
|
|
28
|
+
"flask-backend-engineer.md",
|
|
29
|
+
"postgresql-expert.md",
|
|
30
|
+
"mongodb-expert.md"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"frontend": {
|
|
34
|
+
"description": "Team for JavaScript/TypeScript UI development.",
|
|
35
|
+
"inherits": ["base"],
|
|
36
|
+
"agents": [
|
|
37
|
+
"react-ui-expert.md",
|
|
38
|
+
"javascript-frontend-engineer.md",
|
|
39
|
+
"e2e-test-engineer.md",
|
|
40
|
+
"ux-design-expert.md",
|
|
41
|
+
"tailwindcss-expert.md"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"fullstack": {
|
|
45
|
+
"description": "Complete team combining frontend and backend capabilities.",
|
|
46
|
+
"inherits": [
|
|
47
|
+
"frontend",
|
|
48
|
+
"python_backend"
|
|
49
|
+
],
|
|
50
|
+
"agents": []
|
|
51
|
+
}
|
|
52
|
+
}
|
package/bin/autopm.js
CHANGED
|
@@ -159,7 +159,7 @@ function main() {
|
|
|
159
159
|
📖 Quick Start:
|
|
160
160
|
autopm install # Install ClaudeAutoPM in current directory
|
|
161
161
|
autopm team load frontend # Load React/UI development agents
|
|
162
|
-
claude --
|
|
162
|
+
claude --dangerously-skip-permissions . # Open Claude Code
|
|
163
163
|
|
|
164
164
|
🔧 Configuration Setup:
|
|
165
165
|
# View current configuration
|
|
@@ -224,7 +224,7 @@ function main() {
|
|
|
224
224
|
autopm config set github.repo <repository>
|
|
225
225
|
export GITHUB_TOKEN=<your-token>
|
|
226
226
|
3. autopm team load fullstack # Load appropriate agents
|
|
227
|
-
4. claude --
|
|
227
|
+
4. claude --dangerously-skip-permissions . # Open Claude Code
|
|
228
228
|
5. /pm:validate # Verify GitHub integration
|
|
229
229
|
|
|
230
230
|
6. /pm:prd-new user-auth # Create Product Requirements Document
|
|
@@ -244,7 +244,7 @@ function main() {
|
|
|
244
244
|
autopm config set azure.project <project>
|
|
245
245
|
export AZURE_DEVOPS_PAT=<your-pat>
|
|
246
246
|
3. autopm team load fullstack # Load appropriate agents
|
|
247
|
-
4. claude --
|
|
247
|
+
4. claude --dangerously-skip-permissions . # Open Claude Code
|
|
248
248
|
5. /pm:validate # Verify Azure DevOps integration
|
|
249
249
|
|
|
250
250
|
6. /pm:prd-new user-auth # Create Product Requirements Document
|
package/bin/commands/config.js
CHANGED
|
@@ -79,13 +79,28 @@ class ConfigCommand {
|
|
|
79
79
|
|
|
80
80
|
console.log('│ │');
|
|
81
81
|
|
|
82
|
-
//
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
// Installation Configuration - check both new and legacy formats
|
|
83
|
+
const dockerEnabled = config.tools?.docker?.enabled || config.features?.dockerFirst || false;
|
|
84
|
+
const dockerFirst = config.tools?.docker?.first || false;
|
|
85
|
+
const dockerStatus = dockerEnabled ? (dockerFirst ? '✅ Enabled (First)' : '✅ Enabled') : '❌ Disabled';
|
|
86
|
+
console.log(`│ Docker: ${this.padRight(dockerStatus, 22)} │`);
|
|
87
|
+
|
|
88
|
+
const k8sEnabled = config.tools?.kubernetes?.enabled || config.features?.kubernetes || false;
|
|
89
|
+
const k8sStatus = k8sEnabled ? '✅ Enabled' : '❌ Disabled';
|
|
87
90
|
console.log(`│ Kubernetes: ${this.padRight(k8sStatus, 22)} │`);
|
|
88
91
|
|
|
92
|
+
// Execution strategy - check both formats
|
|
93
|
+
const executionStrategy = config.execution_strategy || config.execution?.strategy || 'adaptive';
|
|
94
|
+
console.log(`│ Execution: ${this.padRight(executionStrategy, 22)} │`);
|
|
95
|
+
|
|
96
|
+
// Show parallel limit if hybrid strategy
|
|
97
|
+
if (executionStrategy === 'hybrid' && config.parallel_limit) {
|
|
98
|
+
console.log(`│ Parallel Limit: ${this.padRight(config.parallel_limit.toString(), 22)} │`);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
console.log('│ │');
|
|
102
|
+
|
|
103
|
+
// Features - optional/legacy features
|
|
89
104
|
const mcpStatus = config.features?.mcp ? '✅ Enabled' : '❌ Disabled';
|
|
90
105
|
console.log(`│ MCP: ${this.padRight(mcpStatus, 22)} │`);
|
|
91
106
|
|
|
@@ -96,12 +111,6 @@ class ConfigCommand {
|
|
|
96
111
|
const cicdPlatform = config.features?.cicd || 'not configured';
|
|
97
112
|
console.log(`│ CI/CD: ${this.padRight(cicdPlatform, 22)} │`);
|
|
98
113
|
|
|
99
|
-
console.log('│ │');
|
|
100
|
-
|
|
101
|
-
// Execution strategy
|
|
102
|
-
const executionStrategy = config.execution?.strategy || 'adaptive';
|
|
103
|
-
console.log(`│ Execution: ${this.padRight(executionStrategy, 22)} │`);
|
|
104
|
-
|
|
105
114
|
// Current team
|
|
106
115
|
const currentTeam = config.teams?.current || 'base';
|
|
107
116
|
console.log(`│ Team: ${this.padRight(currentTeam, 22)} │`);
|
package/install/install.js
CHANGED
|
@@ -39,8 +39,10 @@ class Installer {
|
|
|
39
39
|
'.claude/rules',
|
|
40
40
|
'.claude/scripts',
|
|
41
41
|
'.claude/checklists',
|
|
42
|
+
'.claude/strategies',
|
|
42
43
|
'.claude/mcp',
|
|
43
44
|
'.claude/.env.example',
|
|
45
|
+
'.claude/teams.json',
|
|
44
46
|
'.claude-code'
|
|
45
47
|
];
|
|
46
48
|
|
|
@@ -345,11 +347,34 @@ ${this.colors.BOLD}Examples:${this.colors.NC}
|
|
|
345
347
|
console.log(`
|
|
346
348
|
${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
347
349
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
350
|
+
${this.colors.CYAN}1. Minimal${this.colors.NC} - Traditional development workflow
|
|
351
|
+
• Sequential agent execution (one at a time)
|
|
352
|
+
• Native tooling: npm, pip, local installs
|
|
353
|
+
• Best for: Simple projects, learning, debugging
|
|
354
|
+
• No containers or orchestration
|
|
355
|
+
|
|
356
|
+
${this.colors.CYAN}2. Docker-only${this.colors.NC} - Containerized local development
|
|
357
|
+
• Adaptive execution (smart sequential/parallel choice)
|
|
358
|
+
• Docker containers for development environment
|
|
359
|
+
• Best for: Microservices, consistent environments
|
|
360
|
+
• Local Docker only, no Kubernetes
|
|
361
|
+
|
|
362
|
+
${this.colors.GREEN}3. Full DevOps${this.colors.NC} - Complete CI/CD pipeline ${this.colors.BOLD}(RECOMMENDED)${this.colors.NC}
|
|
363
|
+
• Adaptive execution with Docker-first priority
|
|
364
|
+
• Kubernetes manifests and cloud deployment ready
|
|
365
|
+
• GitHub Actions with KIND clusters and Kaniko builds
|
|
366
|
+
• Best for: Production applications, enterprise projects
|
|
367
|
+
|
|
368
|
+
${this.colors.YELLOW}4. Performance${this.colors.NC} - Maximum parallel execution
|
|
369
|
+
• Hybrid strategy: up to 5 parallel agents
|
|
370
|
+
• Advanced context isolation and security
|
|
371
|
+
• Full DevOps capabilities with speed optimization
|
|
372
|
+
• Best for: Large projects, massive refactoring, power users
|
|
373
|
+
|
|
374
|
+
${this.colors.CYAN}5. Custom${this.colors.NC} - Manual configuration
|
|
375
|
+
• Configure execution strategy manually
|
|
376
|
+
• Choose your own agents and workflows
|
|
377
|
+
• Advanced users only
|
|
353
378
|
`);
|
|
354
379
|
|
|
355
380
|
if (process.env.AUTOPM_TEST_MODE === '1') {
|
|
@@ -304,7 +304,7 @@ class InteractiveGuide {
|
|
|
304
304
|
'🎯 Installation Complete - How to Use ClaudeAutoPM\n\n' +
|
|
305
305
|
'ClaudeAutoPM is now installed! To start using it:\n\n' +
|
|
306
306
|
'1. 📂 Open Claude Code in this directory\n' +
|
|
307
|
-
'2. 🔓 If needed: claude --
|
|
307
|
+
'2. 🔓 If needed: claude --dangerously-skip-permissions\n' +
|
|
308
308
|
'3. ✅ Test with: /pm:validate\n\n' +
|
|
309
309
|
'Then you can:\n' +
|
|
310
310
|
'• 🔧 Configure your provider (GitHub/Azure DevOps)\n' +
|
|
@@ -540,7 +540,7 @@ class InteractiveGuide {
|
|
|
540
540
|
'4. Sync with your configured provider\n\n' +
|
|
541
541
|
'🚀 Next Steps - Open Claude Code:\n\n' +
|
|
542
542
|
'1. Open Claude Code in this directory\n' +
|
|
543
|
-
'2. If needed, run: claude --
|
|
543
|
+
'2. If needed, run: claude --dangerously-skip-permissions\n' +
|
|
544
544
|
'3. Then use these PM commands:',
|
|
545
545
|
[
|
|
546
546
|
`/pm:prd-new ${featureName} --template`,
|