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.
Files changed (50) hide show
  1. package/install/install.js +81 -38
  2. package/package.json +1 -1
  3. package/packages/plugin-core/plugin.json +28 -0
  4. package/packages/plugin-core/rules/agent-mandatory-optimized.md +91 -0
  5. package/packages/plugin-core/rules/context7-enforcement-optimized.md +221 -0
  6. package/packages/plugin-core/rules/github-operations.md +92 -0
  7. package/packages/plugin-core/rules/test-execution.md +65 -0
  8. package/packages/plugin-pm/plugin.json +2 -3
  9. package/packages/plugin-pm-azure/plugin.json +81 -0
  10. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:COMMANDS.md +0 -0
  11. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:COMMAND_MAPPING.md +0 -0
  12. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:INTEGRATION_FIX.md +0 -0
  13. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:README.md +0 -0
  14. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:active-work.md +0 -0
  15. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:aliases.md +0 -0
  16. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:blocked-items.md +0 -0
  17. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:clean.md +0 -0
  18. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:docs-query.md +0 -0
  19. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-decompose.md +0 -0
  20. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-list.md +0 -0
  21. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-new.md +0 -0
  22. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-show.md +0 -0
  23. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:feature-start.md +0 -0
  24. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:fix-integration-example.md +0 -0
  25. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:help.md +0 -0
  26. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:import-us.md +0 -0
  27. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:init.md +0 -0
  28. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:next-task.md +0 -0
  29. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:search.md +0 -0
  30. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:sprint-status.md +0 -0
  31. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:standup.md +0 -0
  32. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:sync-all.md +0 -0
  33. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-analyze.md +0 -0
  34. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-close.md +0 -0
  35. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-edit.md +0 -0
  36. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-list.md +0 -0
  37. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-new.md +0 -0
  38. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-reopen.md +0 -0
  39. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-show.md +0 -0
  40. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-start.md +0 -0
  41. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-status.md +0 -0
  42. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:task-sync.md +0 -0
  43. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-edit.md +0 -0
  44. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-list.md +0 -0
  45. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-new.md +0 -0
  46. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-parse.md +0 -0
  47. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-show.md +0 -0
  48. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:us-status.md +0 -0
  49. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:validate.md +0 -0
  50. /package/packages/{plugin-pm → plugin-pm-azure}/commands/azure/azure:work-item-sync.md +0 -0
@@ -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} - Traditional development workflow
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 containers or orchestration
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 2: Docker-only (requires Docker)
483
+ // Option 3: Docker-only (requires Docker)
466
484
  if (availableTools.docker) {
467
- console.log(`${this.colors.CYAN}2. Docker-only${this.colors.NC} - Containerized local development
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
- Local Docker only, no Kubernetes
472
- ${this.colors.DIM}• Plugins: core, languages, frameworks, testing, devops, pm (6 plugins)${this.colors.NC}
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}2. Docker-only${this.colors.NC} ${this.colors.RED}(Docker not installed)${this.colors.NC}
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 3: Full DevOps (requires Docker and kubectl)
497
+ // Option 4: Full DevOps (requires Docker and kubectl)
480
498
  if (availableTools.docker && availableTools.kubectl) {
481
- console.log(`${this.colors.GREEN}3. Full DevOps${this.colors.NC} - Complete CI/CD pipeline ${this.colors.BOLD}(RECOMMENDED)${this.colors.NC}
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 (9 plugins)${this.colors.NC}
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}3. Full DevOps${this.colors.NC} ${this.colors.RED}(kubectl not installed)${this.colors.NC}
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}3. Full DevOps${this.colors.NC} ${this.colors.RED}(Docker and kubectl not installed)${this.colors.NC}
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 4: Performance (requires Docker and kubectl)
514
+ // Option 5: Performance (requires Docker and kubectl)
497
515
  if (availableTools.docker && availableTools.kubectl) {
498
- console.log(`${this.colors.YELLOW}4. Performance${this.colors.NC} - Maximum parallel execution
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 - core, languages, frameworks, testing, devops, cloud, databases, data, pm, ai, ml (11 plugins)${this.colors.NC}
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}4. Performance${this.colors.NC} ${this.colors.RED}(kubectl not installed)${this.colors.NC}
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}4. Performance${this.colors.NC} ${this.colors.RED}(Docker and kubectl not installed)${this.colors.NC}
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 5: Custom (always available)
514
- console.log(`${this.colors.CYAN}5. Custom${this.colors.NC} - Manual configuration
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 1 for test mode');
522
- return 'minimal';
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 ? '3' : '1';
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 (1-5) [${defaultChoice}]: ${this.colors.NC}`, (answer) => {
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': 'docker',
540
- '3': 'full',
541
- '4': 'performance',
542
- '5': 'custom'
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
- if (choice === '2' && !availableTools.docker) {
549
- console.log(`${this.colors.RED}✗ Docker is required for this option. Please install Docker first or choose option 1 (Minimal).${this.colors.NC}`);
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
- if ((choice === '3' || choice === '4') && !availableTools.docker) {
555
- console.log(`${this.colors.RED}✗ Docker is required for this option. Please install Docker first or choose option 1 (Minimal).${this.colors.NC}`);
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
- if ((choice === '3' || choice === '4') && availableTools.docker && !availableTools.kubectl) {
561
- console.log(`${this.colors.RED}✗ kubectl is required for this option. Please install kubectl first or choose option 2 (Docker-only).${this.colors.NC}`);
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 1-5.${this.colors.NC}`);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-autopm",
3
- "version": "3.2.3",
3
+ "version": "3.3.0",
4
4
  "description": "Autonomous Project Management Framework for Claude Code - Advanced AI-powered development automation",
5
5
  "main": "bin/autopm.js",
6
6
  "workspaces": [
@@ -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 (87 total)",
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
+ }