claude-autopm 3.2.3 → 3.3.0
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/install/install.js +81 -38
- package/package.json +1 -1
- package/packages/plugin-core/plugin.json +28 -0
- package/packages/plugin-core/rules/agent-mandatory-optimized.md +91 -0
- package/packages/plugin-core/rules/context7-enforcement-optimized.md +221 -0
- package/packages/plugin-core/rules/github-operations.md +92 -0
- package/packages/plugin-core/rules/test-execution.md +65 -0
- package/packages/plugin-pm/plugin.json +2 -3
- package/packages/plugin-pm-azure/plugin.json +81 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:COMMANDS.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:COMMAND_MAPPING.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:INTEGRATION_FIX.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:README.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:active-work.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:aliases.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:blocked-items.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:clean.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:docs-query.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-decompose.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-list.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-new.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-show.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-start.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:fix-integration-example.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:help.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:import-us.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:init.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:next-task.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:search.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:sprint-status.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:standup.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:sync-all.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-analyze.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-close.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-edit.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-list.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-new.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-reopen.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-show.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-start.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-status.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-sync.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-edit.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-list.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-new.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-parse.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-show.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-status.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:validate.md +0 -0
- /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:work-item-sync.md +0 -0
package/install/install.js
CHANGED
|
@@ -453,73 +453,91 @@ ${this.colors.YELLOW}Note:${this.colors.NC} Some installation options require ad
|
|
|
453
453
|
${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
454
454
|
`);
|
|
455
455
|
|
|
456
|
+
// Option 0: Micro (always available) - NEW ultra-light option
|
|
457
|
+
console.log(`${this.colors.CYAN}0. Micro${this.colors.NC} - Ultra-light, minimal context usage
|
|
458
|
+
• Only essential core agents (4 agents, 5 commands)
|
|
459
|
+
• Lowest context footprint (~2k tokens)
|
|
460
|
+
• Best for: Context-sensitive work, simple tasks
|
|
461
|
+
• No PM workflows, no language specialists
|
|
462
|
+
${this.colors.DIM}• Plugins: core only (1 plugin)${this.colors.NC}
|
|
463
|
+
`);
|
|
464
|
+
|
|
456
465
|
// Option 1: Minimal (always available)
|
|
457
|
-
console.log(`${this.colors.CYAN}1. Minimal${this.colors.NC} -
|
|
466
|
+
console.log(`${this.colors.CYAN}1. Minimal${this.colors.NC} - Basic development workflow
|
|
467
|
+
• Core + language specialists (9 agents, 10 commands)
|
|
458
468
|
• Sequential agent execution (one at a time)
|
|
459
|
-
• Native tooling: npm, pip, local installs
|
|
460
469
|
• Best for: Simple projects, learning, debugging
|
|
461
|
-
• No
|
|
470
|
+
• No PM workflows or containers
|
|
471
|
+
${this.colors.DIM}• Plugins: core, languages (2 plugins)${this.colors.NC}
|
|
472
|
+
`);
|
|
473
|
+
|
|
474
|
+
// Option 2: Standard (always available) - includes PM without Azure
|
|
475
|
+
console.log(`${this.colors.CYAN}2. Standard${this.colors.NC} - Development with project management
|
|
476
|
+
• Core + languages + PM workflows (~55 commands)
|
|
477
|
+
• Sequential agent execution
|
|
478
|
+
• Best for: Projects needing epic/issue tracking
|
|
479
|
+
• GitHub integration (no Azure DevOps)
|
|
462
480
|
${this.colors.DIM}• Plugins: core, languages, pm (3 plugins)${this.colors.NC}
|
|
463
481
|
`);
|
|
464
482
|
|
|
465
|
-
// Option
|
|
483
|
+
// Option 3: Docker-only (requires Docker)
|
|
466
484
|
if (availableTools.docker) {
|
|
467
|
-
console.log(`${this.colors.CYAN}
|
|
485
|
+
console.log(`${this.colors.CYAN}3. Docker-only${this.colors.NC} - Containerized local development
|
|
468
486
|
• Adaptive execution (smart sequential/parallel choice)
|
|
469
487
|
• Docker containers for development environment
|
|
470
488
|
• Best for: Microservices, consistent environments
|
|
471
|
-
•
|
|
472
|
-
${this.colors.DIM}• Plugins: core, languages, frameworks, testing, devops, pm (
|
|
489
|
+
• Full PM + Azure DevOps integration
|
|
490
|
+
${this.colors.DIM}• Plugins: core, languages, frameworks, testing, devops, pm, pm-azure (7 plugins)${this.colors.NC}
|
|
473
491
|
`);
|
|
474
492
|
} else {
|
|
475
|
-
console.log(`${this.colors.DIM}
|
|
493
|
+
console.log(`${this.colors.DIM}3. Docker-only${this.colors.NC} ${this.colors.RED}(Docker not installed)${this.colors.NC}
|
|
476
494
|
`);
|
|
477
495
|
}
|
|
478
496
|
|
|
479
|
-
// Option
|
|
497
|
+
// Option 4: Full DevOps (requires Docker and kubectl)
|
|
480
498
|
if (availableTools.docker && availableTools.kubectl) {
|
|
481
|
-
console.log(`${this.colors.GREEN}
|
|
499
|
+
console.log(`${this.colors.GREEN}4. Full DevOps${this.colors.NC} - Complete CI/CD pipeline ${this.colors.BOLD}(RECOMMENDED)${this.colors.NC}
|
|
482
500
|
• Adaptive execution with Docker-first priority
|
|
483
501
|
• Kubernetes manifests and cloud deployment ready
|
|
484
502
|
• GitHub Actions with KIND clusters and Kaniko builds
|
|
485
503
|
• Best for: Production applications, enterprise projects
|
|
486
|
-
${this.colors.DIM}• Plugins: core, languages, frameworks, testing, devops, cloud, databases, pm, ai (
|
|
504
|
+
${this.colors.DIM}• Plugins: core, languages, frameworks, testing, devops, cloud, databases, pm, pm-azure, ai (10 plugins)${this.colors.NC}
|
|
487
505
|
`);
|
|
488
506
|
} else if (availableTools.docker) {
|
|
489
|
-
console.log(`${this.colors.DIM}
|
|
507
|
+
console.log(`${this.colors.DIM}4. Full DevOps${this.colors.NC} ${this.colors.RED}(kubectl not installed)${this.colors.NC}
|
|
490
508
|
`);
|
|
491
509
|
} else {
|
|
492
|
-
console.log(`${this.colors.DIM}
|
|
510
|
+
console.log(`${this.colors.DIM}4. Full DevOps${this.colors.NC} ${this.colors.RED}(Docker and kubectl not installed)${this.colors.NC}
|
|
493
511
|
`);
|
|
494
512
|
}
|
|
495
513
|
|
|
496
|
-
// Option
|
|
514
|
+
// Option 5: Performance (requires Docker and kubectl)
|
|
497
515
|
if (availableTools.docker && availableTools.kubectl) {
|
|
498
|
-
console.log(`${this.colors.YELLOW}
|
|
516
|
+
console.log(`${this.colors.YELLOW}5. Performance${this.colors.NC} - Maximum parallel execution
|
|
499
517
|
• Hybrid strategy: up to 5 parallel agents
|
|
500
518
|
• Advanced context isolation and security
|
|
501
519
|
• Full DevOps capabilities with speed optimization
|
|
502
520
|
• Best for: Large projects, massive refactoring, power users
|
|
503
|
-
${this.colors.DIM}• Plugins: ALL
|
|
521
|
+
${this.colors.DIM}• Plugins: ALL (12 plugins including pm-azure, data, ml)${this.colors.NC}
|
|
504
522
|
`);
|
|
505
523
|
} else if (availableTools.docker) {
|
|
506
|
-
console.log(`${this.colors.DIM}
|
|
524
|
+
console.log(`${this.colors.DIM}5. Performance${this.colors.NC} ${this.colors.RED}(kubectl not installed)${this.colors.NC}
|
|
507
525
|
`);
|
|
508
526
|
} else {
|
|
509
|
-
console.log(`${this.colors.DIM}
|
|
527
|
+
console.log(`${this.colors.DIM}5. Performance${this.colors.NC} ${this.colors.RED}(Docker and kubectl not installed)${this.colors.NC}
|
|
510
528
|
`);
|
|
511
529
|
}
|
|
512
530
|
|
|
513
|
-
// Option
|
|
514
|
-
console.log(`${this.colors.CYAN}
|
|
531
|
+
// Option 6: Custom (always available)
|
|
532
|
+
console.log(`${this.colors.CYAN}6. Custom${this.colors.NC} - Manual configuration
|
|
515
533
|
• Configure execution strategy manually
|
|
516
534
|
• Choose your own agents and workflows
|
|
517
535
|
• Advanced users only
|
|
518
536
|
`);
|
|
519
537
|
|
|
520
538
|
if (process.env.AUTOPM_TEST_MODE === '1') {
|
|
521
|
-
this.printMsg('CYAN', 'Auto-selecting option
|
|
522
|
-
return '
|
|
539
|
+
this.printMsg('CYAN', 'Auto-selecting option 0 (micro) for test mode');
|
|
540
|
+
return 'micro';
|
|
523
541
|
}
|
|
524
542
|
|
|
525
543
|
const rl = readline.createInterface({
|
|
@@ -528,43 +546,48 @@ ${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
|
528
546
|
});
|
|
529
547
|
|
|
530
548
|
// Determine default based on available tools
|
|
531
|
-
const defaultChoice = availableTools.docker && availableTools.kubectl ? '
|
|
549
|
+
const defaultChoice = availableTools.docker && availableTools.kubectl ? '4' : '2';
|
|
532
550
|
|
|
533
551
|
return new Promise((resolve) => {
|
|
534
552
|
const askQuestion = () => {
|
|
535
|
-
rl.question(`${this.colors.CYAN}Enter your choice (
|
|
553
|
+
rl.question(`${this.colors.CYAN}Enter your choice (0-6) [${defaultChoice}]: ${this.colors.NC}`, (answer) => {
|
|
536
554
|
const choice = answer.trim() || defaultChoice;
|
|
537
555
|
const scenarios = {
|
|
556
|
+
'0': 'micro',
|
|
538
557
|
'1': 'minimal',
|
|
539
|
-
'2': '
|
|
540
|
-
'3': '
|
|
541
|
-
'4': '
|
|
542
|
-
'5': '
|
|
558
|
+
'2': 'standard',
|
|
559
|
+
'3': 'docker',
|
|
560
|
+
'4': 'full',
|
|
561
|
+
'5': 'performance',
|
|
562
|
+
'6': 'custom'
|
|
543
563
|
};
|
|
544
564
|
|
|
545
565
|
const selectedScenario = scenarios[choice];
|
|
546
566
|
|
|
547
567
|
// Validate choice based on available tools
|
|
548
|
-
|
|
549
|
-
|
|
568
|
+
// Option 3 (Docker-only) requires Docker
|
|
569
|
+
if (choice === '3' && !availableTools.docker) {
|
|
570
|
+
console.log(`${this.colors.RED}✗ Docker is required for this option. Please install Docker first or choose option 0-2.${this.colors.NC}`);
|
|
550
571
|
askQuestion();
|
|
551
572
|
return;
|
|
552
573
|
}
|
|
553
574
|
|
|
554
|
-
|
|
555
|
-
|
|
575
|
+
// Options 4 (Full) and 5 (Performance) require Docker
|
|
576
|
+
if ((choice === '4' || choice === '5') && !availableTools.docker) {
|
|
577
|
+
console.log(`${this.colors.RED}✗ Docker is required for this option. Please install Docker first or choose option 0-2.${this.colors.NC}`);
|
|
556
578
|
askQuestion();
|
|
557
579
|
return;
|
|
558
580
|
}
|
|
559
581
|
|
|
560
|
-
|
|
561
|
-
|
|
582
|
+
// Options 4 (Full) and 5 (Performance) require kubectl
|
|
583
|
+
if ((choice === '4' || choice === '5') && availableTools.docker && !availableTools.kubectl) {
|
|
584
|
+
console.log(`${this.colors.RED}✗ kubectl is required for this option. Please install kubectl first or choose option 3 (Docker-only).${this.colors.NC}`);
|
|
562
585
|
askQuestion();
|
|
563
586
|
return;
|
|
564
587
|
}
|
|
565
588
|
|
|
566
589
|
if (!selectedScenario) {
|
|
567
|
-
console.log(`${this.colors.RED}✗ Invalid choice. Please select
|
|
590
|
+
console.log(`${this.colors.RED}✗ Invalid choice. Please select 0-6.${this.colors.NC}`);
|
|
568
591
|
askQuestion();
|
|
569
592
|
return;
|
|
570
593
|
}
|
|
@@ -589,7 +612,27 @@ ${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
|
589
612
|
}
|
|
590
613
|
|
|
591
614
|
const configs = {
|
|
615
|
+
micro: {
|
|
616
|
+
version: version,
|
|
617
|
+
installed: new Date().toISOString(),
|
|
618
|
+
execution_strategy: 'sequential',
|
|
619
|
+
tools: {
|
|
620
|
+
docker: { enabled: false },
|
|
621
|
+
kubernetes: { enabled: false }
|
|
622
|
+
},
|
|
623
|
+
plugins: ['plugin-core']
|
|
624
|
+
},
|
|
592
625
|
minimal: {
|
|
626
|
+
version: version,
|
|
627
|
+
installed: new Date().toISOString(),
|
|
628
|
+
execution_strategy: 'sequential',
|
|
629
|
+
tools: {
|
|
630
|
+
docker: { enabled: false },
|
|
631
|
+
kubernetes: { enabled: false }
|
|
632
|
+
},
|
|
633
|
+
plugins: ['plugin-core', 'plugin-languages']
|
|
634
|
+
},
|
|
635
|
+
standard: {
|
|
593
636
|
version: version,
|
|
594
637
|
installed: new Date().toISOString(),
|
|
595
638
|
execution_strategy: 'sequential',
|
|
@@ -607,7 +650,7 @@ ${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
|
607
650
|
docker: { enabled: true, first: false },
|
|
608
651
|
kubernetes: { enabled: false }
|
|
609
652
|
},
|
|
610
|
-
plugins: ['plugin-core', 'plugin-languages', 'plugin-frameworks', 'plugin-testing', 'plugin-devops', 'plugin-pm']
|
|
653
|
+
plugins: ['plugin-core', 'plugin-languages', 'plugin-frameworks', 'plugin-testing', 'plugin-devops', 'plugin-pm', 'plugin-pm-azure']
|
|
611
654
|
},
|
|
612
655
|
full: {
|
|
613
656
|
version: version,
|
|
@@ -617,7 +660,7 @@ ${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
|
617
660
|
docker: { enabled: true, first: true },
|
|
618
661
|
kubernetes: { enabled: true }
|
|
619
662
|
},
|
|
620
|
-
plugins: ['plugin-core', 'plugin-languages', 'plugin-frameworks', 'plugin-testing', 'plugin-devops', 'plugin-cloud', 'plugin-databases', 'plugin-pm', 'plugin-ai']
|
|
663
|
+
plugins: ['plugin-core', 'plugin-languages', 'plugin-frameworks', 'plugin-testing', 'plugin-devops', 'plugin-cloud', 'plugin-databases', 'plugin-pm', 'plugin-pm-azure', 'plugin-ai']
|
|
621
664
|
},
|
|
622
665
|
performance: {
|
|
623
666
|
version: version,
|
|
@@ -628,7 +671,7 @@ ${this.colors.BOLD}Select installation scenario:${this.colors.NC}
|
|
|
628
671
|
docker: { enabled: true, first: false },
|
|
629
672
|
kubernetes: { enabled: true }
|
|
630
673
|
},
|
|
631
|
-
plugins: ['plugin-core', 'plugin-languages', 'plugin-frameworks', 'plugin-testing', 'plugin-devops', 'plugin-cloud', 'plugin-databases', 'plugin-data', 'plugin-pm', 'plugin-ai', 'plugin-ml']
|
|
674
|
+
plugins: ['plugin-core', 'plugin-languages', 'plugin-frameworks', 'plugin-testing', 'plugin-devops', 'plugin-cloud', 'plugin-databases', 'plugin-data', 'plugin-pm', 'plugin-pm-azure', 'plugin-ai', 'plugin-ml']
|
|
632
675
|
}
|
|
633
676
|
};
|
|
634
677
|
|
package/package.json
CHANGED
|
@@ -168,6 +168,34 @@
|
|
|
168
168
|
"priority": "low",
|
|
169
169
|
"description": "Frontmatter stripping utility patterns",
|
|
170
170
|
"tags": ["frontmatter", "utilities"]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "agent-mandatory-optimized",
|
|
174
|
+
"file": "rules/agent-mandatory-optimized.md",
|
|
175
|
+
"priority": "critical",
|
|
176
|
+
"description": "Mandatory agent usage (optimized version)",
|
|
177
|
+
"tags": ["agents", "enforcement", "optimized"]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"name": "context7-enforcement-optimized",
|
|
181
|
+
"file": "rules/context7-enforcement-optimized.md",
|
|
182
|
+
"priority": "critical",
|
|
183
|
+
"description": "Context7 documentation enforcement (optimized version)",
|
|
184
|
+
"tags": ["context7", "enforcement", "optimized"]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"name": "github-operations",
|
|
188
|
+
"file": "rules/github-operations.md",
|
|
189
|
+
"priority": "high",
|
|
190
|
+
"description": "GitHub CLI operations and repository protection",
|
|
191
|
+
"tags": ["github", "operations", "safety"]
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "test-execution",
|
|
195
|
+
"file": "rules/test-execution.md",
|
|
196
|
+
"priority": "high",
|
|
197
|
+
"description": "Test execution patterns and standards",
|
|
198
|
+
"tags": ["testing", "execution"]
|
|
171
199
|
}
|
|
172
200
|
],
|
|
173
201
|
"hooks": [
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Agent Usage - MANDATORY (Optimized)
|
|
2
|
+
|
|
3
|
+
<priority>HIGHEST - ZERO TOLERANCE</priority>
|
|
4
|
+
|
|
5
|
+
<core_requirement>
|
|
6
|
+
YOU MUST USE SPECIALIZED AGENTS FOR ALL NON-TRIVIAL TASKS
|
|
7
|
+
Do NOT perform complex tasks yourself
|
|
8
|
+
Use Task tool to delegate
|
|
9
|
+
</core_requirement>
|
|
10
|
+
|
|
11
|
+
<when_to_use>
|
|
12
|
+
<always>
|
|
13
|
+
Code writing|Testing|Infrastructure|Database|Analysis|GitHub ops|Large files
|
|
14
|
+
</always>
|
|
15
|
+
|
|
16
|
+
<mapping>
|
|
17
|
+
Python → python-backend-engineer
|
|
18
|
+
React → react-frontend-engineer
|
|
19
|
+
Node.js → nodejs-backend-engineer
|
|
20
|
+
Tests → test-runner|frontend-testing-engineer|e2e-test-engineer
|
|
21
|
+
K8s → kubernetes-orchestrator
|
|
22
|
+
Docker → docker-containerization-expert
|
|
23
|
+
Database → postgresql-expert|mongodb-expert|bigquery-expert
|
|
24
|
+
Review → code-analyzer
|
|
25
|
+
Logs → file-analyzer
|
|
26
|
+
GitHub → github-operations-specialist
|
|
27
|
+
Azure → azure-devops-specialist
|
|
28
|
+
</mapping>
|
|
29
|
+
|
|
30
|
+
<can_do_yourself>
|
|
31
|
+
Simple file reads (1-2 files)|Basic bash (ls, pwd, git)|Answering questions|TodoWrite
|
|
32
|
+
</can_do_yourself>
|
|
33
|
+
</when_to_use>
|
|
34
|
+
|
|
35
|
+
<violations>
|
|
36
|
+
<wrong>
|
|
37
|
+
User: "Create FastAPI endpoint"
|
|
38
|
+
You: *writes code directly*
|
|
39
|
+
</wrong>
|
|
40
|
+
|
|
41
|
+
<correct>
|
|
42
|
+
User: "Create FastAPI endpoint"
|
|
43
|
+
You: "Using @python-backend-engineer"
|
|
44
|
+
*Invokes Task tool*
|
|
45
|
+
</correct>
|
|
46
|
+
</violations>
|
|
47
|
+
|
|
48
|
+
<usage_patterns>
|
|
49
|
+
<single>
|
|
50
|
+
Task tool:
|
|
51
|
+
- subagent_type: "python-backend-engineer"
|
|
52
|
+
- description: "Create user endpoint"
|
|
53
|
+
- prompt: "Detailed requirements..."
|
|
54
|
+
</single>
|
|
55
|
+
|
|
56
|
+
<parallel>
|
|
57
|
+
Launch multiple agents IN SINGLE MESSAGE:
|
|
58
|
+
- python-backend-engineer (API)
|
|
59
|
+
- react-frontend-engineer (UI)
|
|
60
|
+
- postgresql-expert (schema)
|
|
61
|
+
</parallel>
|
|
62
|
+
</usage_patterns>
|
|
63
|
+
|
|
64
|
+
<decision_rule>
|
|
65
|
+
Before ANY complex task:
|
|
66
|
+
1. Is there a specialized agent?
|
|
67
|
+
2. Would agent do better?
|
|
68
|
+
3. Am I trying to do what I should delegate?
|
|
69
|
+
|
|
70
|
+
YES to any? → USE THE AGENT
|
|
71
|
+
When in doubt? → USE THE AGENT
|
|
72
|
+
</decision_rule>
|
|
73
|
+
|
|
74
|
+
<common_mistakes>
|
|
75
|
+
❌ Not checking Active Team Agents
|
|
76
|
+
❌ Writing code for non-trivial tasks
|
|
77
|
+
❌ Not using parallel agents
|
|
78
|
+
❌ Wrong agent for task
|
|
79
|
+
❌ Not using file-analyzer for large files
|
|
80
|
+
</common_mistakes>
|
|
81
|
+
|
|
82
|
+
<enforcement>
|
|
83
|
+
Git hooks|Code review|Self-monitoring
|
|
84
|
+
Default: YES use agent|Over-use better than under-use
|
|
85
|
+
</enforcement>
|
|
86
|
+
|
|
87
|
+
<ref>
|
|
88
|
+
Full version: .claude/rules/agent-mandatory.md
|
|
89
|
+
Quick ref: .claude/quick-ref/agent-quick-ref.md
|
|
90
|
+
Registry: .claude/agents/AGENT-REGISTRY.md
|
|
91
|
+
</ref>
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Context7 Documentation Enforcement (Optimized)
|
|
2
|
+
|
|
3
|
+
<priority>HIGHEST - ZERO TOLERANCE</priority>
|
|
4
|
+
|
|
5
|
+
<visual_reminder>
|
|
6
|
+
WHEN YOU SEE: `/pm:command` or `@agent-name`
|
|
7
|
+
|
|
8
|
+
YOU MUST:
|
|
9
|
+
1. 📖 ANNOUNCE: "Querying Context7..."
|
|
10
|
+
2. 🔍 READ command/agent file → extract Documentation Queries
|
|
11
|
+
3. 🌐 QUERY Context7 MCP for EACH listed topic
|
|
12
|
+
4. 📝 SUMMARIZE key findings
|
|
13
|
+
5. ✅ CONFIRM: "Context7 complete. Proceeding..."
|
|
14
|
+
|
|
15
|
+
<output>
|
|
16
|
+
🔒 Context7 Enforcement Active
|
|
17
|
+
|
|
18
|
+
📋 Command: /pm:epic-decompose
|
|
19
|
+
📚 Querying Context7...
|
|
20
|
+
|
|
21
|
+
➜ mcp://context7/agile/epic-decomposition
|
|
22
|
+
➜ mcp://context7/agile/task-sizing
|
|
23
|
+
➜ mcp://context7/agile/user-stories
|
|
24
|
+
|
|
25
|
+
✅ Context7 complete
|
|
26
|
+
📖 Key findings: [summary]
|
|
27
|
+
|
|
28
|
+
Proceeding with Context7 best practices...
|
|
29
|
+
</output>
|
|
30
|
+
</visual_reminder>
|
|
31
|
+
|
|
32
|
+
<prime_directive>
|
|
33
|
+
Query live documentation from Context7 BEFORE implementing
|
|
34
|
+
No implementation without Context7 query
|
|
35
|
+
No reliance on training data for technical specifics
|
|
36
|
+
No shortcuts
|
|
37
|
+
</prime_directive>
|
|
38
|
+
|
|
39
|
+
<why_critical>
|
|
40
|
+
<problems>
|
|
41
|
+
Hallucinations|API changes|Best practices drift|Version conflicts
|
|
42
|
+
Training data stale|Frameworks evolve|Deprecated patterns
|
|
43
|
+
</problems>
|
|
44
|
+
|
|
45
|
+
<benefits>
|
|
46
|
+
Always current|Verified patterns|API accuracy|Breaking changes awareness
|
|
47
|
+
Live documentation|Real examples|Current signatures|No guesswork
|
|
48
|
+
</benefits>
|
|
49
|
+
</why_critical>
|
|
50
|
+
|
|
51
|
+
<context7_cycle>
|
|
52
|
+
<query_phase>
|
|
53
|
+
1. Read command/agent file → extract Documentation Queries
|
|
54
|
+
2. Query EACH Context7 MCP link
|
|
55
|
+
3. Analyze: patterns|APIs|best practices|anti-patterns
|
|
56
|
+
4. Summarize findings before proceeding
|
|
57
|
+
</query_phase>
|
|
58
|
+
|
|
59
|
+
<implement_phase>
|
|
60
|
+
Apply Context7 patterns EXACTLY as documented
|
|
61
|
+
Use API signatures from Context7 (NOT training data)
|
|
62
|
+
Follow architectural recommendations
|
|
63
|
+
Reference Context7 in comments
|
|
64
|
+
</implement_phase>
|
|
65
|
+
|
|
66
|
+
<validate_phase>
|
|
67
|
+
Implementation matches Context7
|
|
68
|
+
No hallucinations
|
|
69
|
+
Latest conventions followed
|
|
70
|
+
Deprecation warnings addressed
|
|
71
|
+
</validate_phase>
|
|
72
|
+
</context7_cycle>
|
|
73
|
+
|
|
74
|
+
<absolute_requirements>
|
|
75
|
+
<commands>
|
|
76
|
+
MUST read "Required Documentation Access"
|
|
77
|
+
MUST query EVERY mcp:// link before execution
|
|
78
|
+
MUST summarize Context7 findings
|
|
79
|
+
MUST apply Context7 guidance
|
|
80
|
+
</commands>
|
|
81
|
+
|
|
82
|
+
<agents>
|
|
83
|
+
MUST read "Documentation Queries"
|
|
84
|
+
MUST query before technical decisions
|
|
85
|
+
MUST verify API signatures
|
|
86
|
+
MUST flag training data conflicts
|
|
87
|
+
</agents>
|
|
88
|
+
|
|
89
|
+
<implementations>
|
|
90
|
+
NO code from training data alone
|
|
91
|
+
NO assumptions without Context7
|
|
92
|
+
NO "I think this works" - VERIFY
|
|
93
|
+
NO skip for "small changes"
|
|
94
|
+
</implementations>
|
|
95
|
+
</absolute_requirements>
|
|
96
|
+
|
|
97
|
+
<prohibited>
|
|
98
|
+
❌ Implementing without querying
|
|
99
|
+
❌ "I remember" - training data stale
|
|
100
|
+
❌ Skip for "simple" tasks
|
|
101
|
+
❌ Cached knowledge vs live docs
|
|
102
|
+
❌ Proceed when query fails
|
|
103
|
+
❌ Ignore Context7 guidance
|
|
104
|
+
</prohibited>
|
|
105
|
+
|
|
106
|
+
<query_quality>
|
|
107
|
+
<do>
|
|
108
|
+
✅ Query ALL listed links
|
|
109
|
+
✅ Request specific topics
|
|
110
|
+
✅ Ask for examples + patterns
|
|
111
|
+
✅ Verify API signatures
|
|
112
|
+
✅ Check breaking changes
|
|
113
|
+
</do>
|
|
114
|
+
|
|
115
|
+
<dont>
|
|
116
|
+
❌ Skip assuming training data sufficient
|
|
117
|
+
❌ Query only one link
|
|
118
|
+
❌ Accept generic results
|
|
119
|
+
❌ Ignore version mismatches
|
|
120
|
+
</dont>
|
|
121
|
+
|
|
122
|
+
<coverage>
|
|
123
|
+
100% query rate|Complete coverage|Result validation|Stop if fails
|
|
124
|
+
</coverage>
|
|
125
|
+
</query_quality>
|
|
126
|
+
|
|
127
|
+
<command_flow>
|
|
128
|
+
User: /pm:epic-decompose feature-name
|
|
129
|
+
|
|
130
|
+
BEFORE:
|
|
131
|
+
1. Read .claude/commands/pm/epic-decompose.md
|
|
132
|
+
2. Extract Documentation Queries
|
|
133
|
+
3. Query Context7 for EACH link
|
|
134
|
+
4. Summarize: "Context7 confirms INVEST criteria..."
|
|
135
|
+
5. PROCEED with Context7 guidance
|
|
136
|
+
|
|
137
|
+
DURING:
|
|
138
|
+
Apply Context7 patterns|Reference examples|Follow best practices
|
|
139
|
+
|
|
140
|
+
AFTER:
|
|
141
|
+
Validate against Context7|Flag deviations
|
|
142
|
+
</command_flow>
|
|
143
|
+
|
|
144
|
+
<agent_flow>
|
|
145
|
+
User: @aws-cloud-architect design VPC
|
|
146
|
+
|
|
147
|
+
BEFORE:
|
|
148
|
+
1. Read .claude/agents/cloud/aws-cloud-architect.md
|
|
149
|
+
2. Extract Documentation Queries
|
|
150
|
+
3. Query Context7 for EACH link
|
|
151
|
+
4. Summarize: "Context7 shows VPC /16 for staging..."
|
|
152
|
+
5. PROCEED with Context7 knowledge
|
|
153
|
+
|
|
154
|
+
DURING:
|
|
155
|
+
Current AWS API patterns|Terraform patterns|Networking best practices
|
|
156
|
+
|
|
157
|
+
AFTER:
|
|
158
|
+
Cross-check design|No deprecated patterns
|
|
159
|
+
</agent_flow>
|
|
160
|
+
|
|
161
|
+
<violations>
|
|
162
|
+
<immediate>
|
|
163
|
+
STOP execution|IDENTIFY unverified code|DELETE stale implementation|
|
|
164
|
+
QUERY Context7|REIMPLEMENT|DOCUMENT violation
|
|
165
|
+
</immediate>
|
|
166
|
+
|
|
167
|
+
<severity>
|
|
168
|
+
Level 1 (Minor): Partial queries → Complete + validate
|
|
169
|
+
Level 2 (Moderate): No queries → Stop + query + review
|
|
170
|
+
Level 3 (Critical): Contradicts Context7 → Delete + redo
|
|
171
|
+
</severity>
|
|
172
|
+
|
|
173
|
+
<no_exceptions>
|
|
174
|
+
NO "small changes"|NO "I'm confident"|NO "Context7 slow"|NO assumptions
|
|
175
|
+
</no_exceptions>
|
|
176
|
+
</violations>
|
|
177
|
+
|
|
178
|
+
<success_metrics>
|
|
179
|
+
✅ 100% commands query Context7
|
|
180
|
+
✅ 100% agents query Context7
|
|
181
|
+
✅ Zero training-data-only implementations
|
|
182
|
+
✅ All API signatures verified
|
|
183
|
+
✅ No deprecated patterns
|
|
184
|
+
✅ Findings documented
|
|
185
|
+
</success_metrics>
|
|
186
|
+
|
|
187
|
+
<automation>
|
|
188
|
+
<hooks>
|
|
189
|
+
.claude/hooks/pre-command-context7.js - Extract + query before commands
|
|
190
|
+
.claude/hooks/pre-agent-context7.js - Extract + query before agents
|
|
191
|
+
</hooks>
|
|
192
|
+
|
|
193
|
+
<validation>
|
|
194
|
+
.claude/rules/context7-enforcement.md - Highest priority rule
|
|
195
|
+
Read on every session|Zero tolerance
|
|
196
|
+
</validation>
|
|
197
|
+
</automation>
|
|
198
|
+
|
|
199
|
+
<emergency_fallback>
|
|
200
|
+
If Context7 unavailable:
|
|
201
|
+
1. ALERT: "⚠️ Context7 MCP unavailable"
|
|
202
|
+
2. REQUEST user decision: WAIT (recommended) or PROCEED (risky)
|
|
203
|
+
3. DOCUMENT: // WARNING: No Context7 verification - MCP unavailable
|
|
204
|
+
4. FLAG: TODO re-verify when available
|
|
205
|
+
|
|
206
|
+
DO NOT:
|
|
207
|
+
❌ Silently proceed
|
|
208
|
+
❌ Assume training data sufficient
|
|
209
|
+
❌ Skip queries
|
|
210
|
+
</emergency_fallback>
|
|
211
|
+
|
|
212
|
+
<final_reminder>
|
|
213
|
+
Context7 is MANDATORY for EVERY command and agent execution.
|
|
214
|
+
Training data becomes stale. APIs change. Best practices evolve.
|
|
215
|
+
Context7 keeps us current. Query it. Every. Single. Time.
|
|
216
|
+
</final_reminder>
|
|
217
|
+
|
|
218
|
+
<ref>
|
|
219
|
+
Full version: .claude/rules/context7-enforcement.md
|
|
220
|
+
Quick ref: .claude/quick-ref/context7-queries.md
|
|
221
|
+
</ref>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# GitHub Operations Rule
|
|
2
|
+
|
|
3
|
+
Standard patterns for GitHub CLI operations across all commands.
|
|
4
|
+
|
|
5
|
+
## CRITICAL: Repository Protection
|
|
6
|
+
|
|
7
|
+
**Before ANY GitHub operation that creates/modifies issues or PRs:**
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Check if remote origin is the AutoPM template repository
|
|
11
|
+
remote_url=$(git remote get-url origin 2>/dev/null || echo "")
|
|
12
|
+
if [[ "$remote_url" == *"rlagowski/autopm"* ]] || [[ "$remote_url" == *"rlagowski/autopm.git"* ]]; then
|
|
13
|
+
echo "❌ ERROR: You're trying to sync with the AutoPM template repository!"
|
|
14
|
+
echo ""
|
|
15
|
+
echo "This repository (rlagowski/autopm) is a template for others to use."
|
|
16
|
+
echo "You should NOT create issues or PRs here."
|
|
17
|
+
echo ""
|
|
18
|
+
echo "To fix this:"
|
|
19
|
+
echo "1. Fork this repository to your own GitHub account"
|
|
20
|
+
echo "2. Update your remote origin:"
|
|
21
|
+
echo " git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO.git"
|
|
22
|
+
echo ""
|
|
23
|
+
echo "Or if this is a new project:"
|
|
24
|
+
echo "1. Create a new repository on GitHub"
|
|
25
|
+
echo "2. Update your remote origin:"
|
|
26
|
+
echo " git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO.git"
|
|
27
|
+
echo ""
|
|
28
|
+
echo "Current remote: $remote_url"
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
This check MUST be performed in ALL commands that:
|
|
34
|
+
|
|
35
|
+
- Create issues (`gh issue create`)
|
|
36
|
+
- Edit issues (`gh issue edit`)
|
|
37
|
+
- Comment on issues (`gh issue comment`)
|
|
38
|
+
- Create PRs (`gh pr create`)
|
|
39
|
+
- Any other operation that modifies the GitHub repository
|
|
40
|
+
|
|
41
|
+
## Authentication
|
|
42
|
+
|
|
43
|
+
**Don't pre-check authentication.** Just run the command and handle failure:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
gh {command} || echo "❌ GitHub CLI failed. Run: gh auth login"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Common Operations
|
|
50
|
+
|
|
51
|
+
### Get Issue Details
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
gh issue view {number} --json state,title,labels,body
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Create Issue
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# ALWAYS check remote origin first!
|
|
61
|
+
gh issue create --title "{title}" --body-file {file} --label "{labels}"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Update Issue
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# ALWAYS check remote origin first!
|
|
68
|
+
gh issue edit {number} --add-label "{label}" --add-assignee @me
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Add Comment
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# ALWAYS check remote origin first!
|
|
75
|
+
gh issue comment {number} --body-file {file}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Error Handling
|
|
79
|
+
|
|
80
|
+
If any gh command fails:
|
|
81
|
+
|
|
82
|
+
1. Show clear error: "❌ GitHub operation failed: {command}"
|
|
83
|
+
2. Suggest fix: "Run: gh auth login" or check issue number
|
|
84
|
+
3. Don't retry automatically
|
|
85
|
+
|
|
86
|
+
## Important Notes
|
|
87
|
+
|
|
88
|
+
- **ALWAYS** check remote origin before ANY write operation to GitHub
|
|
89
|
+
- Trust that gh CLI is installed and authenticated
|
|
90
|
+
- Use --json for structured output when parsing
|
|
91
|
+
- Keep operations atomic - one gh command per action
|
|
92
|
+
- Don't check rate limits preemptively
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Test Execution Rule
|
|
2
|
+
|
|
3
|
+
Standard patterns for running tests across all testing commands.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
1. **Always use test-runner agent** from `.claude/agents/test-runner.md`
|
|
8
|
+
2. **No mocking** - use real services for accurate results
|
|
9
|
+
3. **Verbose output** - capture everything for debugging
|
|
10
|
+
4. **Check test structure first** - before assuming code bugs
|
|
11
|
+
|
|
12
|
+
## Execution Pattern
|
|
13
|
+
|
|
14
|
+
```markdown
|
|
15
|
+
Execute tests for: {target}
|
|
16
|
+
|
|
17
|
+
Requirements:
|
|
18
|
+
- Run with verbose output
|
|
19
|
+
- No mock services
|
|
20
|
+
- Capture full stack traces
|
|
21
|
+
- Analyze test structure if failures occur
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Output Focus
|
|
25
|
+
|
|
26
|
+
### Success
|
|
27
|
+
|
|
28
|
+
Keep it simple:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
✅ All tests passed ({count} tests in {time}s)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Failure
|
|
35
|
+
|
|
36
|
+
Focus on what failed:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
❌ Test failures: {count}
|
|
40
|
+
|
|
41
|
+
{test_name} - {file}:{line}
|
|
42
|
+
Error: {message}
|
|
43
|
+
Fix: {suggestion}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Common Issues
|
|
47
|
+
|
|
48
|
+
- Test not found → Check file path
|
|
49
|
+
- Timeout → Kill process, report incomplete
|
|
50
|
+
- Framework missing → Install dependencies
|
|
51
|
+
|
|
52
|
+
## Cleanup
|
|
53
|
+
|
|
54
|
+
Always clean up after tests:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pkill -f "jest|mocha|pytest" 2>/dev/null || true
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Important Notes
|
|
61
|
+
|
|
62
|
+
- Don't parallelize tests (avoid conflicts)
|
|
63
|
+
- Let each test complete fully
|
|
64
|
+
- Report failures with actionable fixes
|
|
65
|
+
- Focus output on failures, not successes
|
|
@@ -811,21 +811,20 @@
|
|
|
811
811
|
"commands": [
|
|
812
812
|
{
|
|
813
813
|
"subdirectory": "commands/",
|
|
814
|
-
"description": "PM workflow commands (
|
|
814
|
+
"description": "PM workflow commands (46 total)",
|
|
815
815
|
"type": "collection",
|
|
816
816
|
"categories": {
|
|
817
817
|
"pm": "Core PM commands (45)",
|
|
818
|
-
"azure": "Azure DevOps integration commands (41)",
|
|
819
818
|
"github": "GitHub workflow commands (1)"
|
|
820
819
|
},
|
|
821
820
|
"discovery": "auto",
|
|
821
|
+
"exclude": ["azure"],
|
|
822
822
|
"tags": [
|
|
823
823
|
"pm",
|
|
824
824
|
"workflows",
|
|
825
825
|
"epic",
|
|
826
826
|
"task",
|
|
827
827
|
"issue",
|
|
828
|
-
"azure",
|
|
829
828
|
"github"
|
|
830
829
|
]
|
|
831
830
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@claudeautopm/plugin-pm-azure",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"schemaVersion": "2.0",
|
|
5
|
+
"displayName": "Azure DevOps Integration",
|
|
6
|
+
"description": "Azure DevOps integration plugin with work items, sprints, features, user stories, and task management",
|
|
7
|
+
"category": "project-management",
|
|
8
|
+
"metadata": {
|
|
9
|
+
"category": "Project Management",
|
|
10
|
+
"author": "ClaudeAutoPM Team",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"homepage": "https://github.com/rafeekpro/ClaudeAutoPM",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/rafeekpro/ClaudeAutoPM.git",
|
|
16
|
+
"directory": "packages/plugin-pm-azure"
|
|
17
|
+
},
|
|
18
|
+
"size": "~12 KB (gzipped)",
|
|
19
|
+
"required": false,
|
|
20
|
+
"tags": [
|
|
21
|
+
"azure-devops",
|
|
22
|
+
"work-items",
|
|
23
|
+
"sprints",
|
|
24
|
+
"agile",
|
|
25
|
+
"integration"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"commands": [
|
|
29
|
+
{
|
|
30
|
+
"subdirectory": "commands/azure/",
|
|
31
|
+
"description": "Azure DevOps integration commands (41 total)",
|
|
32
|
+
"type": "collection",
|
|
33
|
+
"categories": {
|
|
34
|
+
"azure": "Azure DevOps work item management"
|
|
35
|
+
},
|
|
36
|
+
"discovery": "auto",
|
|
37
|
+
"tags": [
|
|
38
|
+
"azure",
|
|
39
|
+
"devops",
|
|
40
|
+
"work-items",
|
|
41
|
+
"sprints",
|
|
42
|
+
"features",
|
|
43
|
+
"user-stories",
|
|
44
|
+
"tasks"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"features": {
|
|
49
|
+
"azure_devops_integration": {
|
|
50
|
+
"enabled": true,
|
|
51
|
+
"description": "Full Azure DevOps work item management"
|
|
52
|
+
},
|
|
53
|
+
"sprint_management": {
|
|
54
|
+
"enabled": true,
|
|
55
|
+
"description": "Sprint planning and tracking"
|
|
56
|
+
},
|
|
57
|
+
"feature_decomposition": {
|
|
58
|
+
"enabled": true,
|
|
59
|
+
"description": "Feature breakdown into user stories and tasks"
|
|
60
|
+
},
|
|
61
|
+
"work_item_sync": {
|
|
62
|
+
"enabled": true,
|
|
63
|
+
"description": "Bidirectional sync with Azure DevOps"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"dependencies": [],
|
|
67
|
+
"peerPlugins": [
|
|
68
|
+
"@claudeautopm/plugin-core",
|
|
69
|
+
"@claudeautopm/plugin-pm"
|
|
70
|
+
],
|
|
71
|
+
"keywords": [
|
|
72
|
+
"claudeautopm",
|
|
73
|
+
"azure-devops",
|
|
74
|
+
"work-items",
|
|
75
|
+
"sprints",
|
|
76
|
+
"agile",
|
|
77
|
+
"project-management",
|
|
78
|
+
"integration"
|
|
79
|
+
],
|
|
80
|
+
"compatibleWith": ">=3.0.0"
|
|
81
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:fix-integration-example.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|