specweave 0.6.6 ā 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-plugin/marketplace.json +0 -1
- package/CLAUDE.md +116 -25
- package/README.md +35 -0
- 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 +102 -102
- 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
|
@@ -7,7 +7,26 @@
|
|
|
7
7
|
|
|
8
8
|
set -e
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
# Find project root by searching upward for .specweave/ directory
|
|
11
|
+
# Works regardless of where hook is installed (source or .claude/hooks/)
|
|
12
|
+
find_project_root() {
|
|
13
|
+
local dir="$1"
|
|
14
|
+
while [ "$dir" != "/" ]; do
|
|
15
|
+
if [ -d "$dir/.specweave" ]; then
|
|
16
|
+
echo "$dir"
|
|
17
|
+
return 0
|
|
18
|
+
fi
|
|
19
|
+
dir="$(dirname "$dir")"
|
|
20
|
+
done
|
|
21
|
+
# Fallback: try current directory
|
|
22
|
+
if [ -d "$(pwd)/.specweave" ]; then
|
|
23
|
+
pwd
|
|
24
|
+
else
|
|
25
|
+
echo "$(pwd)"
|
|
26
|
+
fi
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
PROJECT_ROOT="$(find_project_root "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")"
|
|
11
30
|
cd "$PROJECT_ROOT"
|
|
12
31
|
|
|
13
32
|
# Colors
|
|
@@ -54,6 +73,7 @@ if [ -n "$DOC_CHANGES" ]; then
|
|
|
54
73
|
esac
|
|
55
74
|
|
|
56
75
|
# Log to hooks log
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
LOGS_DIR=".specweave/logs"
|
|
77
|
+
mkdir -p "$LOGS_DIR"
|
|
78
|
+
echo "[$(date)] Documentation changed: $DOC_CHANGES" >> "$LOGS_DIR/hooks.log"
|
|
59
79
|
fi
|
|
@@ -10,7 +10,26 @@
|
|
|
10
10
|
|
|
11
11
|
set -e
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
# Find project root by searching upward for .specweave/ directory
|
|
14
|
+
# Works regardless of where hook is installed (source or .claude/hooks/)
|
|
15
|
+
find_project_root() {
|
|
16
|
+
local dir="$1"
|
|
17
|
+
while [ "$dir" != "/" ]; do
|
|
18
|
+
if [ -d "$dir/.specweave" ]; then
|
|
19
|
+
echo "$dir"
|
|
20
|
+
return 0
|
|
21
|
+
fi
|
|
22
|
+
dir="$(dirname "$dir")"
|
|
23
|
+
done
|
|
24
|
+
# Fallback: try current directory
|
|
25
|
+
if [ -d "$(pwd)/.specweave" ]; then
|
|
26
|
+
pwd
|
|
27
|
+
else
|
|
28
|
+
echo "$(pwd)"
|
|
29
|
+
fi
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
PROJECT_ROOT="$(find_project_root "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")"
|
|
14
33
|
cd "$PROJECT_ROOT"
|
|
15
34
|
|
|
16
35
|
# Get question/requirement (passed as argument or default)
|
|
@@ -37,8 +56,9 @@ play_sound() {
|
|
|
37
56
|
play_sound &
|
|
38
57
|
|
|
39
58
|
# 2. Log to main hooks log
|
|
40
|
-
|
|
41
|
-
|
|
59
|
+
LOGS_DIR=".specweave/logs"
|
|
60
|
+
mkdir -p "$LOGS_DIR"
|
|
61
|
+
echo "[$(date)] Human input required: $QUESTION" >> "$LOGS_DIR/hooks.log"
|
|
42
62
|
|
|
43
63
|
# 3. Log to current work context (if exists)
|
|
44
64
|
CURRENT_WORK=$(find .specweave/work -maxdepth 1 -type d -name "current-*" | head -1 || true)
|
|
@@ -28,7 +28,26 @@
|
|
|
28
28
|
|
|
29
29
|
set -e
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
# Find project root by searching upward for .specweave/ directory
|
|
32
|
+
# Works regardless of where hook is installed (source or .claude/hooks/)
|
|
33
|
+
find_project_root() {
|
|
34
|
+
local dir="$1"
|
|
35
|
+
while [ "$dir" != "/" ]; do
|
|
36
|
+
if [ -d "$dir/.specweave" ]; then
|
|
37
|
+
echo "$dir"
|
|
38
|
+
return 0
|
|
39
|
+
fi
|
|
40
|
+
dir="$(dirname "$dir")"
|
|
41
|
+
done
|
|
42
|
+
# Fallback: try current directory
|
|
43
|
+
if [ -d "$(pwd)/.specweave" ]; then
|
|
44
|
+
pwd
|
|
45
|
+
else
|
|
46
|
+
echo "$(pwd)"
|
|
47
|
+
fi
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
PROJECT_ROOT="$(find_project_root "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")"
|
|
32
51
|
cd "$PROJECT_ROOT" 2>/dev/null || true
|
|
33
52
|
|
|
34
53
|
# ============================================================================
|
|
@@ -6,7 +6,26 @@
|
|
|
6
6
|
|
|
7
7
|
set -e
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
# Find project root by searching upward for .specweave/ directory
|
|
10
|
+
# Works regardless of where hook is installed (source or .claude/hooks/)
|
|
11
|
+
find_project_root() {
|
|
12
|
+
local dir="$1"
|
|
13
|
+
while [ "$dir" != "/" ]; do
|
|
14
|
+
if [ -d "$dir/.specweave" ]; then
|
|
15
|
+
echo "$dir"
|
|
16
|
+
return 0
|
|
17
|
+
fi
|
|
18
|
+
dir="$(dirname "$dir")"
|
|
19
|
+
done
|
|
20
|
+
# Fallback: try current directory
|
|
21
|
+
if [ -d "$(pwd)/.specweave" ]; then
|
|
22
|
+
pwd
|
|
23
|
+
else
|
|
24
|
+
echo "$(pwd)"
|
|
25
|
+
fi
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
PROJECT_ROOT="$(find_project_root "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")"
|
|
10
29
|
cd "$PROJECT_ROOT"
|
|
11
30
|
|
|
12
31
|
# Colors
|
|
@@ -40,8 +59,9 @@ else
|
|
|
40
59
|
fi
|
|
41
60
|
|
|
42
61
|
# Log to hooks log
|
|
43
|
-
|
|
44
|
-
|
|
62
|
+
LOGS_DIR=".specweave/logs"
|
|
63
|
+
mkdir -p "$LOGS_DIR"
|
|
64
|
+
echo "[$(date)] Pre-implementation check complete" >> "$LOGS_DIR/hooks.log"
|
|
45
65
|
|
|
46
66
|
echo ""
|
|
47
67
|
echo -e "${GREEN}ā
Pre-implementation check complete${NC}"
|
package/src/adapters/README.md
CHANGED
|
@@ -16,32 +16,31 @@ SpecWeave
|
|
|
16
16
|
ā āāā docs/
|
|
17
17
|
ā
|
|
18
18
|
āāā Adapters (Optional)
|
|
19
|
-
āāā Claude # Full automation
|
|
19
|
+
āāā Claude # Full automation (native)
|
|
20
20
|
ā āāā .claude/skills/
|
|
21
21
|
ā āāā .claude/agents/
|
|
22
22
|
ā āāā .claude/hooks/
|
|
23
23
|
ā
|
|
24
|
-
āāā Cursor #
|
|
25
|
-
ā
|
|
24
|
+
āāā Cursor # Partial automation
|
|
25
|
+
ā āāā .cursorrules (legacy)
|
|
26
|
+
ā āāā AGENTS.md
|
|
26
27
|
ā
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
ā
|
|
30
|
-
āāā Generic # Manual workflow
|
|
31
|
-
āāā SPECWEAVE.md
|
|
28
|
+
āāā Generic # Limited features
|
|
29
|
+
āāā AGENTS.md # Works with Copilot, ChatGPT, Gemini
|
|
32
30
|
```
|
|
33
31
|
|
|
34
32
|
## Available Adapters
|
|
35
33
|
|
|
36
|
-
| Adapter | Automation |
|
|
37
|
-
|
|
38
|
-
| **Claude** | Full (skills, agents, hooks) |
|
|
39
|
-
| **Cursor** |
|
|
40
|
-
| **
|
|
41
|
-
| **Generic** | Manual (step-by-step guide) | 20% (other tools) | ā
Active |
|
|
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 |
|
|
42
39
|
|
|
43
40
|
**Total Market Coverage**: 100% (works with ANY AI tool)
|
|
44
41
|
|
|
42
|
+
**Note**: Claude Code is the only fully reliable option. Others have reduced features and reliability.
|
|
43
|
+
|
|
45
44
|
## Adapter Interface
|
|
46
45
|
|
|
47
46
|
All adapters implement the `IAdapter` interface defined in `adapter-interface.ts`:
|
|
@@ -110,47 +109,17 @@ Only load files listed in manifest.
|
|
|
110
109
|
|
|
111
110
|
---
|
|
112
111
|
|
|
113
|
-
### 3.
|
|
114
|
-
|
|
115
|
-
**Files Installed**:
|
|
116
|
-
- `.github/copilot/instructions.md` - Workspace instructions for Copilot
|
|
117
|
-
|
|
118
|
-
**Features**:
|
|
119
|
-
- Workspace-level guidance read by Copilot
|
|
120
|
-
- Context manifests referenced in instructions
|
|
121
|
-
- Suggestions based on SpecWeave structure
|
|
122
|
-
|
|
123
|
-
**Instruction File** (.github/copilot/instructions.md):
|
|
124
|
-
```markdown
|
|
125
|
-
# SpecWeave Workspace Instructions
|
|
126
|
-
|
|
127
|
-
## Project Overview
|
|
128
|
-
This project uses SpecWeave for spec-driven development.
|
|
129
|
-
|
|
130
|
-
## Workflow: Creating Features
|
|
131
|
-
1. Create increment folder: `.specweave/increments/####-short-name/`
|
|
132
|
-
2. Create spec.md (WHAT and WHY)
|
|
133
|
-
3. Create plan.md (HOW)
|
|
134
|
-
4. Create tasks.md (Implementation)
|
|
135
|
-
|
|
136
|
-
## Context Loading (CRITICAL)
|
|
137
|
-
Always read context-manifest.yaml first!
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**Detection**: Checks for GitHub Copilot extension in VS Code
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
### 4. Generic Adapter (Manual Workflow)
|
|
112
|
+
### 3. Generic Adapter (Limited Features)
|
|
145
113
|
|
|
146
114
|
**Files Installed**:
|
|
147
|
-
- `
|
|
115
|
+
- `AGENTS.md` - Universal instruction file for all AI tools
|
|
148
116
|
|
|
149
117
|
**Features**:
|
|
150
|
-
- Works with
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
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
|
|
154
123
|
|
|
155
124
|
**Manual Guide** (SPECWEAVE.md):
|
|
156
125
|
```markdown
|
|
@@ -186,17 +155,13 @@ Copy files listed in `context-manifest.yaml` to your AI chat.
|
|
|
186
155
|
- Cursor reads `.cursorrules` which contains workflow instructions
|
|
187
156
|
- AI follows instructions step-by-step
|
|
188
157
|
|
|
189
|
-
###
|
|
190
|
-
-
|
|
191
|
-
- Copilot reads
|
|
192
|
-
-
|
|
193
|
-
|
|
194
|
-
### Generic (Manual Copy-Paste)
|
|
195
|
-
- User reads `SPECWEAVE.md`
|
|
196
|
-
- User copies relevant sections to AI chat
|
|
197
|
-
- User guides AI through workflow manually
|
|
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
|
|
198
163
|
|
|
199
|
-
**Pattern**:
|
|
164
|
+
**Pattern**: AGENTS.md is the universal instruction format. Only Claude Code uses native plugins (.claude/).
|
|
200
165
|
|
|
201
166
|
## Installation
|
|
202
167
|
|
|
@@ -209,8 +174,7 @@ npx specweave init my-project
|
|
|
209
174
|
# Or specify adapter explicitly
|
|
210
175
|
npx specweave init my-project --adapter claude
|
|
211
176
|
npx specweave init my-project --adapter cursor
|
|
212
|
-
npx specweave init my-project --adapter
|
|
213
|
-
npx specweave init my-project --adapter generic
|
|
177
|
+
npx specweave init my-project --adapter generic # For Copilot, ChatGPT, Gemini
|
|
214
178
|
```
|
|
215
179
|
|
|
216
180
|
### For Developers (Install All Adapters)
|
|
@@ -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
|
|
|
8
8
|
import type { Plugin } from '../core/types/plugin.js';
|
|
@@ -34,11 +34,12 @@ export type AutomationLevel = 'full' | 'semi' | 'basic' | 'manual';
|
|
|
34
34
|
/**
|
|
35
35
|
* Base Adapter Interface
|
|
36
36
|
*
|
|
37
|
-
* All adapters (
|
|
37
|
+
* All adapters (Cursor, Generic) must implement this interface.
|
|
38
|
+
* Note: Claude Code is NOT an adapter - it's the native baseline experience.
|
|
38
39
|
*/
|
|
39
40
|
export interface IAdapter {
|
|
40
41
|
/**
|
|
41
|
-
* Adapter name (e.g., '
|
|
42
|
+
* Adapter name (e.g., 'cursor', 'generic')
|
|
42
43
|
*/
|
|
43
44
|
name: string;
|
|
44
45
|
|
|
@@ -60,9 +61,8 @@ export interface IAdapter {
|
|
|
60
61
|
* Detect if this adapter's tool is present in the environment
|
|
61
62
|
*
|
|
62
63
|
* Examples:
|
|
63
|
-
* - Claude: Check for Claude Code CLI
|
|
64
64
|
* - Cursor: Check for .cursor/ directory or Cursor process
|
|
65
|
-
* -
|
|
65
|
+
* - Generic: Always true (fallback for any tool)
|
|
66
66
|
*
|
|
67
67
|
* @returns Promise<boolean> True if tool detected
|
|
68
68
|
*/
|
|
@@ -90,7 +90,7 @@ export interface IAdapter {
|
|
|
90
90
|
/**
|
|
91
91
|
* Install this adapter to a project
|
|
92
92
|
*
|
|
93
|
-
* Creates tool-specific files (e.g., .cursorrules, .
|
|
93
|
+
* Creates tool-specific files (e.g., .cursorrules for Cursor, AGENTS.md for all)
|
|
94
94
|
* Installs relevant skills/agents if applicable
|
|
95
95
|
*
|
|
96
96
|
* @param options Installation options
|
|
@@ -124,8 +124,8 @@ export interface IAdapter {
|
|
|
124
124
|
* Check if this adapter supports plugins
|
|
125
125
|
*
|
|
126
126
|
* Returns true if the adapter can install and compile plugins
|
|
127
|
-
* (
|
|
128
|
-
* Returns false for
|
|
127
|
+
* (Cursor AGENTS.md compilation, Generic AGENTS.md)
|
|
128
|
+
* Returns false for manual-only adapters
|
|
129
129
|
*
|
|
130
130
|
* @returns boolean True if plugins are supported
|
|
131
131
|
*/
|
|
@@ -135,10 +135,10 @@ export interface IAdapter {
|
|
|
135
135
|
* Compile and install a plugin for this adapter
|
|
136
136
|
*
|
|
137
137
|
* Transforms plugin content (skills/agents/commands) to tool-specific format:
|
|
138
|
-
* - Claude: Copy to .claude/skills/, .claude/agents/, .claude/commands/
|
|
139
138
|
* - Cursor: Compile to AGENTS.md + team commands JSON
|
|
140
|
-
* -
|
|
141
|
-
*
|
|
139
|
+
* - Generic: Compile to AGENTS.md for Copilot/ChatGPT/Gemini
|
|
140
|
+
*
|
|
141
|
+
* Note: Claude Code uses native plugin system (no compilation needed)
|
|
142
142
|
*
|
|
143
143
|
* @param plugin Plugin to compile and install
|
|
144
144
|
* @returns Promise<void>
|
|
@@ -11,7 +11,6 @@ import * as YAML from 'yaml';
|
|
|
11
11
|
import { execSync } from 'child_process';
|
|
12
12
|
import { IAdapter } from './adapter-interface.js';
|
|
13
13
|
import { CursorAdapter } from './cursor/adapter.js';
|
|
14
|
-
import { CopilotAdapter } from './copilot/adapter.js';
|
|
15
14
|
import { GeminiAdapter } from './gemini/adapter.js';
|
|
16
15
|
import { CodexAdapter } from './codex/adapter.js';
|
|
17
16
|
import { GenericAdapter } from './generic/adapter.js';
|
|
@@ -53,7 +52,6 @@ export class AdapterLoader {
|
|
|
53
52
|
private initializeAdapters(): void {
|
|
54
53
|
// Note: No ClaudeAdapter - Claude is the baseline, not an adaptation!
|
|
55
54
|
this.adapters.set('cursor', new CursorAdapter());
|
|
56
|
-
this.adapters.set('copilot', new CopilotAdapter());
|
|
57
55
|
this.adapters.set('gemini', new GeminiAdapter());
|
|
58
56
|
this.adapters.set('codex', new CodexAdapter());
|
|
59
57
|
this.adapters.set('generic', new GenericAdapter());
|
|
@@ -101,8 +99,7 @@ export class AdapterLoader {
|
|
|
101
99
|
* 2. Cursor (if cursor CLI or .cursor/ or .cursorrules exists)
|
|
102
100
|
* 3. Gemini CLI (if gemini CLI found)
|
|
103
101
|
* 4. Codex (if codex CLI found)
|
|
104
|
-
* 5.
|
|
105
|
-
* 6. Generic (only if explicitly requested via --adapter generic)
|
|
102
|
+
* 5. Generic (only if explicitly requested via --adapter generic)
|
|
106
103
|
*
|
|
107
104
|
* @returns Promise<string> Detected tool name (not adapter - Claude has no adapter!)
|
|
108
105
|
*/
|
|
@@ -110,7 +107,7 @@ export class AdapterLoader {
|
|
|
110
107
|
console.log('š Detecting AI coding tool...\n');
|
|
111
108
|
|
|
112
109
|
// Check other tools first (if they have specific indicators)
|
|
113
|
-
const detectionOrder = ['cursor', 'gemini', 'codex'
|
|
110
|
+
const detectionOrder = ['cursor', 'gemini', 'codex'];
|
|
114
111
|
|
|
115
112
|
for (const adapterName of detectionOrder) {
|
|
116
113
|
const adapter = this.adapters.get(adapterName);
|
|
@@ -241,7 +238,7 @@ export class AdapterLoader {
|
|
|
241
238
|
if (explicitChoice) {
|
|
242
239
|
const adapter = this.adapters.get(explicitChoice);
|
|
243
240
|
if (!adapter) {
|
|
244
|
-
throw new Error(`Invalid adapter: ${explicitChoice}. Use 'claude', 'cursor',
|
|
241
|
+
throw new Error(`Invalid adapter: ${explicitChoice}. Use 'claude', 'cursor', or 'generic'`);
|
|
245
242
|
}
|
|
246
243
|
return adapter;
|
|
247
244
|
}
|
|
@@ -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
|
|
|
@@ -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
|
|
|
11
11
|
import * as path from 'path';
|
|
@@ -18,7 +18,7 @@ import type { SupportedLanguage } from '../../core/i18n/types.js';
|
|
|
18
18
|
|
|
19
19
|
export class GenericAdapter extends AdapterBase {
|
|
20
20
|
name = 'generic';
|
|
21
|
-
description = 'Generic adapter - AGENTS.md works with ANY AI tool (ChatGPT, Gemini, etc.)';
|
|
21
|
+
description = 'Generic adapter - AGENTS.md works with ANY AI tool (Copilot, ChatGPT, Gemini, etc.)';
|
|
22
22
|
automationLevel = 'manual' as const;
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -49,7 +49,7 @@ export class GenericAdapter extends AdapterBase {
|
|
|
49
49
|
console.log('\nš¦ Configuring for Universal AI Tool Compatibility\n');
|
|
50
50
|
|
|
51
51
|
// No files to install - any AI can read AGENTS.md
|
|
52
|
-
console.log('ā
AGENTS.md works with any AI tool (ChatGPT, Gemini, Claude web, etc.)');
|
|
52
|
+
console.log('ā
AGENTS.md works with any AI tool (Copilot, ChatGPT, Gemini, Claude web, etc.)');
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -72,19 +72,38 @@ Your project is now configured for ANY AI tool!
|
|
|
72
72
|
|
|
73
73
|
WHAT THIS PROVIDES:
|
|
74
74
|
|
|
75
|
-
- AGENTS.
|
|
76
|
-
-
|
|
75
|
+
- AGENTS.MD (Universal Standard)
|
|
76
|
+
- GitHub Copilot automatically reads this file
|
|
77
|
+
- ChatGPT, Gemini, Claude web can also use it
|
|
77
78
|
- Contains all workflow instructions
|
|
78
79
|
- Project structure and templates
|
|
79
80
|
- Following agents.md standard (https://agents.md/)
|
|
80
81
|
|
|
81
82
|
- 100% Compatibility
|
|
83
|
+
- GitHub Copilot (best experience with AGENTS.md)
|
|
82
84
|
- ChatGPT (web), Claude (web), Gemini
|
|
83
85
|
- Any AI that can read markdown
|
|
84
86
|
|
|
85
87
|
HOW TO USE AGENTS.MD WITH ANY AI:
|
|
86
88
|
|
|
87
|
-
Method 1:
|
|
89
|
+
Method 1: Command Discovery (GitHub Copilot - Recommended!)
|
|
90
|
+
1. AI reads AGENTS.md automatically (Copilot scans project files)
|
|
91
|
+
2. AGENTS.md contains "SpecWeave Commands" section with all 17 commands
|
|
92
|
+
3. Ask: "create increment for payments" or "run /inc payments"
|
|
93
|
+
4. AI reads plugins/specweave/commands/inc.md
|
|
94
|
+
5. AI executes PM-led workflow (market research, spec.md, plan.md, tasks.md)
|
|
95
|
+
6. Increment created - same result as Claude Code!
|
|
96
|
+
|
|
97
|
+
Available commands AI can execute:
|
|
98
|
+
- /inc "feature" - Plan new increment
|
|
99
|
+
- /do - Execute implementation tasks
|
|
100
|
+
- /done 0001 - Close increment
|
|
101
|
+
- /validate 0001 - Quality validation
|
|
102
|
+
- /progress - Check status
|
|
103
|
+
- /sync-docs - Sync living documentation
|
|
104
|
+
... and 11 more commands!
|
|
105
|
+
|
|
106
|
+
Method 2: Copy-Paste Workflow (ChatGPT web, Claude web, etc.)
|
|
88
107
|
1. Open AGENTS.md in your browser/editor
|
|
89
108
|
2. Copy relevant section (e.g., "Creating a Feature Increment")
|
|
90
109
|
3. Paste into AI chat (ChatGPT, Claude web, Gemini, etc.)
|
|
@@ -92,10 +111,10 @@ Method 1: Copy-Paste Workflow (ChatGPT web, Claude web, etc.)
|
|
|
92
111
|
5. AI generates content (spec.md, plan.md, etc.)
|
|
93
112
|
6. Copy AI's response, save to files
|
|
94
113
|
|
|
95
|
-
Method
|
|
114
|
+
Method 3: File System Access (AI with file access)
|
|
96
115
|
1. AI automatically reads AGENTS.md
|
|
97
116
|
2. Ask: "Create increment for user authentication"
|
|
98
|
-
3. AI follows AGENTS.md workflow
|
|
117
|
+
3. AI follows AGENTS.md workflow and command execution instructions
|
|
99
118
|
4. AI creates files directly
|
|
100
119
|
|
|
101
120
|
UNDERSTANDING "MANUAL":
|