specweave 0.10.0 → 0.11.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 (28) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CLAUDE.md +55 -93
  3. package/dist/cli/commands/init.d.ts.map +1 -1
  4. package/dist/cli/commands/init.js +98 -59
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  7. package/dist/cli/helpers/issue-tracker/index.js +39 -0
  8. package/dist/cli/helpers/issue-tracker/index.js.map +1 -1
  9. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
  10. package/dist/cli/helpers/issue-tracker/jira.js +2 -9
  11. package/dist/cli/helpers/issue-tracker/jira.js.map +1 -1
  12. package/dist/utils/external-resource-validator.d.ts.map +1 -1
  13. package/dist/utils/external-resource-validator.js +44 -25
  14. package/dist/utils/external-resource-validator.js.map +1 -1
  15. package/package.json +1 -1
  16. package/plugins/specweave/skills/SKILLS-INDEX.md +23 -2
  17. package/plugins/specweave/skills/increment-planner/SKILL.md +13 -92
  18. package/plugins/specweave/skills/plugin-installer/SKILL.md +355 -0
  19. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +2 -0
  20. package/plugins/specweave-ado/commands/specweave-ado-sync.md +102 -9
  21. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +7 -3
  22. package/plugins/specweave-github/agents/github-manager/AGENT.md +14 -4
  23. package/plugins/specweave-github/commands/specweave-github-sync.md +60 -11
  24. package/plugins/specweave-github/skills/github-sync/SKILL.md +3 -1
  25. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +18 -8
  26. package/plugins/specweave-jira/commands/specweave-jira-sync.md +62 -19
  27. package/plugins/specweave-jira/skills/jira-resource-validator/SKILL.md +120 -57
  28. package/plugins/specweave-jira/skills/jira-sync/SKILL.md +5 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.6.1",
3
+ "version": "0.11.0",
4
4
  "description": "SpecWeave - Spec-Driven Development Framework. PM-led planning, intelligent model selection, living documentation, multi-tool support.",
5
5
  "owner": {
6
6
  "name": "Anton Abyzov",
@@ -12,7 +12,7 @@
12
12
  "description": "SpecWeave framework - increment lifecycle, living docs, PM-led planning",
13
13
  "source": "./plugins/specweave",
14
14
  "category": "development",
15
- "version": "0.6.1",
15
+ "version": "0.11.0",
16
16
  "author": {
17
17
  "name": "Anton Abyzov",
18
18
  "email": "anton@spec-weave.com"
package/CLAUDE.md CHANGED
@@ -681,10 +681,10 @@ my-project/
681
681
  - ✅ Strategy docs are project-level, not module-level
682
682
  - ✅ Living docs sync works best with one central location
683
683
 
684
- **Plugin Detection**:
685
- - ✅ Four-phase detection assumes one `.specweave/` folder
686
- - ✅ Auto-detection scans from root only
687
- - ✅ No ambiguity about where plugins are enabled
684
+ **Plugin Installation**:
685
+ - ✅ ALL plugins installed automatically during `specweave init`
686
+ - ✅ No selective loading or detection needed
687
+ - ✅ Full capabilities available immediately
688
688
 
689
689
  **Prevents Chaos**:
690
690
  - ❌ Nested folders cause: Which is the source of truth?
@@ -842,7 +842,7 @@ if (parentSpecweave) {
842
842
  - Domain expertise (ML, payments) = separate plugins
843
843
  - Core plugin = only increment lifecycle + living docs automation
844
844
 
845
- ### Available Plugins (Opt-In)
845
+ ### Available Plugins (All Auto-Installed)
846
846
 
847
847
  **Implemented Plugins**:
848
848
 
@@ -891,20 +891,22 @@ if (parentSpecweave) {
891
891
  | **jira-sync** | 1 | 1 | 2 | JIRA project tracking |
892
892
  | **ado-sync** | 1 | 1 | 2 | Azure DevOps tracking |
893
893
 
894
- ### Context Efficiency Examples
894
+ ### Context Efficiency
895
895
 
896
- **Before** - Monolithic approach:
897
- - Simple React app: Loads ALL 44 skills + 20 agents ≈ **50K tokens**
898
- - Backend API: Loads ALL 44 skills + 20 agents ≈ **50K tokens**
899
- - ML pipeline: Loads ALL 44 skills + 20 agents ≈ **50K tokens**
896
+ **All plugins are installed, but only relevant skills activate based on context**. Claude Code's native skill system ensures:
897
+ - Skills only activate when their description keywords match the conversation
898
+ - Agents only load when explicitly invoked
899
+ - Commands only appear when relevant
900
900
 
901
- **After** - Modular plugin architecture:
902
- - Simple React app: Core + frontend-stack + github **16K tokens** (68% reduction!)
903
- - Backend API: Core + nodejs-backend + github **15K tokens** (70% reduction!)
904
- - ML pipeline: Core + ml-ops + github **18K tokens** (64% reduction!)
905
- - SpecWeave itself: Core + github + diagrams ≈ **15K tokens** (70% reduction!)
901
+ **Example**: Working on a React frontend:
902
+ - `specweave-frontend` skills activate (React, Next.js, design systems)
903
+ - `specweave-github` skills activate (if mentioning GitHub)
904
+ - `specweave-ml` skills stay dormant (ML keywords not detected)
905
+ - `specweave-payments` skills stay dormant (Stripe not mentioned)
906
906
 
907
- ### How Plugins Are Loaded (Intelligent Auto-Loading)
907
+ **Result**: Even with 19+ plugins installed, you only "pay" (in tokens) for what you're actively using in the conversation.
908
+
909
+ ### How Plugins Are Loaded (All Plugins Installed Upfront)
908
910
 
909
911
  **SpecWeave's plugin system is designed to be intelligent and non-intrusive:**
910
912
 
@@ -932,81 +934,43 @@ When you run `specweave init`:
932
934
  - Claude Code automatically discovers plugins from GitHub
933
935
  - No manual `/plugin marketplace add` needed!
934
936
 
935
- 2. ✅ **Core Plugin Auto-Installation**
936
- - Automatically runs: `claude plugin marketplace add` and `claude plugin install specweave`
937
+ 2. ✅ **ALL Plugins Auto-Installation** (Breaking Change: No Selective Loading!)
938
+ - Automatically installs ALL 19+ plugins from marketplace.json
937
939
  - Works via CLI during init (uses user's shell to access `claude` command)
938
- - Slash commands available IMMEDIATELY - no manual install!
939
- - Success message: "✔ SpecWeave core plugin installed automatically!"
940
+ - Installation process:
941
+ 1. Removes existing marketplace (if present)
942
+ 2. Re-adds marketplace from GitHub (always fresh)
943
+ 3. Reads marketplace.json to get list of all plugins
944
+ 4. Installs each plugin via `claude plugin install {name}`
945
+ 5. Reports success/failure for each plugin
946
+ - All slash commands available IMMEDIATELY - no manual install needed!
947
+ - Success message: "✔ Installed: 19/19 plugins"
940
948
  - Graceful fallback: If CLI unavailable, shows manual install instructions
941
-
942
- 3. ✅ **Issue Tracker Plugin Auto-Installation** (NEW! v0.8.18+)
943
- - Detects GitHub/Jira/Azure DevOps from project structure
944
- - Prompts for credentials (API tokens, PATs)
945
- - **Automatically installs** corresponding plugin (specweave-github, specweave-jira, specweave-ado)
946
- - Happens AFTER marketplace registration (ensures plugin installation succeeds)
947
- - Shows detailed error messages if auto-install fails
948
- - Example: Jira detected → credentials saved → `specweave-jira` plugin installed automatically
949
-
950
- 4. ℹ️ **Optional Plugins Available**
951
- - Suggested based on project type (frontend, backend, infrastructure)
952
- - User can install later via `/plugin install specweave-{name}`
949
+ - **No selective loading**: Everything installed upfront for full capabilities
953
950
 
954
951
  **Key Architectural Change**:
955
952
  - ❌ Old: Copied `.claude-plugin/` + `plugins/` to every project (~2MB bloat)
956
953
  - ✅ New: Reference GitHub marketplace (~2KB settings.json, always up-to-date)
957
954
 
958
- #### Phase 2: Increment Planning (Intelligent Plugin Detection)
959
-
960
- When you create increments (e.g., `/specweave:increment "Add Stripe billing"`):
961
-
962
- 1. **Spec Analysis** (v0.6.0+, Enhanced v0.8.18+)
963
- - increment-planner skill scans spec.md content
964
- - Detects keywords: "Stripe", "GitHub", "Kubernetes", "React", etc.
965
- - Maps keywords → required plugins (see Step 6 in increment-planner/SKILL.md)
966
-
967
- 2. **🚨 AUTOMATIC Plugin Recommendation** (Enhanced v0.8.18+)
968
- ```
969
- 🔌 Detected plugin requirements from spec content:
970
-
971
- REQUIRED (will significantly improve implementation):
972
- • specweave-payments - Stripe integration
973
- Detected: "billing", "Stripe", "subscriptions"
974
- Provides: Stripe expert agent, payment flow validation, webhook handling
975
- → Without this: Manual Stripe integration, no validation
955
+ #### Phase 2: Implementation (All Plugins Ready)
976
956
 
977
- 📦 Install recommended plugins:
978
- /plugin install specweave-payments
979
-
980
- 💡 Benefits:
981
- • Plugins provide specialized AI agents (Stripe expert, etc.)
982
- • Skills auto-activate based on context (zero manual invocation)
983
- • 70%+ context reduction (only load what you need)
984
- • Best practices built-in (from real-world experience)
985
-
986
- Would you like me to wait while you install these plugins? (Recommended)
987
- Or shall I continue without them? (Limited capabilities)
988
- ```
989
-
990
- 3. **User Decision**
991
- - Install now → Plugin activates immediately (skills available during implementation)
992
- - Install later → Skills won't be available until plugin installed (can add mid-work)
993
- - Skip → Increment creation continues (not blocked, but capabilities limited)
994
-
995
- #### Phase 3: Implementation (Auto-Activation)
996
-
997
- When plugins are installed:
957
+ After `specweave init`, ALL plugins are already installed. No additional steps needed!
998
958
 
999
959
  1. **Skills Auto-Activate**
1000
960
  - Based on description keywords (Claude Code native behavior)
1001
961
  - No manual invocation needed
1002
962
  - Example: Mention "GitHub" → github-sync skill activates
1003
963
 
1004
- 2. **Context Efficiency**
1005
- - Only loaded plugins consume tokens
1006
- - 70%+ reduction vs. monolithic approach
1007
- - Real-time: Simple React app = 16K tokens (was 50K in v0.3.7)
964
+ 2. **All Capabilities Available**
965
+ - GitHub integration: `/specweave-github:sync`
966
+ - JIRA integration: `/specweave-jira:sync`
967
+ - Documentation preview: `/specweave:docs preview`
968
+ - Frontend tools: React, Next.js, design systems
969
+ - Backend tools: Node.js, Python, .NET
970
+ - Infrastructure: Kubernetes, Helm, monitoring
971
+ - ...and 19+ more plugins ready to use!
1008
972
 
1009
- #### Phase 4: First Increment Completion (Documentation Preview)
973
+ #### Phase 3: First Increment Completion (Documentation Preview)
1010
974
 
1011
975
  After completing your first increment:
1012
976
 
@@ -1043,29 +1007,27 @@ After completing your first increment:
1043
1007
  - Mermaid diagrams rendered automatically
1044
1008
  - Share docs with stakeholders (export static site)
1045
1009
 
1046
- ### Manual Plugin Management
1010
+ ### Plugin Management
1047
1011
 
1048
- All plugin management happens through Claude Code's native commands:
1012
+ **All 19+ plugins are automatically installed during `specweave init`**. You rarely need to manage plugins manually, but Claude Code's native commands are available if needed:
1049
1013
 
1050
1014
  ```bash
1051
- # List installed plugins
1015
+ # List installed plugins (should show all 19+ SpecWeave plugins)
1052
1016
  /plugin list --installed
1053
1017
 
1054
- # Install a specific plugin
1055
- /plugin install specweave-kubernetes
1056
-
1057
- # Uninstall a plugin
1018
+ # Uninstall a plugin (not recommended - breaks functionality)
1058
1019
  /plugin uninstall specweave-kubernetes
1059
1020
 
1060
- # List all available plugins from marketplace
1061
- /plugin list specweave
1021
+ # Reinstall all plugins (if you uninstalled something by mistake)
1022
+ specweave init . # Re-runs full installation
1062
1023
  ```
1063
1024
 
1064
1025
  **Key Insight**: SpecWeave uses **ONLY** Claude Code's native plugin system:
1026
+ - ALL plugins installed automatically during init (no manual selection)
1065
1027
  - Plugins install globally via `/plugin install specweave-{name}`
1066
1028
  - Work across ALL projects (like VS Code extensions)
1067
1029
  - Auto-activate based on skills' description keywords
1068
- - Managed by Claude Code (updates, uninstall, etc.)
1030
+ - Managed by Claude Code (updates handled via `specweave init` re-run)
1069
1031
 
1070
1032
  ### Development vs Production Setup
1071
1033
 
@@ -2076,10 +2038,10 @@ ls -1 .specweave/increments/ | grep -E '^[0-9]{4}' | wc -l
2076
2038
 
2077
2039
  ```
2078
2040
  SpecWeave = Collection of Claude Code Plugins
2079
- ├── specweave (auto-loaded) ← The "framework" IS a plugin
2080
- ├── specweave-github (opt-in)
2081
- ├── specweave-figma (opt-in)
2082
- └── ...all other plugins (opt-in)
2041
+ ├── specweave (auto-installed) ← The "framework" IS a plugin
2042
+ ├── specweave-github (auto-installed)
2043
+ ├── specweave-figma (auto-installed)
2044
+ └── ...all 19+ plugins (auto-installed)
2083
2045
  ```
2084
2046
 
2085
2047
  **What this means**:
@@ -2106,7 +2068,7 @@ SpecWeave = Collection of Claude Code Plugins
2106
2068
  **Discovery**:
2107
2069
  - Browse all plugins: `ls plugins/` or check [.claude-plugin/marketplace.json](/.claude-plugin/marketplace.json)
2108
2070
  - Live catalog: See `.claude-plugin/README.md` for current marketplace contents
2109
- - Auto-detection during `specweave init` suggests relevant plugins
2071
+ - **All plugins automatically installed** during `specweave init` (no manual selection needed)
2110
2072
 
2111
2073
  **Plugin Structure** (all follow same pattern):
2112
2074
  ```
@@ -2118,8 +2080,8 @@ plugins/specweave-{name}/
2118
2080
  └── lib/ # TypeScript utilities (optional)
2119
2081
  ```
2120
2082
 
2121
- **Key Plugins** (for reference):
2122
- - `specweave` - Framework essentials (always loaded)
2083
+ **Key Plugins** (for reference - all auto-installed):
2084
+ - `specweave` - Framework essentials
2123
2085
  - `specweave-github` - GitHub Issues integration
2124
2086
  - `specweave-{frontend|backend|infrastructure}` - Tech stack plugins
2125
2087
 
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAoBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA6qBf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAoBA,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA+tBf"}
@@ -441,7 +441,35 @@ export async function initCommand(projectName, options = {}) {
441
441
  enableDocsPreview = response.enableDocsPreview;
442
442
  if (enableDocsPreview) {
443
443
  console.log(chalk.green(' ✔ Documentation preview enabled'));
444
- console.log(chalk.gray(' → Preview with: /specweave:docs preview'));
444
+ // 🚨 CRITICAL FIX: Actually install the docs-preview plugin!
445
+ // User said Yes → Install plugin immediately (like issue tracker setup)
446
+ if (detectClaudeCli()) {
447
+ console.log(chalk.gray(' → Installing specweave-docs-preview plugin...'));
448
+ try {
449
+ const result = execFileNoThrowSync('claude', [
450
+ 'plugin',
451
+ 'install',
452
+ 'specweave-docs-preview' // NO @marketplace suffix
453
+ ]);
454
+ if (result.success) {
455
+ console.log(chalk.green(' ✔ specweave-docs-preview plugin installed'));
456
+ console.log(chalk.gray(' → Preview with: /specweave:docs preview'));
457
+ }
458
+ else {
459
+ console.log(chalk.yellow(' ⚠️ Plugin install failed (can install later)'));
460
+ console.log(chalk.gray(' → Try manually: /plugin install specweave-docs-preview'));
461
+ }
462
+ }
463
+ catch (error) {
464
+ console.log(chalk.yellow(' ⚠️ Plugin install failed (can install later)'));
465
+ console.log(chalk.gray(' → Try manually: /plugin install specweave-docs-preview'));
466
+ }
467
+ }
468
+ else {
469
+ console.log(chalk.gray(' → Preview with: /specweave:docs preview'));
470
+ console.log(chalk.yellow(' ⚠️ Claude CLI not detected - install plugin manually:'));
471
+ console.log(chalk.gray(' → /plugin install specweave-docs-preview'));
472
+ }
445
473
  }
446
474
  else {
447
475
  console.log(chalk.gray(' → Skipped (can enable later in .specweave/config.json)'));
@@ -468,7 +496,7 @@ export async function initCommand(projectName, options = {}) {
468
496
  // Non-critical - show manual instructions in next steps
469
497
  console.warn(chalk.yellow(`\n${locale.t('cli', 'init.warnings.pluginAutoSetupFailed')}`));
470
498
  }
471
- // 15. AUTO-INSTALL CORE PLUGIN via Claude CLI (Secure + Cross-Platform)
499
+ // 15. AUTO-INSTALL ALL PLUGINS via Claude CLI (Breaking Change: No selective loading)
472
500
  // Pre-flight check: Is Claude CLI available? (ROBUST CHECK)
473
501
  const claudeStatus = detectClaudeCli();
474
502
  if (!claudeStatus.available) {
@@ -528,12 +556,10 @@ export async function initCommand(projectName, options = {}) {
528
556
  autoInstallSucceeded = false;
529
557
  }
530
558
  else {
531
- // Claude CLI available → attempt secure auto-install
559
+ // Claude CLI available → install ALL plugins from marketplace
532
560
  try {
533
- spinner.start('Installing SpecWeave core plugin...');
534
- // Step 1: PROACTIVE marketplace management - check if exists, remove if needed, then re-add
535
- // ✅ This runs REGARDLESS of whether project has local .claude-plugin/
536
- // ✅ Uses SpecWeave package's .claude-plugin folder as marketplace source
561
+ // Step 1: FORCE marketplace refresh - remove and re-add from GitHub
562
+ spinner.start('Refreshing SpecWeave marketplace...');
537
563
  const listResult = execFileNoThrowSync('claude', [
538
564
  'plugin',
539
565
  'marketplace',
@@ -542,60 +568,89 @@ export async function initCommand(projectName, options = {}) {
542
568
  const marketplaceExists = listResult.success &&
543
569
  (listResult.stdout || '').toLowerCase().includes('specweave');
544
570
  if (marketplaceExists) {
545
- // Marketplace exists - remove it first (prevents "already installed" error)
546
- spinner.stop();
547
- console.log(chalk.blue(' 🔄 Updating existing SpecWeave marketplace...'));
571
+ // Always remove existing marketplace to ensure fresh install
548
572
  execFileNoThrowSync('claude', [
549
573
  'plugin',
550
574
  'marketplace',
551
575
  'remove',
552
576
  'specweave'
553
577
  ]);
554
- console.log(chalk.green(' Old marketplace removed'));
578
+ console.log(chalk.blue(' 🔄 Removed existing marketplace'));
555
579
  }
556
- // Step 1.5: Add marketplace from GitHub
557
- // ✅ Uses GitHub repo format (owner/repo) - works for all npm installs
580
+ // Add marketplace from GitHub (always fresh)
558
581
  const addResult = execFileNoThrowSync('claude', [
559
582
  'plugin',
560
583
  'marketplace',
561
584
  'add',
562
585
  'anton-abyzov/specweave'
563
586
  ]);
564
- if (addResult.success) {
565
- if (marketplaceExists) {
566
- console.log(chalk.green(' ✔ Marketplace updated successfully'));
567
- }
587
+ if (!addResult.success) {
588
+ throw new Error('Failed to add marketplace from GitHub');
568
589
  }
569
- else {
570
- console.log(chalk.yellow(' ⚠️ Marketplace add via CLI failed, will use settings.json fallback'));
590
+ console.log(chalk.green(' ✔ Marketplace registered from GitHub'));
591
+ spinner.succeed('SpecWeave marketplace refreshed');
592
+ // Step 2: Load marketplace.json to get ALL available plugins
593
+ spinner.start('Loading available plugins...');
594
+ const marketplaceJsonPath = findSourceDir('.claude-plugin/marketplace.json');
595
+ if (!fs.existsSync(marketplaceJsonPath)) {
596
+ throw new Error('marketplace.json not found - cannot determine plugins to install');
571
597
  }
572
- spinner.start('Installing SpecWeave core plugin...');
573
- // Step 2: Install core plugin
574
- // SECURE: No string interpolation, no shell, cross-platform
575
- const installResult = execFileNoThrowSync('claude', [
576
- 'plugin',
577
- 'install',
578
- 'specweave'
579
- ]);
580
- if (installResult.success) {
581
- autoInstallSucceeded = true;
582
- spinner.succeed('SpecWeave plugin installed successfully!');
583
- console.log(chalk.green(' ✔ Marketplace: ./claude-plugin → specweave'));
584
- console.log(chalk.green(' ✔ Plugin: specweave'));
585
- console.log(chalk.green(' ✔ Slash commands ready: /specweave:increment'));
598
+ const marketplace = JSON.parse(fs.readFileSync(marketplaceJsonPath, 'utf-8'));
599
+ const allPlugins = marketplace.plugins || [];
600
+ if (allPlugins.length === 0) {
601
+ throw new Error('No plugins found in marketplace.json');
586
602
  }
587
- else {
588
- throw new Error(installResult.stderr || installResult.stdout || 'Installation failed');
603
+ console.log(chalk.blue(` 📦 Found ${allPlugins.length} plugins to install`));
604
+ spinner.succeed(`Found ${allPlugins.length} plugins`);
605
+ // Step 3: Install ALL plugins (no selective loading!)
606
+ let successCount = 0;
607
+ let failCount = 0;
608
+ const failedPlugins = [];
609
+ for (const plugin of allPlugins) {
610
+ const pluginName = plugin.name;
611
+ spinner.start(`Installing ${pluginName}...`);
612
+ const installResult = execFileNoThrowSync('claude', [
613
+ 'plugin',
614
+ 'install',
615
+ pluginName
616
+ ]);
617
+ if (installResult.success) {
618
+ successCount++;
619
+ spinner.succeed(`${pluginName} installed`);
620
+ }
621
+ else {
622
+ failCount++;
623
+ failedPlugins.push(pluginName);
624
+ spinner.warn(`${pluginName} failed (will continue)`);
625
+ }
626
+ }
627
+ // Step 4: Report results
628
+ console.log('');
629
+ console.log(chalk.green.bold(`✅ Plugin Installation Complete`));
630
+ console.log(chalk.white(` Installed: ${successCount}/${allPlugins.length} plugins`));
631
+ if (failCount > 0) {
632
+ console.log(chalk.yellow(` Failed: ${failCount} plugins`));
633
+ console.log(chalk.gray(` Failed plugins: ${failedPlugins.join(', ')}`));
634
+ console.log(chalk.gray(` → You can install these manually later`));
589
635
  }
636
+ console.log('');
637
+ console.log(chalk.cyan('📋 Available capabilities:'));
638
+ console.log(chalk.gray(' • /specweave:increment - Plan new features'));
639
+ console.log(chalk.gray(' • /specweave:do - Execute tasks'));
640
+ console.log(chalk.gray(' • /specweave-github:sync - GitHub integration'));
641
+ console.log(chalk.gray(' • /specweave-jira:sync - JIRA integration'));
642
+ console.log(chalk.gray(' • /specweave:docs preview - Documentation preview'));
643
+ console.log(chalk.gray(' • ...and more!'));
644
+ autoInstallSucceeded = successCount > 0;
590
645
  }
591
646
  catch (error) {
592
647
  // Installation failed - provide helpful diagnostics
593
- spinner.warn('Could not auto-install core plugin');
648
+ spinner.warn('Could not auto-install plugins');
594
649
  console.log('');
595
650
  // Diagnose error and provide actionable hints
596
651
  if (error.message.includes('not found') || error.message.includes('ENOENT')) {
597
652
  console.log(chalk.yellow(' Reason: Claude CLI found but command failed'));
598
- console.log(chalk.gray(' → Try manually: claude plugin install specweave'));
653
+ console.log(chalk.gray(' → Try manually: /plugin install specweave'));
599
654
  }
600
655
  else if (error.message.includes('EACCES') || error.message.includes('permission')) {
601
656
  console.log(chalk.yellow(' Reason: Permission denied'));
@@ -611,28 +666,12 @@ export async function initCommand(projectName, options = {}) {
611
666
  console.log('');
612
667
  console.log(chalk.cyan('📦 Manual installation:'));
613
668
  console.log(chalk.white(' /plugin install specweave'));
669
+ console.log(chalk.white(' /plugin install specweave-github'));
670
+ console.log(chalk.white(' ...etc.'));
614
671
  console.log('');
615
672
  autoInstallSucceeded = false;
616
673
  }
617
674
  }
618
- // 10.5 Issue Tracker Integration (NEW!)
619
- // CRITICAL: Must happen AFTER marketplace registration and core plugin install
620
- // Otherwise plugin installation will fail (marketplace not found)
621
- try {
622
- const { setupIssueTracker } = await import('../helpers/issue-tracker/index.js');
623
- await setupIssueTracker({
624
- projectPath: targetDir,
625
- language: language,
626
- maxRetries: 3
627
- });
628
- }
629
- catch (error) {
630
- // Non-critical error - log but continue
631
- if (process.env.DEBUG) {
632
- console.error(chalk.red(`\n❌ Issue tracker setup error: ${error.message}`));
633
- }
634
- console.log(chalk.yellow('\n⚠️ Issue tracker setup skipped (can configure later)'));
635
- }
636
675
  }
637
676
  showNextSteps(finalProjectName, toolName, language, usedDotNotation, toolName === 'claude' ? autoInstallSucceeded : undefined);
638
677
  }
@@ -1180,10 +1219,10 @@ function showNextSteps(projectName, adapterName, language, usedDotNotation = fal
1180
1219
  console.log('');
1181
1220
  stepNumber++;
1182
1221
  }
1183
- console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.claude.step3'))}`);
1184
- console.log(` ${chalk.gray(locale.t('cli', 'init.nextSteps.claude.installGitHub'))}`);
1185
- console.log(` ${chalk.gray(locale.t('cli', 'init.nextSteps.claude.installFrontend'))}`);
1186
- console.log(` ${chalk.gray('...or let SpecWeave suggest plugins automatically')}`);
1222
+ console.log(` ${stepNumber}. ${chalk.white('All plugins are already installed!')}`);
1223
+ console.log(` ${chalk.gray(' All 19+ SpecWeave plugins installed automatically')}`);
1224
+ console.log(` ${chalk.gray(' No need to install additional plugins manually')}`);
1225
+ console.log(` ${chalk.gray(' Full capabilities available immediately')}`);
1187
1226
  console.log('');
1188
1227
  stepNumber++;
1189
1228
  console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.claude.step4'))}`);