specweave 0.30.18 → 0.30.19

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 (70) hide show
  1. package/CLAUDE.md +22 -0
  2. package/dist/src/adapters/README.md +275 -0
  3. package/dist/src/adapters/adapter-base.d.ts +1 -1
  4. package/dist/src/adapters/adapter-base.js +3 -3
  5. package/dist/src/adapters/adapter-base.js.map +1 -1
  6. package/dist/src/adapters/adapter-loader.d.ts +11 -10
  7. package/dist/src/adapters/adapter-loader.d.ts.map +1 -1
  8. package/dist/src/adapters/adapter-loader.js +31 -21
  9. package/dist/src/adapters/adapter-loader.js.map +1 -1
  10. package/dist/src/adapters/claude/README.md +233 -0
  11. package/dist/src/adapters/codex/README.md +105 -0
  12. package/dist/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
  13. package/dist/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
  14. package/dist/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
  15. package/dist/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
  16. package/dist/src/adapters/cursor/README.md +283 -0
  17. package/dist/src/adapters/cursor/adapter.d.ts +5 -1
  18. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -1
  19. package/dist/src/adapters/cursor/adapter.js +18 -115
  20. package/dist/src/adapters/cursor/adapter.js.map +1 -1
  21. package/dist/src/adapters/gemini/README.md +97 -0
  22. package/dist/src/adapters/generic/README.md +277 -0
  23. package/dist/src/adapters/registry.yaml +197 -0
  24. package/dist/src/cli/helpers/init/living-docs-preflight.js +12 -12
  25. package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -1
  26. package/dist/src/config/types.d.ts +1208 -203
  27. package/dist/src/config/types.d.ts.map +1 -1
  28. package/dist/src/core/llm/providers/bedrock-provider.d.ts.map +1 -1
  29. package/dist/src/core/llm/providers/bedrock-provider.js +2 -3
  30. package/dist/src/core/llm/providers/bedrock-provider.js.map +1 -1
  31. package/dist/src/importers/ado-importer.d.ts.map +1 -1
  32. package/dist/src/importers/ado-importer.js +2 -1
  33. package/dist/src/importers/ado-importer.js.map +1 -1
  34. package/dist/src/importers/github-importer.d.ts.map +1 -1
  35. package/dist/src/importers/github-importer.js +2 -1
  36. package/dist/src/importers/github-importer.js.map +1 -1
  37. package/dist/src/importers/jira-importer.d.ts.map +1 -1
  38. package/dist/src/importers/jira-importer.js +2 -1
  39. package/dist/src/importers/jira-importer.js.map +1 -1
  40. package/dist/src/init/architecture/types.d.ts +140 -33
  41. package/dist/src/init/architecture/types.d.ts.map +1 -1
  42. package/dist/src/init/compliance/types.d.ts +27 -30
  43. package/dist/src/init/compliance/types.d.ts.map +1 -1
  44. package/dist/src/init/repo/types.d.ts +34 -11
  45. package/dist/src/init/repo/types.d.ts.map +1 -1
  46. package/dist/src/init/research/src/config/types.d.ts +82 -15
  47. package/dist/src/init/research/src/config/types.d.ts.map +1 -1
  48. package/dist/src/init/research/types.d.ts +93 -38
  49. package/dist/src/init/research/types.d.ts.map +1 -1
  50. package/dist/src/init/team/types.d.ts +42 -4
  51. package/dist/src/init/team/types.d.ts.map +1 -1
  52. package/dist/src/utils/fs-native.d.ts +2 -1
  53. package/dist/src/utils/fs-native.d.ts.map +1 -1
  54. package/dist/src/utils/fs-native.js +6 -1
  55. package/dist/src/utils/fs-native.js.map +1 -1
  56. package/dist/src/utils/html-to-mdx.d.ts +37 -0
  57. package/dist/src/utils/html-to-mdx.d.ts.map +1 -0
  58. package/dist/src/utils/html-to-mdx.js +98 -0
  59. package/dist/src/utils/html-to-mdx.js.map +1 -0
  60. package/package.json +6 -2
  61. package/plugins/specweave/commands/specweave-judge.md +11 -0
  62. package/plugins/specweave/hooks/lib/update-status-line.sh +16 -4
  63. package/plugins/specweave/lib/vendor/utils/fs-native.d.ts +2 -1
  64. package/plugins/specweave/lib/vendor/utils/fs-native.js +6 -1
  65. package/plugins/specweave/lib/vendor/utils/fs-native.js.map +1 -1
  66. package/plugins/specweave-docs/commands/build.md +47 -73
  67. package/plugins/specweave-docs/commands/preview.md +181 -87
  68. package/plugins/specweave-docs/skills/preview/SKILL.md +45 -56
  69. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +330 -0
  70. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +495 -0
package/CLAUDE.md CHANGED
@@ -166,6 +166,28 @@ READ: limit:50 | EDIT: 1 per response | AGENTS: none | FLOW: "Done. Next?"
166
166
 
167
167
  **Format:** `ACTION. CONSTRAINT. CONSTRAINT.` (periods, not commas)
168
168
 
169
+ ### 8. MDX Compatibility (Docusaurus Preview)
170
+
171
+ **External HTML content = MDX compilation errors** (blocks docs preview)
172
+
173
+ ```
174
+ ❌ MDX FAILS ON:
175
+ - target=_blank (unquoted attribute) → target="_blank"
176
+ - <br> (self-closing without /) → <br />
177
+ - dir=auto, rel=noopener, alt=image (all unquoted)
178
+
179
+ ✅ PREVENTION (automatic in importers since v0.32.0):
180
+ - ADO/JIRA/GitHub importers use sanitizeHtmlForMdx()
181
+ - Located: src/utils/html-to-mdx.ts
182
+ ```
183
+
184
+ **If Docusaurus preview fails with "Unexpected character":**
185
+ ```bash
186
+ # Batch fix existing files (macOS):
187
+ find .specweave/docs -name "*.md" -exec sed -i '' 's/target=_blank/target="_blank"/g' {} \;
188
+ find .specweave/docs -name "*.md" -exec sed -i '' 's/dir=auto/dir="auto"/g' {} \;
189
+ ```
190
+
169
191
  ---
170
192
 
171
193
  ## Development Setup
@@ -0,0 +1,275 @@
1
+ # SpecWeave Adapters
2
+
3
+ **Version**: 0.2.0 (Multi-Tool Support)
4
+
5
+ ## Overview
6
+
7
+ SpecWeave adapters enable the framework to work with **ANY AI coding tool**, not just Claude Code. This directory contains all adapter implementations that provide tool-specific enhancements while maintaining a tool-agnostic core.
8
+
9
+ ## Architecture
10
+
11
+ ```
12
+ SpecWeave
13
+ ├── Core (Tool-Agnostic)
14
+ │ └── .specweave/ # Plain Markdown + YAML
15
+ │ ├── increments/
16
+ │ └── docs/
17
+
18
+ └── Adapters (Optional)
19
+ ├── Claude # Full automation (native)
20
+ │ ├── .claude/skills/
21
+ │ ├── .claude/agents/
22
+ │ └── .claude/hooks/
23
+
24
+ ├── Cursor # Partial automation
25
+ │ ├── .cursorrules (legacy)
26
+ │ └── AGENTS.md
27
+
28
+ └── Generic # Limited features
29
+ └── AGENTS.md # Works with Copilot, ChatGPT, Gemini
30
+ ```
31
+
32
+ ## Available Adapters
33
+
34
+ | Adapter | Automation | Tools | Status |
35
+ |---------|------------|-------|--------|
36
+ | **Claude** | Full (skills, agents, hooks) | Claude Code | ✅ Active |
37
+ | **Cursor** | Partial (AGENTS.md, team commands, less reliable) | Cursor | ✅ Active |
38
+ | **Generic** | Limited (AGENTS.md, no hooks, manual workflow) | Copilot, ChatGPT, Gemini, etc. | ✅ Active |
39
+
40
+ **Total Market Coverage**: 100% (works with ANY AI tool)
41
+
42
+ **Note**: Claude Code is the only fully reliable option. Others have reduced features and reliability.
43
+
44
+ ## Adapter Interface
45
+
46
+ All adapters implement the `IAdapter` interface defined in `adapter-interface.ts`:
47
+
48
+ ```typescript
49
+ interface IAdapter {
50
+ name: string;
51
+ description: string;
52
+ automationLevel: 'full' | 'semi' | 'basic' | 'manual';
53
+
54
+ detect(): Promise<boolean>;
55
+ checkRequirements(): Promise<RequirementsResult>;
56
+ getFiles(): AdapterFile[];
57
+ install(options: AdapterOptions): Promise<void>;
58
+ postInstall(options: AdapterOptions): Promise<void>;
59
+ getInstructions(): string;
60
+ }
61
+ ```
62
+
63
+ ## How Adapters Work
64
+
65
+ ### 1. Claude Adapter (Full Automation)
66
+
67
+ **Files Installed**:
68
+ - `.claude/skills/` - Auto-activating skills (specweave-detector, skill-router, etc.)
69
+ - `.claude/agents/` - Specialized agents (PM, Architect, DevOps, QA, Security)
70
+ - `.claude/commands/` - Slash commands (/create-increment, /sync-docs, etc.)
71
+ - `.claude/hooks/` - Auto-update hooks (post-task-completion, etc.)
72
+
73
+ **Features**:
74
+ - Skills auto-activate based on user requests
75
+ - Agents coordinate complex workflows
76
+ - Hooks auto-update documentation
77
+ - Slash commands for quick actions
78
+ - Best-in-class experience
79
+
80
+ **Detection**: Checks for Claude Code CLI
81
+
82
+ ---
83
+
84
+ ### 2. Cursor Adapter (Semi-Automation)
85
+
86
+ **Files Installed**:
87
+ - `.cursorrules` - Workflow instructions for Cursor AI
88
+ - `.cursor/context/` - Context shortcut files
89
+
90
+ **Features**:
91
+ - @ shortcuts: `@increments`, `@docs`, `@strategy`
92
+ - Composer multi-file editing guided by .cursorrules
93
+ - Context manifests work via manual reference
94
+
95
+ **Workflow Instructions** (in .cursorrules):
96
+ ```markdown
97
+ # SpecWeave Configuration for Cursor
98
+
99
+ ## When user requests a feature:
100
+ 1. Check if increment exists in `.specweave/increments/####-name/`
101
+ 2. If not, create: spec.md, plan.md, tasks.md
102
+
103
+ ## Context Loading (70%+ Token Reduction)
104
+ **CRITICAL**: Always read `context-manifest.yaml` first!
105
+ Only load files listed in manifest.
106
+ ```
107
+
108
+ **Detection**: Checks for Cursor editor process or .cursor/ directory
109
+
110
+ ---
111
+
112
+ ### 3. Generic Adapter (Limited Features)
113
+
114
+ **Files Installed**:
115
+ - `AGENTS.md` - Universal instruction file for all AI tools
116
+
117
+ **Features**:
118
+ - Works with Copilot, ChatGPT, Gemini, and ANY AI tool
119
+ - AGENTS.md format (https://agents.md/)
120
+ - No automation (manual workflow)
121
+ - No hooks (manual living docs sync)
122
+ - High context usage
123
+
124
+ **Manual Guide** (SPECWEAVE.md):
125
+ ```markdown
126
+ # SpecWeave Manual Workflow
127
+
128
+ ## Step 1: Create Feature
129
+ ```bash
130
+ mkdir -p .specweave/increments/0001-feature-name
131
+ ```
132
+
133
+ ## Step 2: Create spec.md
134
+ [Detailed template and instructions]
135
+
136
+ ## Step 3: Load Context
137
+ Copy files listed in `context-manifest.yaml` to your AI chat.
138
+ ```
139
+
140
+ **Detection**: Always returns `true` (universal fallback)
141
+
142
+ ---
143
+
144
+ ## Command Mechanism
145
+
146
+ **Critical Insight**: Commands work differently across tools.
147
+
148
+ ### Claude Code (Native Slash Commands)
149
+ - User types `/create-increment "user auth"` in Claude chat
150
+ - Command file in `.claude/commands/create-increment.md` is loaded
151
+ - Command executes with full context
152
+
153
+ ### Cursor (Instruction-Based)
154
+ - User types: "create increment for user auth"
155
+ - Cursor reads `.cursorrules` which contains workflow instructions
156
+ - AI follows instructions step-by-step
157
+
158
+ ### Generic / Copilot / ChatGPT (AGENTS.md)
159
+ - All tools read `AGENTS.md` (universal standard)
160
+ - Copilot reads it automatically in VS Code
161
+ - ChatGPT/Gemini: User copies sections to chat
162
+ - Manual workflow with AI assistance
163
+
164
+ **Pattern**: AGENTS.md is the universal instruction format. Only Claude Code uses native plugins (.claude/).
165
+
166
+ ## Installation
167
+
168
+ ### For Users (Select Adapter)
169
+
170
+ ```bash
171
+ # Auto-detect tool and install appropriate adapter
172
+ npx specweave init my-project
173
+
174
+ # Or specify adapter explicitly
175
+ npx specweave init my-project --adapter claude
176
+ npx specweave init my-project --adapter cursor
177
+ npx specweave init my-project --adapter generic # For Copilot, ChatGPT, Gemini
178
+ ```
179
+
180
+ ### For Developers (Install All Adapters)
181
+
182
+ ```bash
183
+ # Install all adapters to SpecWeave framework
184
+ npm run install:adapters
185
+ ```
186
+
187
+ ## Adding New Adapters
188
+
189
+ To add support for a new tool:
190
+
191
+ 1. **Create adapter directory**: `src/adapters/your-tool/`
192
+ 2. **Create adapter class**: `src/adapters/your-tool/adapter.ts`
193
+ 3. **Implement IAdapter interface**
194
+ 4. **Add template files**: Tool-specific instruction files
195
+ 5. **Add to registry**: Update `registry.yaml`
196
+ 6. **Add test cases**: Minimum 3 test cases
197
+ 7. **Update CLI**: Add detection logic
198
+
199
+ **Example**:
200
+ ```typescript
201
+ // src/adapters/windsurf/adapter.ts
202
+ import { AdapterBase } from '../adapter-base';
203
+
204
+ export class WindsurfAdapter extends AdapterBase {
205
+ name = 'windsurf';
206
+ description = 'Windsurf adapter with semi-automation';
207
+ automationLevel = 'semi' as const;
208
+
209
+ async detect(): Promise<boolean> {
210
+ // Check if Windsurf is installed
211
+ return this.commandExists('windsurf');
212
+ }
213
+
214
+ getFiles(): AdapterFile[] {
215
+ return [
216
+ {
217
+ sourcePath: '.windsurfrules',
218
+ targetPath: '.windsurfrules',
219
+ description: 'Windsurf workflow instructions'
220
+ }
221
+ ];
222
+ }
223
+
224
+ getInstructions(): string {
225
+ return `
226
+ # Windsurf Adapter Installed
227
+
228
+ Your project is now configured for Windsurf.
229
+ ...
230
+ `;
231
+ }
232
+ }
233
+ ```
234
+
235
+ ## Testing Adapters
236
+
237
+ Each adapter MUST have minimum 3 test cases in `test-cases/`:
238
+
239
+ ```
240
+ src/adapters/cursor/
241
+ ├── adapter.ts
242
+ ├── .cursorrules (template)
243
+ └── test-cases/
244
+ ├── test-1-install.yaml
245
+ ├── test-2-detection.yaml
246
+ └── test-3-workflow.yaml
247
+ ```
248
+
249
+ ## Related Documentation
250
+
251
+ - [adapter-interface.ts](./adapter-interface.ts) - Complete interface definition
252
+ - [adapter-base.ts](./adapter-base.ts) - Base class implementation
253
+ - [registry.yaml](./registry.yaml) - List of all adapters
254
+ - [.specweave/increments/0002-multi-tool-support/](../../.specweave/increments/0002-multi-tool-support/) - Implementation plan
255
+
256
+ ## Design Philosophy
257
+
258
+ **Core Principle**: Separate tool-agnostic core from tool-specific enhancements.
259
+
260
+ **Benefits**:
261
+ 1. ✅ Users can switch AI tools without losing SpecWeave benefits
262
+ 2. ✅ 100% market coverage (works with ANY AI)
263
+ 3. ✅ No tool lock-in
264
+ 4. ✅ Best experience with supported tools, functional experience with any tool
265
+ 5. ✅ Easy to add support for new tools
266
+
267
+ **Inspiration**:
268
+ - **spec-kit** (GitHub): Agent-agnostic approach, plain text commands
269
+ - **Quantitative risk methodologies**: Portable prompt bundles work across multiple AIs
270
+
271
+ ---
272
+
273
+ **Status**: Implementation in progress (Increment 0002)
274
+ **Branch**: features/002-multi-tool-support
275
+ **Target**: v0.2.0-beta.1
@@ -36,7 +36,7 @@ export declare abstract class AdapterBase implements IAdapter {
36
36
  */
37
37
  abstract getInstructions(): string;
38
38
  /**
39
- * Helper: Check if a command exists in PATH
39
+ * Helper: Check if a command exists in PATH (cross-platform)
40
40
  */
41
41
  protected commandExists(command: string): Promise<boolean>;
42
42
  /**
@@ -72,12 +72,12 @@ export class AdapterBase {
72
72
  console.log('\n' + this.getInstructions());
73
73
  }
74
74
  /**
75
- * Helper: Check if a command exists in PATH
75
+ * Helper: Check if a command exists in PATH (cross-platform)
76
76
  */
77
77
  async commandExists(command) {
78
78
  try {
79
- const { execSync } = require('child_process');
80
- execSync(`which ${command}`, { stdio: 'ignore' });
79
+ const checkCmd = process.platform === 'win32' ? `where ${command}` : `which ${command}`;
80
+ execSync(checkCmd, { stdio: 'ignore' });
81
81
  return true;
82
82
  }
83
83
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-base.js","sourceRoot":"","sources":["../../../src/adapters/adapter-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-base.js","sourceRoot":"","sources":["../../../src/adapters/adapter-base.ts"],"names":[],"mappings":"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"}
@@ -47,17 +47,16 @@ export declare class AdapterLoader {
47
47
  /**
48
48
  * Auto-detect which tool is being used
49
49
  *
50
- * Detection priority (maintains backward compatibility!):
51
- * 1. Cursor (if cursor CLI or .cursor/ or .cursorrules exists) - active indicators
52
- * 2. Gemini CLI (if gemini CLI found)
53
- * 3. Codex (if codex CLI found)
54
- * 4. Claude Code:
55
- * - If claude CLI found in PATH: Shows "✅ Detected: Claude Code"
56
- * - If NOT found: Shows "ℹ️ No tool detected, recommending Claude Code"
50
+ * Detection priority (Claude-first! SpecWeave is built for Claude):
51
+ * 1. Claude Code (FIRST! If claude CLI is available, use it - active indicator)
52
+ * 2. Cursor (only if Claude unavailable AND cursor indicators exist)
53
+ * 3. Gemini CLI (only if Claude unavailable)
54
+ * 4. Codex (only if Claude unavailable)
57
55
  * 5. Generic (only if explicitly requested via --adapter generic)
58
56
  *
59
- * This ensures users with both Claude + Cursor get Cursor (if .cursorrules exists),
60
- * while users with ONLY Claude get proper "detected" message instead of "not detected".
57
+ * Rationale: Claude CLI being available is an ACTIVE indicator (user installed it).
58
+ * `.cursor/` directory is a PASSIVE indicator (may exist from old usage).
59
+ * If user has both, they almost certainly want Claude (since SpecWeave is native to it).
61
60
  *
62
61
  * @returns Promise<string> Detected tool name (not adapter - Claude has no adapter!)
63
62
  */
@@ -85,7 +84,9 @@ export declare class AdapterLoader {
85
84
  private getAutomationIcon;
86
85
  /**
87
86
  * Get recommended adapter based on detection and user preference
87
+ *
88
+ * Returns null if Claude is detected (native experience, no adapter needed)
88
89
  */
89
- getRecommendedAdapter(explicitChoice?: string): Promise<IAdapter>;
90
+ getRecommendedAdapter(explicitChoice?: string): Promise<IAdapter | null>;
90
91
  }
91
92
  //# sourceMappingURL=adapter-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-loader.d.ts","sourceRoot":"","sources":["../../../src/adapters/adapter-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAWlD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAgC;;IAMhD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAiB9C;;OAEG;IACH,cAAc,IAAI,QAAQ,EAAE;IAI5B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI9C;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IA2CnC;;;OAGG;YACW,aAAa;IAW3B;;OAEG;YACW,UAAU;IASxB;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB3D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACG,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAoBxE"}
1
+ {"version":3,"file":"adapter-loader.d.ts","sourceRoot":"","sources":["../../../src/adapters/adapter-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAWlD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAgC;;IAMhD;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;IAiB9C;;OAEG;IACH,cAAc,IAAI,QAAQ,EAAE;IAI5B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI9C;;;;;;;;;;;;;;;OAeG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IA8CnC;;;OAGG;YACW,aAAa;IAW3B;;OAEG;YACW,UAAU;IASxB;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB3D;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACG,qBAAqB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CA+B/E"}
@@ -68,24 +68,32 @@ export class AdapterLoader {
68
68
  /**
69
69
  * Auto-detect which tool is being used
70
70
  *
71
- * Detection priority (maintains backward compatibility!):
72
- * 1. Cursor (if cursor CLI or .cursor/ or .cursorrules exists) - active indicators
73
- * 2. Gemini CLI (if gemini CLI found)
74
- * 3. Codex (if codex CLI found)
75
- * 4. Claude Code:
76
- * - If claude CLI found in PATH: Shows "✅ Detected: Claude Code"
77
- * - If NOT found: Shows "ℹ️ No tool detected, recommending Claude Code"
71
+ * Detection priority (Claude-first! SpecWeave is built for Claude):
72
+ * 1. Claude Code (FIRST! If claude CLI is available, use it - active indicator)
73
+ * 2. Cursor (only if Claude unavailable AND cursor indicators exist)
74
+ * 3. Gemini CLI (only if Claude unavailable)
75
+ * 4. Codex (only if Claude unavailable)
78
76
  * 5. Generic (only if explicitly requested via --adapter generic)
79
77
  *
80
- * This ensures users with both Claude + Cursor get Cursor (if .cursorrules exists),
81
- * while users with ONLY Claude get proper "detected" message instead of "not detected".
78
+ * Rationale: Claude CLI being available is an ACTIVE indicator (user installed it).
79
+ * `.cursor/` directory is a PASSIVE indicator (may exist from old usage).
80
+ * If user has both, they almost certainly want Claude (since SpecWeave is native to it).
82
81
  *
83
82
  * @returns Promise<string> Detected tool name (not adapter - Claude has no adapter!)
84
83
  */
85
84
  async detectTool() {
86
85
  console.log('🔍 Detecting AI coding tool...\n');
87
- // Check other tools first (maintain backward compatibility!)
88
- // If user has both Claude and Cursor, prefer the one with active indicators (.cursorrules, etc.)
86
+ // CLAUDE FIRST! SpecWeave is built for Claude Code.
87
+ // Claude CLI being available = user wants Claude (active indicator)
88
+ const claudeStatus = detectClaudeCli();
89
+ if (claudeStatus.available) {
90
+ // Claude CLI is fully functional - this is the native experience!
91
+ console.log(`✅ Detected: Claude Code (native plugin system, full automation)`);
92
+ console.log(` Found 'claude' command in PATH`);
93
+ console.log('');
94
+ return 'claude';
95
+ }
96
+ // Claude not available - check other tools (passive indicators)
89
97
  const detectionOrder = ['cursor', 'gemini', 'codex'];
90
98
  for (const adapterName of detectionOrder) {
91
99
  const adapter = this.adapters.get(adapterName);
@@ -97,16 +105,8 @@ export class AdapterLoader {
97
105
  return adapterName;
98
106
  }
99
107
  }
100
- // No other tool detected - check if Claude CLI is available
101
- // ROBUST CHECK: Not just "command exists" but "can run plugin commands"
102
- const claudeStatus = detectClaudeCli();
103
- if (claudeStatus.available) {
104
- // Claude CLI is fully functional - show positive detection message
105
- console.log(`✅ Detected: Claude Code (native plugin system, full automation)`);
106
- console.log(` Found 'claude' command in PATH`);
107
- console.log('');
108
- }
109
- else if (claudeStatus.commandExists) {
108
+ // No tool detected at all
109
+ if (claudeStatus.commandExists) {
110
110
  // Claude command exists but plugin commands don't work
111
111
  console.log(`⚠️ Claude command found but not fully functional`);
112
112
  console.log(` Issue: ${claudeStatus.error}`);
@@ -216,10 +216,16 @@ export class AdapterLoader {
216
216
  }
217
217
  /**
218
218
  * Get recommended adapter based on detection and user preference
219
+ *
220
+ * Returns null if Claude is detected (native experience, no adapter needed)
219
221
  */
220
222
  async getRecommendedAdapter(explicitChoice) {
221
223
  // If user explicitly chose an adapter, use it
222
224
  if (explicitChoice) {
225
+ // 'claude' is a valid explicit choice - means "use native Claude"
226
+ if (explicitChoice === 'claude') {
227
+ return null; // No adapter needed for Claude
228
+ }
223
229
  const adapter = this.adapters.get(explicitChoice);
224
230
  if (!adapter) {
225
231
  throw new Error(`Invalid adapter: ${explicitChoice}. Use 'claude', 'cursor', or 'generic'`);
@@ -228,6 +234,10 @@ export class AdapterLoader {
228
234
  }
229
235
  // Otherwise, auto-detect
230
236
  const detectedName = await this.detectTool();
237
+ // Claude detected - native experience, no adapter needed
238
+ if (detectedName === 'claude') {
239
+ return null;
240
+ }
231
241
  const adapter = this.adapters.get(detectedName);
232
242
  if (!adapter) {
233
243
  throw new Error(`Detected adapter not found: ${detectedName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-loader.js","sourceRoot":"","sources":["../../../src/adapters/adapter-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-loader.js","sourceRoot":"","sources":["../../../src/adapters/adapter-loader.ts"],"names":[],"mappings":"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"}