specweave 0.6.7 → 0.6.8
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/CLAUDE.md +30 -21
- package/dist/adapters/adapter-interface.d.ts +11 -11
- package/dist/adapters/adapter-interface.d.ts.map +1 -1
- package/dist/adapters/adapter-interface.js +1 -1
- package/dist/adapters/adapter-loader.d.ts +1 -2
- package/dist/adapters/adapter-loader.d.ts.map +1 -1
- package/dist/adapters/adapter-loader.js +3 -6
- package/dist/adapters/adapter-loader.js.map +1 -1
- package/dist/adapters/agents-md-generator.d.ts +3 -3
- package/dist/adapters/agents-md-generator.js +3 -3
- package/dist/adapters/generic/adapter.d.ts +2 -2
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +28 -9
- package/dist/adapters/generic/adapter.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +51 -22
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/types/config.d.ts +2 -2
- package/dist/core/types/config.d.ts.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/do.md +2 -0
- package/plugins/specweave/commands/done.md +2 -0
- package/plugins/specweave/commands/inc.md +1 -1
- package/plugins/specweave/commands/validate.md +2 -0
- package/plugins/specweave/hooks/docs-changed.sh +23 -3
- package/plugins/specweave/hooks/human-input-required.sh +23 -3
- package/plugins/specweave/hooks/post-task-completion.sh +20 -1
- package/plugins/specweave/hooks/pre-implementation.sh +23 -3
- package/src/adapters/README.md +27 -63
- package/src/adapters/adapter-interface.ts +11 -11
- package/src/adapters/adapter-loader.ts +3 -6
- package/src/adapters/agents-md-generator.ts +3 -3
- package/src/adapters/generic/adapter.ts +28 -9
- package/src/templates/AGENTS.md.template +351 -0
- package/dist/adapters/copilot/adapter.d.ts +0 -86
- package/dist/adapters/copilot/adapter.d.ts.map +0 -1
- package/dist/adapters/copilot/adapter.js +0 -396
- package/dist/adapters/copilot/adapter.js.map +0 -1
- package/plugins/.specweave/logs/hooks-debug.log +0 -24
- package/plugins/.specweave/logs/last-hook-fire +0 -1
- package/plugins/.specweave/logs/last-todowrite-time +0 -1
- package/plugins/.specweave/logs/tasks.log +0 -6
- package/src/adapters/copilot/README.md +0 -240
- package/src/adapters/copilot/adapter.ts +0 -444
package/CLAUDE.md
CHANGED
|
@@ -94,22 +94,21 @@ Claude Code isn't just another AI coding assistant - **Anthropic defines the ind
|
|
|
94
94
|
|
|
95
95
|
### Why SpecWeave + Claude Code = 10x Better
|
|
96
96
|
|
|
97
|
-
| Feature | Claude Code (Native) | Cursor 2.0 | Copilot
|
|
98
|
-
|
|
99
|
-
| **Living Docs** | ✅ Auto-sync via hooks | ❌ Manual | ❌ Manual |
|
|
100
|
-
| **Skills** | ✅ Auto-activate | 🟡 Must @mention | ❌ None |
|
|
101
|
-
| **Commands** | ✅ Plugin-based `/specweave:*` | 🟡 Team commands | ❌ None |
|
|
102
|
-
| **Hooks** | ✅ Pre/Post lifecycle | ❌ No hooks | ❌ No hooks |
|
|
103
|
-
| **Agents** | ✅ Isolated contexts | 🟡 Shared (8 parallel) | ❌ None |
|
|
104
|
-
| **Context** | ✅ MCP + 60-80% reduction | 🟡 @ shortcuts | ❌
|
|
105
|
-
| **Quality** | ⭐⭐⭐⭐⭐ 100%
|
|
97
|
+
| Feature | Claude Code (Native) | Cursor 2.0 | Other (Copilot, ChatGPT, etc.) |
|
|
98
|
+
|---------|---------------------|------------|-------------------------------|
|
|
99
|
+
| **Living Docs** | ✅ Auto-sync via hooks | ❌ Manual | ❌ Manual |
|
|
100
|
+
| **Skills** | ✅ Auto-activate | 🟡 Must @mention | ❌ None |
|
|
101
|
+
| **Commands** | ✅ Plugin-based `/specweave:*` | 🟡 Team commands | ❌ None |
|
|
102
|
+
| **Hooks** | ✅ Pre/Post lifecycle | ❌ No hooks | ❌ No hooks |
|
|
103
|
+
| **Agents** | ✅ Isolated contexts | 🟡 Shared (8 parallel) | ❌ None |
|
|
104
|
+
| **Context** | ✅ MCP + 60-80% reduction | 🟡 @ shortcuts | ❌ High usage |
|
|
105
|
+
| **Quality** | ⭐⭐⭐⭐⭐ 100% Reliable | ⭐⭐⭐ 60% Less reliable | ⭐⭐ 40% Manual workflow |
|
|
106
106
|
|
|
107
107
|
**Quick Comparison**:
|
|
108
108
|
|
|
109
|
-
**Claude Code** - Full automation with native hooks, MCP protocol, plugin system, isolated agent contexts
|
|
110
|
-
**Cursor 2.0** -
|
|
111
|
-
**Copilot** -
|
|
112
|
-
**Generic** - Manual copy-paste workflow
|
|
109
|
+
**Claude Code** - Full automation with native hooks, MCP protocol, plugin system, isolated agent contexts. **ONLY fully reliable option.**
|
|
110
|
+
**Cursor 2.0** - Partial support (AGENTS.md compilation, team commands, @ shortcuts) but no hooks, no agent isolation, less reliable than Claude
|
|
111
|
+
**Other (Copilot, ChatGPT, Gemini)** - Manual workflow, high context usage, AGENTS.md support but no automation, least reliable
|
|
113
112
|
|
|
114
113
|
**The Key Differentiator**: Only Claude Code supports **automated living docs** via native hooks. After EVERY task completion, docs sync automatically - zero manual intervention. This is why SpecWeave is designed Claude Code-first, though it gracefully degrades to other tools.
|
|
115
114
|
|
|
@@ -977,7 +976,6 @@ specweave/
|
|
|
977
976
|
│ │ ├── adapter-base.ts
|
|
978
977
|
│ │ ├── claude/
|
|
979
978
|
│ │ ├── cursor/ (legacy)
|
|
980
|
-
│ │ ├── copilot/ (legacy)
|
|
981
979
|
│ │ └── generic/ (legacy)
|
|
982
980
|
│ ├── templates/ # User project templates
|
|
983
981
|
│ │ ├── CLAUDE.md.template
|
|
@@ -1057,12 +1055,14 @@ specweave/
|
|
|
1057
1055
|
│ ├── docs/
|
|
1058
1056
|
│ │ ├── internal/ # Strategic docs (NEVER published)
|
|
1059
1057
|
│ │ │ ├── strategy/ # Business strategy, market analysis
|
|
1060
|
-
│ │ │ ├──
|
|
1058
|
+
│ │ │ ├── rfc/ # ✅ Request for Comments (proposals at all stages)
|
|
1059
|
+
│ │ │ ├── architecture/ # Technical architecture (accepted designs)
|
|
1061
1060
|
│ │ │ │ ├── adr/ # Architecture Decision Records
|
|
1062
|
-
│ │ │ │ ├── rfc/ # ✅ Request for Comments (detailed specs)
|
|
1063
1061
|
│ │ │ │ ├── diagrams/ # Mermaid + SVG
|
|
1064
1062
|
│ │ │ │ └── hld-system.md # High-Level Design
|
|
1065
|
-
│ │ │
|
|
1063
|
+
│ │ │ ├── delivery/ # Implementation notes, runbooks
|
|
1064
|
+
│ │ │ ├── operations/ # Runbooks, SLOs
|
|
1065
|
+
│ │ │ └── governance/ # Security, compliance
|
|
1066
1066
|
│ │ └── public/ # User-facing docs (can publish)
|
|
1067
1067
|
│ │ ├── guides/
|
|
1068
1068
|
│ │ └── api/
|
|
@@ -1469,8 +1469,7 @@ git push origin develop --tags
|
|
|
1469
1469
|
|
|
1470
1470
|
**Legacy Multi-Tool Support** (may be removed):
|
|
1471
1471
|
- ⚠️ Cursor (via `.cursorrules` + AGENTS.md compilation)
|
|
1472
|
-
- ⚠️
|
|
1473
|
-
- ⚠️ Generic (Markdown-only, for ChatGPT/Gemini/etc.)
|
|
1472
|
+
- ⚠️ Generic (via AGENTS.md, for Copilot/ChatGPT/Gemini/etc.)
|
|
1474
1473
|
|
|
1475
1474
|
**Why Claude-First?**
|
|
1476
1475
|
The adapter system was originally designed to support multiple tools, but this added significant complexity without meaningful benefit. Claude Code provides:
|
|
@@ -1563,13 +1562,23 @@ cd docs-site && npm run build
|
|
|
1563
1562
|
## Quick Reference
|
|
1564
1563
|
|
|
1565
1564
|
**Commands (for SpecWeave development)**:
|
|
1565
|
+
|
|
1566
|
+
*Convenient short forms (use daily)*:
|
|
1567
|
+
- `/inc "feature"` - Plan new increment
|
|
1568
|
+
- `/do` - Execute tasks (smart resume)
|
|
1569
|
+
- `/done 0002` - Close increment
|
|
1570
|
+
- `/validate 0002` - Validate increment
|
|
1571
|
+
|
|
1572
|
+
*Full namespace forms (explicit, avoids conflicts)*:
|
|
1566
1573
|
- `/specweave:inc "feature"` - Plan new increment
|
|
1567
1574
|
- `/specweave:do` - Execute tasks (smart resume)
|
|
1568
|
-
- `/specweave:progress` - Check status
|
|
1569
|
-
- `/specweave:validate 0002` - Validate increment
|
|
1570
1575
|
- `/specweave:done 0002` - Close increment
|
|
1576
|
+
- `/specweave:validate 0002` - Validate increment
|
|
1577
|
+
- `/specweave:progress` - Check status
|
|
1571
1578
|
- `/specweave:sync-docs update` - Sync living docs
|
|
1572
1579
|
|
|
1580
|
+
**Both forms work identically** - use short forms for speed, namespace forms for clarity.
|
|
1581
|
+
|
|
1573
1582
|
**Build & Test**:
|
|
1574
1583
|
- `npm run build` - Compile TypeScript
|
|
1575
1584
|
- `npm test` - Run all unit tests
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Adapter Interface for Multi-Tool Support
|
|
3
3
|
*
|
|
4
4
|
* Defines the contract that all SpecWeave adapters must implement.
|
|
5
|
-
* Enables SpecWeave to work with ANY AI coding tool (Claude, Cursor, Copilot, etc.)
|
|
5
|
+
* Enables SpecWeave to work with ANY AI coding tool (Claude, Cursor, Copilot/ChatGPT/Gemini via generic, etc.)
|
|
6
6
|
*/
|
|
7
7
|
import type { Plugin } from '../core/types/plugin.js';
|
|
8
8
|
export interface AdapterOptions {
|
|
@@ -28,11 +28,12 @@ export type AutomationLevel = 'full' | 'semi' | 'basic' | 'manual';
|
|
|
28
28
|
/**
|
|
29
29
|
* Base Adapter Interface
|
|
30
30
|
*
|
|
31
|
-
* All adapters (
|
|
31
|
+
* All adapters (Cursor, Generic) must implement this interface.
|
|
32
|
+
* Note: Claude Code is NOT an adapter - it's the native baseline experience.
|
|
32
33
|
*/
|
|
33
34
|
export interface IAdapter {
|
|
34
35
|
/**
|
|
35
|
-
* Adapter name (e.g., '
|
|
36
|
+
* Adapter name (e.g., 'cursor', 'generic')
|
|
36
37
|
*/
|
|
37
38
|
name: string;
|
|
38
39
|
/**
|
|
@@ -51,9 +52,8 @@ export interface IAdapter {
|
|
|
51
52
|
* Detect if this adapter's tool is present in the environment
|
|
52
53
|
*
|
|
53
54
|
* Examples:
|
|
54
|
-
* - Claude: Check for Claude Code CLI
|
|
55
55
|
* - Cursor: Check for .cursor/ directory or Cursor process
|
|
56
|
-
* -
|
|
56
|
+
* - Generic: Always true (fallback for any tool)
|
|
57
57
|
*
|
|
58
58
|
* @returns Promise<boolean> True if tool detected
|
|
59
59
|
*/
|
|
@@ -78,7 +78,7 @@ export interface IAdapter {
|
|
|
78
78
|
/**
|
|
79
79
|
* Install this adapter to a project
|
|
80
80
|
*
|
|
81
|
-
* Creates tool-specific files (e.g., .cursorrules, .
|
|
81
|
+
* Creates tool-specific files (e.g., .cursorrules for Cursor, AGENTS.md for all)
|
|
82
82
|
* Installs relevant skills/agents if applicable
|
|
83
83
|
*
|
|
84
84
|
* @param options Installation options
|
|
@@ -109,8 +109,8 @@ export interface IAdapter {
|
|
|
109
109
|
* Check if this adapter supports plugins
|
|
110
110
|
*
|
|
111
111
|
* Returns true if the adapter can install and compile plugins
|
|
112
|
-
* (
|
|
113
|
-
* Returns false for
|
|
112
|
+
* (Cursor AGENTS.md compilation, Generic AGENTS.md)
|
|
113
|
+
* Returns false for manual-only adapters
|
|
114
114
|
*
|
|
115
115
|
* @returns boolean True if plugins are supported
|
|
116
116
|
*/
|
|
@@ -119,10 +119,10 @@ export interface IAdapter {
|
|
|
119
119
|
* Compile and install a plugin for this adapter
|
|
120
120
|
*
|
|
121
121
|
* Transforms plugin content (skills/agents/commands) to tool-specific format:
|
|
122
|
-
* - Claude: Copy to .claude/skills/, .claude/agents/, .claude/commands/
|
|
123
122
|
* - Cursor: Compile to AGENTS.md + team commands JSON
|
|
124
|
-
* -
|
|
125
|
-
*
|
|
123
|
+
* - Generic: Compile to AGENTS.md for Copilot/ChatGPT/Gemini
|
|
124
|
+
*
|
|
125
|
+
* Note: Claude Code uses native plugin system (no compilation needed)
|
|
126
126
|
*
|
|
127
127
|
* @param plugin Plugin to compile and install
|
|
128
128
|
* @returns Promise<void>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-interface.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter-interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC;CAChD;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"adapter-interface.d.ts","sourceRoot":"","sources":["../../src/adapters/adapter-interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC;CAChD;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;;;;;;;OAQG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;;;;;;OASG;IACH,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjD;;;;OAIG;IACH,QAAQ,IAAI,WAAW,EAAE,CAAC;IAE1B;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;;;;OAUG;IACH,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;;;;OAMG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,eAAe,IAAI,OAAO,CAAC;IAE3B;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Adapter Interface for Multi-Tool Support
|
|
3
3
|
*
|
|
4
4
|
* Defines the contract that all SpecWeave adapters must implement.
|
|
5
|
-
* Enables SpecWeave to work with ANY AI coding tool (Claude, Cursor, Copilot, etc.)
|
|
5
|
+
* Enables SpecWeave to work with ANY AI coding tool (Claude, Cursor, Copilot/ChatGPT/Gemini via generic, etc.)
|
|
6
6
|
*/
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=adapter-interface.js.map
|
|
@@ -52,8 +52,7 @@ export declare class AdapterLoader {
|
|
|
52
52
|
* 2. Cursor (if cursor CLI or .cursor/ or .cursorrules exists)
|
|
53
53
|
* 3. Gemini CLI (if gemini CLI found)
|
|
54
54
|
* 4. Codex (if codex CLI found)
|
|
55
|
-
* 5.
|
|
56
|
-
* 6. Generic (only if explicitly requested via --adapter generic)
|
|
55
|
+
* 5. Generic (only if explicitly requested via --adapter generic)
|
|
57
56
|
*
|
|
58
57
|
* @returns Promise<string> Detected tool name (not adapter - Claude has no adapter!)
|
|
59
58
|
*/
|
|
@@ -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;
|
|
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;AASlD,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;;;;;;;;;;;OAWG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBnC;;;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"}
|
|
@@ -9,7 +9,6 @@ import * as path from 'path';
|
|
|
9
9
|
import * as YAML from 'yaml';
|
|
10
10
|
import { execSync } from 'child_process';
|
|
11
11
|
import { CursorAdapter } from './cursor/adapter.js';
|
|
12
|
-
import { CopilotAdapter } from './copilot/adapter.js';
|
|
13
12
|
import { GeminiAdapter } from './gemini/adapter.js';
|
|
14
13
|
import { CodexAdapter } from './codex/adapter.js';
|
|
15
14
|
import { GenericAdapter } from './generic/adapter.js';
|
|
@@ -33,7 +32,6 @@ export class AdapterLoader {
|
|
|
33
32
|
initializeAdapters() {
|
|
34
33
|
// Note: No ClaudeAdapter - Claude is the baseline, not an adaptation!
|
|
35
34
|
this.adapters.set('cursor', new CursorAdapter());
|
|
36
|
-
this.adapters.set('copilot', new CopilotAdapter());
|
|
37
35
|
this.adapters.set('gemini', new GeminiAdapter());
|
|
38
36
|
this.adapters.set('codex', new CodexAdapter());
|
|
39
37
|
this.adapters.set('generic', new GenericAdapter());
|
|
@@ -74,15 +72,14 @@ export class AdapterLoader {
|
|
|
74
72
|
* 2. Cursor (if cursor CLI or .cursor/ or .cursorrules exists)
|
|
75
73
|
* 3. Gemini CLI (if gemini CLI found)
|
|
76
74
|
* 4. Codex (if codex CLI found)
|
|
77
|
-
* 5.
|
|
78
|
-
* 6. Generic (only if explicitly requested via --adapter generic)
|
|
75
|
+
* 5. Generic (only if explicitly requested via --adapter generic)
|
|
79
76
|
*
|
|
80
77
|
* @returns Promise<string> Detected tool name (not adapter - Claude has no adapter!)
|
|
81
78
|
*/
|
|
82
79
|
async detectTool() {
|
|
83
80
|
console.log('🔍 Detecting AI coding tool...\n');
|
|
84
81
|
// Check other tools first (if they have specific indicators)
|
|
85
|
-
const detectionOrder = ['cursor', 'gemini', 'codex'
|
|
82
|
+
const detectionOrder = ['cursor', 'gemini', 'codex'];
|
|
86
83
|
for (const adapterName of detectionOrder) {
|
|
87
84
|
const adapter = this.adapters.get(adapterName);
|
|
88
85
|
if (!adapter)
|
|
@@ -199,7 +196,7 @@ export class AdapterLoader {
|
|
|
199
196
|
if (explicitChoice) {
|
|
200
197
|
const adapter = this.adapters.get(explicitChoice);
|
|
201
198
|
if (!adapter) {
|
|
202
|
-
throw new Error(`Invalid adapter: ${explicitChoice}. Use 'claude', 'cursor',
|
|
199
|
+
throw new Error(`Invalid adapter: ${explicitChoice}. Use 'claude', 'cursor', or 'generic'`);
|
|
203
200
|
}
|
|
204
201
|
return adapter;
|
|
205
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-loader.js","sourceRoot":"","sources":["../../src/adapters/adapter-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter-loader.js","sourceRoot":"","sources":["../../src/adapters/adapter-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* IMPORTANT:
|
|
8
8
|
* - Claude Code does NOT read this file - it only reads CLAUDE.md
|
|
9
|
-
* - This file is for: Cursor,
|
|
9
|
+
* - This file is for: Cursor, GitHub Copilot, ChatGPT, Gemini, and ANY other AI tool
|
|
10
10
|
*
|
|
11
11
|
* This ONE file replaces:
|
|
12
|
-
* - .cursorrules (Cursor)
|
|
13
|
-
* - .github/copilot/instructions.md (Copilot)
|
|
12
|
+
* - .cursorrules (Cursor - legacy)
|
|
13
|
+
* - .github/copilot/instructions.md (Copilot - no longer needed, Copilot reads AGENTS.md)
|
|
14
14
|
* - Any other tool-specific configuration files
|
|
15
15
|
*/
|
|
16
16
|
export interface AgentsMdOptions {
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* IMPORTANT:
|
|
8
8
|
* - Claude Code does NOT read this file - it only reads CLAUDE.md
|
|
9
|
-
* - This file is for: Cursor,
|
|
9
|
+
* - This file is for: Cursor, GitHub Copilot, ChatGPT, Gemini, and ANY other AI tool
|
|
10
10
|
*
|
|
11
11
|
* This ONE file replaces:
|
|
12
|
-
* - .cursorrules (Cursor)
|
|
13
|
-
* - .github/copilot/instructions.md (Copilot)
|
|
12
|
+
* - .cursorrules (Cursor - legacy)
|
|
13
|
+
* - .github/copilot/instructions.md (Copilot - no longer needed, Copilot reads AGENTS.md)
|
|
14
14
|
* - Any other tool-specific configuration files
|
|
15
15
|
*/
|
|
16
16
|
import { DocGenerator } from './doc-generator.js';
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Universal adapter that works with ANY AI tool.
|
|
5
5
|
* All AI tools can read AGENTS.md (universal standard) for workflow instructions.
|
|
6
6
|
*
|
|
7
|
-
* This adapter ensures 100% compatibility - works with
|
|
8
|
-
* Gemini, or literally ANY AI that can read markdown and follow instructions.
|
|
7
|
+
* This adapter ensures 100% compatibility - works with GitHub Copilot, ChatGPT web,
|
|
8
|
+
* Claude web, Gemini, or literally ANY AI that can read markdown and follow instructions.
|
|
9
9
|
*/
|
|
10
10
|
import { AdapterBase } from '../adapter-base.js';
|
|
11
11
|
import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIzD,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAAyF;IACpG,eAAe,EAAG,QAAQ,CAAU;IAEpC;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;IAyHzB;;;;;;OAMG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;YACW,iBAAiB;IAiB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;OAQG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqElD;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCrD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAmB/C"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Universal adapter that works with ANY AI tool.
|
|
5
5
|
* All AI tools can read AGENTS.md (universal standard) for workflow instructions.
|
|
6
6
|
*
|
|
7
|
-
* This adapter ensures 100% compatibility - works with
|
|
8
|
-
* Gemini, or literally ANY AI that can read markdown and follow instructions.
|
|
7
|
+
* This adapter ensures 100% compatibility - works with GitHub Copilot, ChatGPT web,
|
|
8
|
+
* Claude web, Gemini, or literally ANY AI that can read markdown and follow instructions.
|
|
9
9
|
*/
|
|
10
10
|
import * as path from 'path';
|
|
11
11
|
import fs from 'fs-extra';
|
|
@@ -15,7 +15,7 @@ export class GenericAdapter extends AdapterBase {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
17
|
this.name = 'generic';
|
|
18
|
-
this.description = 'Generic adapter - AGENTS.md works with ANY AI tool (ChatGPT, Gemini, etc.)';
|
|
18
|
+
this.description = 'Generic adapter - AGENTS.md works with ANY AI tool (Copilot, ChatGPT, Gemini, etc.)';
|
|
19
19
|
this.automationLevel = 'manual';
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
@@ -43,7 +43,7 @@ export class GenericAdapter extends AdapterBase {
|
|
|
43
43
|
async install(options) {
|
|
44
44
|
console.log('\n📦 Configuring for Universal AI Tool Compatibility\n');
|
|
45
45
|
// No files to install - any AI can read AGENTS.md
|
|
46
|
-
console.log('✅ AGENTS.md works with any AI tool (ChatGPT, Gemini, Claude web, etc.)');
|
|
46
|
+
console.log('✅ AGENTS.md works with any AI tool (Copilot, ChatGPT, Gemini, Claude web, etc.)');
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Post-installation instructions
|
|
@@ -64,19 +64,38 @@ Your project is now configured for ANY AI tool!
|
|
|
64
64
|
|
|
65
65
|
WHAT THIS PROVIDES:
|
|
66
66
|
|
|
67
|
-
- AGENTS.
|
|
68
|
-
-
|
|
67
|
+
- AGENTS.MD (Universal Standard)
|
|
68
|
+
- GitHub Copilot automatically reads this file
|
|
69
|
+
- ChatGPT, Gemini, Claude web can also use it
|
|
69
70
|
- Contains all workflow instructions
|
|
70
71
|
- Project structure and templates
|
|
71
72
|
- Following agents.md standard (https://agents.md/)
|
|
72
73
|
|
|
73
74
|
- 100% Compatibility
|
|
75
|
+
- GitHub Copilot (best experience with AGENTS.md)
|
|
74
76
|
- ChatGPT (web), Claude (web), Gemini
|
|
75
77
|
- Any AI that can read markdown
|
|
76
78
|
|
|
77
79
|
HOW TO USE AGENTS.MD WITH ANY AI:
|
|
78
80
|
|
|
79
|
-
Method 1:
|
|
81
|
+
Method 1: Command Discovery (GitHub Copilot - Recommended!)
|
|
82
|
+
1. AI reads AGENTS.md automatically (Copilot scans project files)
|
|
83
|
+
2. AGENTS.md contains "SpecWeave Commands" section with all 17 commands
|
|
84
|
+
3. Ask: "create increment for payments" or "run /inc payments"
|
|
85
|
+
4. AI reads plugins/specweave/commands/inc.md
|
|
86
|
+
5. AI executes PM-led workflow (market research, spec.md, plan.md, tasks.md)
|
|
87
|
+
6. Increment created - same result as Claude Code!
|
|
88
|
+
|
|
89
|
+
Available commands AI can execute:
|
|
90
|
+
- /inc "feature" - Plan new increment
|
|
91
|
+
- /do - Execute implementation tasks
|
|
92
|
+
- /done 0001 - Close increment
|
|
93
|
+
- /validate 0001 - Quality validation
|
|
94
|
+
- /progress - Check status
|
|
95
|
+
- /sync-docs - Sync living documentation
|
|
96
|
+
... and 11 more commands!
|
|
97
|
+
|
|
98
|
+
Method 2: Copy-Paste Workflow (ChatGPT web, Claude web, etc.)
|
|
80
99
|
1. Open AGENTS.md in your browser/editor
|
|
81
100
|
2. Copy relevant section (e.g., "Creating a Feature Increment")
|
|
82
101
|
3. Paste into AI chat (ChatGPT, Claude web, Gemini, etc.)
|
|
@@ -84,10 +103,10 @@ Method 1: Copy-Paste Workflow (ChatGPT web, Claude web, etc.)
|
|
|
84
103
|
5. AI generates content (spec.md, plan.md, etc.)
|
|
85
104
|
6. Copy AI's response, save to files
|
|
86
105
|
|
|
87
|
-
Method
|
|
106
|
+
Method 3: File System Access (AI with file access)
|
|
88
107
|
1. AI automatically reads AGENTS.md
|
|
89
108
|
2. Ask: "Create increment for user authentication"
|
|
90
|
-
3. AI follows AGENTS.md workflow
|
|
109
|
+
3. AI follows AGENTS.md workflow and command execution instructions
|
|
91
110
|
4. AI creates files directly
|
|
92
111
|
|
|
93
112
|
UNDERSTANDING "MANUAL":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAmB,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAGlG,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAmB,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAGlG,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,qFAAqF,CAAC;QACpG,oBAAe,GAAG,QAAiB,CAAC;IAoWtC,CAAC;IAlWC;;;;;OAKG;IACH,KAAK,CAAC,MAAM;QACV,yDAAyD;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAEtE,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqHN,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,eAAe;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAEvE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,CAAC,kCAAkC;QACjD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAQ,MAAM,CAAC,QAA8B,IAAI,IAAI,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,OAAe,EAAE,QAA2B;QACrE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,CAAC,qDAAqD;QACvE,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAE1D,oEAAoE;QACpE,OAAO,GAAG,YAAY,OAAO,OAAO,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAExE,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,oCAAoC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,YAAY,GAAG,gBAAgB,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAG,OAAO,YAAY,MAAM,CAAC;QAC9C,aAAa,IAAI,aAAa,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QACzD,aAAa,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC;QAEtD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,IAAI,eAAe,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACpF,iCAAiC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACrF,aAAa,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,eAAe,MAAM,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,IAAI,eAAe,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnF,iCAAiC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACxE,aAAa,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,eAAe,MAAM,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,aAAa,IAAI,2BAA2B,CAAC;YAC7C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChE,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACtF,iCAAiC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACrF,aAAa,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,eAAe,MAAM,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,aAAa,IAAI,oBAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAElE,QAAQ,IAAI,aAAa,CAAC;QAC1B,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,gBAAgB,UAAU,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,oBAAoB,UAAU,MAAM,CAAC;QAEvD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,yBAAyB,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,oBAAoB,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACvF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,0CAA0C,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAErD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAmBA,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,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAmBA,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,CA2kBf"}
|
|
@@ -192,10 +192,9 @@ export async function initCommand(projectName, options = {}) {
|
|
|
192
192
|
name: 'selectedTool',
|
|
193
193
|
message: locale.t('cli', 'init.toolDetection.selectPrompt'),
|
|
194
194
|
choices: [
|
|
195
|
-
{ name:
|
|
196
|
-
{ name:
|
|
197
|
-
{ name:
|
|
198
|
-
{ name: locale.t('cli', 'init.toolDetection.tools.generic'), value: 'generic' }
|
|
195
|
+
{ name: `Claude Code (Recommended - Full automation)`, value: 'claude' },
|
|
196
|
+
{ name: 'Cursor (Partial - AGENTS.md compilation, team commands, less reliable)', value: 'cursor' },
|
|
197
|
+
{ name: 'Other (Copilot, ChatGPT, Gemini - Limited: no hooks, manual workflow, high context usage)', value: 'generic' }
|
|
199
198
|
]
|
|
200
199
|
}
|
|
201
200
|
]);
|
|
@@ -256,6 +255,46 @@ export async function initCommand(projectName, options = {}) {
|
|
|
256
255
|
techStack: options.techStack ? { language: options.techStack } : undefined,
|
|
257
256
|
docsApproach: 'incremental'
|
|
258
257
|
});
|
|
258
|
+
// 6. Copy plugins/ folder for non-Claude adapters
|
|
259
|
+
// CRITICAL: Copilot/Cursor/Generic need local plugins/ folder!
|
|
260
|
+
// AGENTS.md instructs AI to read plugins/specweave/commands/*.md
|
|
261
|
+
// Without this folder, those commands don't exist in the project!
|
|
262
|
+
if (toolName !== 'claude') {
|
|
263
|
+
spinner.start('Copying plugins folder for command execution...');
|
|
264
|
+
try {
|
|
265
|
+
const specweavePackageRoot = findPackageRoot(__dirname);
|
|
266
|
+
if (specweavePackageRoot) {
|
|
267
|
+
const sourcePluginsDir = path.join(specweavePackageRoot, 'plugins');
|
|
268
|
+
const targetPluginsDir = path.join(targetDir, 'plugins');
|
|
269
|
+
if (fs.existsSync(sourcePluginsDir)) {
|
|
270
|
+
// Copy entire plugins/ folder from SpecWeave package to user project
|
|
271
|
+
fs.copySync(sourcePluginsDir, targetPluginsDir, {
|
|
272
|
+
overwrite: true,
|
|
273
|
+
filter: (src) => {
|
|
274
|
+
// Exclude .DS_Store and other hidden files
|
|
275
|
+
const basename = path.basename(src);
|
|
276
|
+
return !basename.startsWith('.');
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
spinner.succeed('Plugins folder copied successfully');
|
|
280
|
+
console.log(chalk.green(' ✔ AI can now execute SpecWeave commands'));
|
|
281
|
+
console.log(chalk.gray(' → Copilot/Cursor will read plugins/specweave/commands/*.md'));
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
spinner.warn('Could not find plugins/ in SpecWeave package');
|
|
285
|
+
console.log(chalk.yellow(' → Command execution may not work without plugins/ folder'));
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
spinner.warn('Could not locate SpecWeave package');
|
|
290
|
+
console.log(chalk.yellow(' → Skipping plugins/ folder copy'));
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
spinner.warn('Could not copy plugins folder');
|
|
295
|
+
console.log(chalk.yellow(` ${error instanceof Error ? error.message : error}`));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
259
298
|
// 7. Install core plugin for non-Claude adapters
|
|
260
299
|
// CRITICAL: Cursor/Copilot/Generic need plugin files in project!
|
|
261
300
|
// Claude uses plugin system (global), but others need local files for AGENTS.md/instructions.md
|
|
@@ -521,24 +560,23 @@ function createDirectoryStructure(targetDir, adapterName) {
|
|
|
521
560
|
'.specweave/increments',
|
|
522
561
|
// 5-pillar documentation structure
|
|
523
562
|
'.specweave/docs/internal/strategy', // Business specs (WHAT, WHY)
|
|
524
|
-
'.specweave/docs/internal/
|
|
563
|
+
'.specweave/docs/internal/rfc', // Request for Comments (proposals at all stages)
|
|
564
|
+
'.specweave/docs/internal/architecture', // Technical design (HOW) - accepted designs
|
|
565
|
+
'.specweave/docs/internal/architecture/adr', // Architecture Decision Records
|
|
566
|
+
'.specweave/docs/internal/architecture/diagrams', // Architecture diagrams
|
|
525
567
|
'.specweave/docs/internal/delivery', // Roadmap, CI/CD, guides
|
|
526
568
|
'.specweave/docs/internal/operations', // Runbooks, SLOs
|
|
527
569
|
'.specweave/docs/internal/governance', // Security, compliance
|
|
528
570
|
'.specweave/docs/public', // Published documentation
|
|
529
571
|
];
|
|
530
|
-
// For
|
|
531
|
-
//
|
|
532
|
-
if (adapterName
|
|
533
|
-
directories.push('.claude
|
|
572
|
+
// For Claude Code ONLY: Create .claude/ folder (for settings.json)
|
|
573
|
+
// Non-Claude adapters: NO .claude/ folder (they use plugins/ folder directly)
|
|
574
|
+
if (adapterName === 'claude') {
|
|
575
|
+
directories.push('.claude');
|
|
534
576
|
}
|
|
535
577
|
directories.forEach((dir) => {
|
|
536
578
|
fs.mkdirSync(path.join(targetDir, dir), { recursive: true });
|
|
537
579
|
});
|
|
538
|
-
// For Claude Code: Create .claude/ parent folder (for settings.json)
|
|
539
|
-
if (adapterName === 'claude') {
|
|
540
|
-
fs.mkdirSync(path.join(targetDir, '.claude'), { recursive: true });
|
|
541
|
-
}
|
|
542
580
|
}
|
|
543
581
|
async function copyTemplates(templatesDir, targetDir, projectName, language = 'en') {
|
|
544
582
|
const locale = getLocaleManager(language);
|
|
@@ -1052,15 +1090,6 @@ function showNextSteps(projectName, adapterName, language, usedDotNotation = fal
|
|
|
1052
1090
|
console.log(` ${stepNumber + 2}. ${chalk.white(locale.t('cli', 'init.nextSteps.cursor.step3'))}`);
|
|
1053
1091
|
console.log(` ${locale.t('cli', 'init.nextSteps.cursor.shortcuts')}`);
|
|
1054
1092
|
}
|
|
1055
|
-
else if (adapterName === 'copilot') {
|
|
1056
|
-
console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.copilot.step1'))}`);
|
|
1057
|
-
console.log('');
|
|
1058
|
-
console.log(` ${stepNumber + 1}. ${chalk.white(locale.t('cli', 'init.nextSteps.copilot.step2'))}`);
|
|
1059
|
-
console.log(` ${locale.t('cli', 'init.nextSteps.copilot.action')}`);
|
|
1060
|
-
console.log('');
|
|
1061
|
-
console.log(` ${stepNumber + 2}. ${chalk.white(locale.t('cli', 'init.nextSteps.copilot.step3'))}`);
|
|
1062
|
-
console.log(` ${locale.t('cli', 'init.nextSteps.copilot.example')}`);
|
|
1063
|
-
}
|
|
1064
1093
|
else if (adapterName === 'generic') {
|
|
1065
1094
|
console.log(` ${stepNumber}. ${chalk.white(locale.t('cli', 'init.nextSteps.generic.step1'))}`);
|
|
1066
1095
|
console.log('');
|