ai-devx 1.0.4 → 1.0.6
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/README.md +110 -52
- package/bin/cli.js +27 -8
- package/package.json +1 -1
- package/src/commands/init.js +43 -18
- package/src/commands/shell.js +358 -0
- package/src/commands/status.js +76 -39
- package/src/commands/update.js +84 -56
- package/src/config.js +116 -49
- package/src/utils/fileSystem.js +23 -12
package/README.md
CHANGED
|
@@ -20,38 +20,62 @@ AI-DEVX is a powerful CLI tool that installs AI agent templates into your projec
|
|
|
20
20
|
|
|
21
21
|
### Installation
|
|
22
22
|
|
|
23
|
+
AI-DEVX supports assistant-specific installations with different folder names:
|
|
24
|
+
|
|
23
25
|
```bash
|
|
24
|
-
#
|
|
26
|
+
# Default installation (universal, all assistants)
|
|
25
27
|
npx ai-devx init
|
|
28
|
+
# Creates: .agent/ folder (includes both Claude and Gemini)
|
|
29
|
+
|
|
30
|
+
# Claude-specific installation
|
|
31
|
+
npx ai-devx init --assistant claude
|
|
32
|
+
# Creates: .claude/ folder (includes only Claude rules)
|
|
33
|
+
|
|
34
|
+
# Gemini-specific installation
|
|
35
|
+
npx ai-devx init --assistant gemini
|
|
36
|
+
# Creates: .gemini/ folder (includes only Gemini rules)
|
|
26
37
|
|
|
27
38
|
# Or install globally
|
|
28
39
|
npm install -g ai-devx
|
|
29
|
-
ai-devx init
|
|
40
|
+
ai-devx init --assistant claude
|
|
30
41
|
```
|
|
31
42
|
|
|
32
|
-
|
|
43
|
+
**Folder Mapping:**
|
|
44
|
+
|
|
45
|
+
- No `--assistant` flag → `.agent/` folder (universal, all assistants)
|
|
46
|
+
- `--assistant claude` → `.claude/` folder (Claude-specific)
|
|
47
|
+
- `--assistant gemini` → `.gemini/` folder (Gemini-specific)
|
|
48
|
+
|
|
49
|
+
This allows you to have separate configurations for different AI assistants in the same project.
|
|
33
50
|
|
|
34
51
|
### Important: Git Configuration
|
|
35
52
|
|
|
36
|
-
If you are using AI-powered editors like **Cursor** or **Windsurf**, adding the
|
|
53
|
+
If you are using AI-powered editors like **Cursor** or **Windsurf**, adding the agent folder to your `.gitignore` may prevent the IDE from indexing the workflows. This results in slash commands (like `/plan`, `/debug`) not appearing in the chat suggestion dropdown.
|
|
37
54
|
|
|
38
|
-
**Recommended Solution:** To keep the
|
|
55
|
+
**Recommended Solution:** To keep the agent folder local (not tracked by Git) while maintaining AI functionality:
|
|
39
56
|
|
|
40
|
-
1. Ensure `.agent/` is **NOT** in your project's `.gitignore`
|
|
57
|
+
1. Ensure the agent folder (`.agent/`, `.claude/`, or `.gemini/`) is **NOT** in your project's `.gitignore`
|
|
41
58
|
2. Instead, add it to your local exclude file: `.git/info/exclude`
|
|
42
59
|
|
|
43
60
|
```bash
|
|
61
|
+
# For .agent/ folder
|
|
44
62
|
echo ".agent/" >> .git/info/exclude
|
|
63
|
+
|
|
64
|
+
# For .claude/ folder
|
|
65
|
+
echo ".claude/" >> .git/info/exclude
|
|
66
|
+
|
|
67
|
+
# For .gemini/ folder
|
|
68
|
+
echo ".gemini/" >> .git/info/exclude
|
|
45
69
|
```
|
|
46
70
|
|
|
47
71
|
## 📦 What's Included
|
|
48
72
|
|
|
49
|
-
| Component
|
|
50
|
-
|
|
51
|
-
| **Agents**
|
|
52
|
-
| **Skills**
|
|
53
|
-
| **Workflows** | 9
|
|
54
|
-
| **Scripts**
|
|
73
|
+
| Component | Count | Description |
|
|
74
|
+
| ------------- | ----- | --------------------------------- |
|
|
75
|
+
| **Agents** | 9 | Specialist AI personas |
|
|
76
|
+
| **Skills** | 5+ | Domain-specific knowledge modules |
|
|
77
|
+
| **Workflows** | 9 | Slash command procedures |
|
|
78
|
+
| **Scripts** | 2 | Validation and automation tools |
|
|
55
79
|
|
|
56
80
|
### Agents
|
|
57
81
|
|
|
@@ -83,6 +107,7 @@ AI: 🤖 Using @debugger for systematic analysis...
|
|
|
83
107
|
```
|
|
84
108
|
|
|
85
109
|
**How it works:**
|
|
110
|
+
|
|
86
111
|
- Analyzes your request silently
|
|
87
112
|
- Detects domain(s) automatically (frontend, backend, security, etc.)
|
|
88
113
|
- Selects the best specialist(s)
|
|
@@ -90,6 +115,7 @@ AI: 🤖 Using @debugger for systematic analysis...
|
|
|
90
115
|
- You get specialist-level responses without needing to know the system architecture
|
|
91
116
|
|
|
92
117
|
**Benefits:**
|
|
118
|
+
|
|
93
119
|
- ✅ Zero learning curve - just describe what you need
|
|
94
120
|
- ✅ Always get expert responses
|
|
95
121
|
- ✅ Transparent - shows which agent is being used
|
|
@@ -99,16 +125,17 @@ AI: 🤖 Using @debugger for systematic analysis...
|
|
|
99
125
|
|
|
100
126
|
Invoke workflows with slash commands:
|
|
101
127
|
|
|
102
|
-
| Command
|
|
103
|
-
|
|
104
|
-
| `/plan`
|
|
105
|
-
| `/create`
|
|
106
|
-
| `/debug`
|
|
107
|
-
| `/test`
|
|
108
|
-
| `/deploy`
|
|
109
|
-
| `/security` | Security audit and fixes
|
|
128
|
+
| Command | Description |
|
|
129
|
+
| ----------- | --------------------------------------------- |
|
|
130
|
+
| `/plan` | Create task breakdown and implementation plan |
|
|
131
|
+
| `/create` | Create new features or apps |
|
|
132
|
+
| `/debug` | Systematic debugging |
|
|
133
|
+
| `/test` | Generate and run tests |
|
|
134
|
+
| `/deploy` | Deploy application |
|
|
135
|
+
| `/security` | Security audit and fixes |
|
|
110
136
|
|
|
111
137
|
Example:
|
|
138
|
+
|
|
112
139
|
```
|
|
113
140
|
/plan user authentication system
|
|
114
141
|
/create login form component
|
|
@@ -122,6 +149,7 @@ Example:
|
|
|
122
149
|
Skills are loaded automatically based on task context. The AI reads skill descriptions and applies relevant knowledge.
|
|
123
150
|
|
|
124
151
|
**Available Skills:**
|
|
152
|
+
|
|
125
153
|
- **react-best-practices** - React hooks, patterns, performance
|
|
126
154
|
- **api-patterns** - REST API design, authentication, best practices
|
|
127
155
|
- **testing-patterns** - Unit, integration, E2E testing strategies
|
|
@@ -132,21 +160,30 @@ Skills are loaded automatically based on task context. The AI reads skill descri
|
|
|
132
160
|
|
|
133
161
|
### Commands
|
|
134
162
|
|
|
135
|
-
| Command
|
|
136
|
-
|
|
137
|
-
| `ai-devx init`
|
|
138
|
-
| `ai-devx
|
|
139
|
-
| `ai-devx
|
|
163
|
+
| Command | Description |
|
|
164
|
+
| --------------------------------- | ------------------------------------------- |
|
|
165
|
+
| `ai-devx init` | Install `.agent` folder into your project |
|
|
166
|
+
| `ai-devx init --assistant claude` | Install `.claude` folder (Claude-specific) |
|
|
167
|
+
| `ai-devx init --assistant gemini` | Install `.gemini` folder (Gemini-specific) |
|
|
168
|
+
| `ai-devx shell` | Start interactive shell to browse resources |
|
|
169
|
+
| `ai-devx update` | Update to the latest version |
|
|
170
|
+
| `ai-devx status` | Check installation status |
|
|
140
171
|
|
|
141
172
|
### Options
|
|
142
173
|
|
|
143
174
|
```bash
|
|
144
|
-
|
|
145
|
-
ai-devx init
|
|
146
|
-
ai-devx init --
|
|
147
|
-
ai-devx init --
|
|
148
|
-
ai-devx init --
|
|
149
|
-
ai-devx
|
|
175
|
+
# Installation options
|
|
176
|
+
ai-devx init # Install to .agent/ (universal)
|
|
177
|
+
ai-devx init --assistant claude # Install to .claude/ (Claude-specific)
|
|
178
|
+
ai-devx init --assistant gemini # Install to .gemini/ (Gemini-specific)
|
|
179
|
+
ai-devx init --force # Overwrite existing folder
|
|
180
|
+
ai-devx init --path ./myapp # Install in specific directory
|
|
181
|
+
ai-devx init --branch dev # Use specific branch
|
|
182
|
+
ai-devx init --quiet # Suppress output (for CI/CD)
|
|
183
|
+
ai-devx init --dry-run # Preview actions without executing
|
|
184
|
+
|
|
185
|
+
# Update options
|
|
186
|
+
ai-devx update --backup # Create backup before updating
|
|
150
187
|
```
|
|
151
188
|
|
|
152
189
|
### Validation Scripts
|
|
@@ -163,30 +200,49 @@ node .agent/scripts/security_scan.js
|
|
|
163
200
|
|
|
164
201
|
## 📁 Project Structure
|
|
165
202
|
|
|
203
|
+
AI-DEVX can be installed to different folders depending on your assistant preference:
|
|
204
|
+
|
|
205
|
+
### Universal Installation (`.agent/`)
|
|
206
|
+
|
|
166
207
|
```
|
|
167
208
|
.agent/
|
|
168
209
|
├── agents/ # Agent definitions
|
|
169
|
-
│ ├── frontend-specialist.md
|
|
170
|
-
│ ├── backend-specialist.md
|
|
171
|
-
│ ├── security-auditor.md
|
|
172
|
-
│ └── ...
|
|
173
210
|
├── skills/ # Skill modules
|
|
174
|
-
│ ├── react-best-practices/
|
|
175
|
-
│ ├── api-patterns/
|
|
176
|
-
│ ├── testing-patterns/
|
|
177
|
-
│ └── ...
|
|
178
211
|
├── workflows/ # Workflow definitions
|
|
179
|
-
│ ├── plan.md
|
|
180
|
-
│ ├── create.md
|
|
181
|
-
│ ├── debug.md
|
|
182
|
-
│ └── ...
|
|
183
212
|
├── scripts/ # Validation scripts
|
|
184
|
-
|
|
185
|
-
│
|
|
213
|
+
├── rules/ # Assistant rules
|
|
214
|
+
│ ├── CLAUDE.md
|
|
215
|
+
│ └── GEMINI.md
|
|
186
216
|
├── VERSION # Current version
|
|
187
217
|
└── config.json # Installation config
|
|
188
218
|
```
|
|
189
219
|
|
|
220
|
+
### Claude-Specific Installation (`.claude/`)
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
.claude/
|
|
224
|
+
├── agents/ # Agent definitions
|
|
225
|
+
├── skills/ # Skill modules
|
|
226
|
+
├── workflows/ # Workflow definitions
|
|
227
|
+
├── scripts/ # Validation scripts
|
|
228
|
+
├── rules/
|
|
229
|
+
│ └── CLAUDE.md # Only Claude rules
|
|
230
|
+
└── config.json
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Gemini-Specific Installation (`.gemini/`)
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
.gemini/
|
|
237
|
+
├── agents/ # Agent definitions
|
|
238
|
+
├── skills/ # Skill modules
|
|
239
|
+
├── workflows/ # Workflow definitions
|
|
240
|
+
├── scripts/ # Validation scripts
|
|
241
|
+
├── rules/
|
|
242
|
+
│ └── GEMINI.md # Only Gemini rules
|
|
243
|
+
└── config.json
|
|
244
|
+
```
|
|
245
|
+
|
|
190
246
|
## 🔄 How It Works
|
|
191
247
|
|
|
192
248
|
```
|
|
@@ -238,7 +294,7 @@ Next steps:
|
|
|
238
294
|
|
|
239
295
|
### Debugging
|
|
240
296
|
|
|
241
|
-
|
|
297
|
+
````
|
|
242
298
|
User: /debug Login button not working
|
|
243
299
|
|
|
244
300
|
AI: 🤖 Applying @debugger...
|
|
@@ -253,17 +309,20 @@ Event handler not bound correctly in React component.
|
|
|
253
309
|
// Before
|
|
254
310
|
<button onClick={handleLogin}>Login</button>
|
|
255
311
|
|
|
256
|
-
// After
|
|
312
|
+
// After
|
|
257
313
|
<button onClick={() => handleLogin()}>Login</button>
|
|
258
|
-
|
|
314
|
+
````
|
|
259
315
|
|
|
260
316
|
### Verification
|
|
317
|
+
|
|
261
318
|
✅ Button now triggers login function
|
|
319
|
+
|
|
262
320
|
```
|
|
263
321
|
|
|
264
322
|
### Security Audit
|
|
265
323
|
|
|
266
324
|
```
|
|
325
|
+
|
|
267
326
|
User: /security
|
|
268
327
|
|
|
269
328
|
AI: 🤖 Applying @security-auditor...
|
|
@@ -275,9 +334,11 @@ AI: 🤖 Applying @security-auditor...
|
|
|
275
334
|
🟡 Medium: 2
|
|
276
335
|
|
|
277
336
|
### Critical Issue
|
|
337
|
+
|
|
278
338
|
Hardcoded API key in src/config.ts:15
|
|
279
339
|
|
|
280
340
|
Fix: Move to environment variables
|
|
341
|
+
|
|
281
342
|
```
|
|
282
343
|
|
|
283
344
|
## 🛡️ Security
|
|
@@ -311,10 +372,6 @@ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md)
|
|
|
311
372
|
|
|
312
373
|
MIT © [kmamtora](https://github.com/kmamtora)
|
|
313
374
|
|
|
314
|
-
## 🙏 Acknowledgments
|
|
315
|
-
|
|
316
|
-
Inspired by [antigravity-kit](https://github.com/vudovn/antigravity-kit) - An amazing AI agent toolkit.
|
|
317
|
-
|
|
318
375
|
## 📞 Support
|
|
319
376
|
|
|
320
377
|
- GitHub Issues: [Report a bug](https://github.com/kmamtora/ai-devx/issues)
|
|
@@ -323,3 +380,4 @@ Inspired by [antigravity-kit](https://github.com/vudovn/antigravity-kit) - An am
|
|
|
323
380
|
---
|
|
324
381
|
|
|
325
382
|
**Happy Coding!** 🤖✨
|
|
383
|
+
```
|
package/bin/cli.js
CHANGED
|
@@ -6,6 +6,7 @@ const pkg = require("../package.json");
|
|
|
6
6
|
const initCommand = require("../src/commands/init");
|
|
7
7
|
const updateCommand = require("../src/commands/update");
|
|
8
8
|
const statusCommand = require("../src/commands/status");
|
|
9
|
+
const shellCommand = require("../src/commands/shell");
|
|
9
10
|
|
|
10
11
|
console.log(
|
|
11
12
|
chalk.cyan.bold(`
|
|
@@ -40,8 +41,7 @@ program
|
|
|
40
41
|
)
|
|
41
42
|
.option(
|
|
42
43
|
"-a, --assistant <assistants>",
|
|
43
|
-
"Comma-separated list of assistants (claude,gemini
|
|
44
|
-
"all",
|
|
44
|
+
"Comma-separated list of assistants (claude,gemini) - installs to .claude/.gemini folder",
|
|
45
45
|
)
|
|
46
46
|
.action(initCommand);
|
|
47
47
|
|
|
@@ -59,31 +59,50 @@ program
|
|
|
59
59
|
.option("-p, --path <path>", "Check specific directory", process.cwd())
|
|
60
60
|
.action(statusCommand);
|
|
61
61
|
|
|
62
|
+
program
|
|
63
|
+
.command("shell [path]")
|
|
64
|
+
.description(
|
|
65
|
+
"Start interactive shell to browse skills, agents, and workflows",
|
|
66
|
+
)
|
|
67
|
+
.action(shellCommand);
|
|
68
|
+
|
|
62
69
|
program.on("--help", () => {
|
|
63
70
|
console.log("");
|
|
64
71
|
console.log(chalk.bold("Examples:"));
|
|
65
72
|
console.log(
|
|
66
|
-
" $ ai-devx init # Install
|
|
73
|
+
" $ ai-devx init # Install to .agent/ folder",
|
|
67
74
|
);
|
|
68
75
|
console.log(
|
|
69
|
-
" $ ai-devx init --
|
|
76
|
+
" $ ai-devx init --assistant claude # Install to .claude/ folder",
|
|
70
77
|
);
|
|
71
78
|
console.log(
|
|
72
|
-
" $ ai-devx init --
|
|
79
|
+
" $ ai-devx init --assistant gemini # Install to .gemini/ folder",
|
|
80
|
+
);
|
|
81
|
+
console.log(
|
|
82
|
+
" $ ai-devx init --path ./my-project # Install in specific directory",
|
|
73
83
|
);
|
|
74
84
|
console.log(
|
|
75
|
-
" $ ai-devx init --
|
|
85
|
+
" $ ai-devx init --force # Overwrite existing installation",
|
|
76
86
|
);
|
|
77
87
|
console.log(
|
|
78
|
-
" $ ai-devx
|
|
88
|
+
" $ ai-devx shell # Start interactive shell",
|
|
79
89
|
);
|
|
80
90
|
console.log(" $ ai-devx update # Update templates");
|
|
81
91
|
console.log(
|
|
82
92
|
" $ ai-devx status # Check installation status",
|
|
83
93
|
);
|
|
84
94
|
console.log("");
|
|
95
|
+
console.log(chalk.bold("Folder Structure:"));
|
|
96
|
+
console.log(
|
|
97
|
+
" Without --assistant: .agent/ (universal, all assistants)",
|
|
98
|
+
);
|
|
99
|
+
console.log(" --assistant claude: .claude/ (Claude-specific)");
|
|
100
|
+
console.log(" --assistant gemini: .gemini/ (Gemini-specific)");
|
|
101
|
+
console.log("");
|
|
85
102
|
console.log(chalk.bold("Quick Start:"));
|
|
86
|
-
console.log(" $ npx ai-devx init");
|
|
103
|
+
console.log(" $ npx ai-devx init --assistant claude");
|
|
104
|
+
console.log(" $ npx ai-devx init --assistant gemini");
|
|
105
|
+
console.log(" $ npx ai-devx shell");
|
|
87
106
|
console.log("");
|
|
88
107
|
});
|
|
89
108
|
|
package/package.json
CHANGED
package/src/commands/init.js
CHANGED
|
@@ -20,20 +20,45 @@ async function initCommand(options) {
|
|
|
20
20
|
|
|
21
21
|
try {
|
|
22
22
|
const absolutePath = path.resolve(targetPath);
|
|
23
|
-
|
|
23
|
+
|
|
24
|
+
// Parse assistant selection
|
|
25
|
+
let selectedAssistants;
|
|
26
|
+
let targetFolder;
|
|
27
|
+
|
|
28
|
+
if (!assistant || assistant === "all") {
|
|
29
|
+
// No assistant specified or 'all' - use .agent folder with all assistants
|
|
30
|
+
selectedAssistants = ["claude", "gemini"];
|
|
31
|
+
targetFolder = config.AGENT_FOLDER;
|
|
32
|
+
} else {
|
|
33
|
+
// Parse assistant list
|
|
34
|
+
selectedAssistants = assistant
|
|
35
|
+
.toLowerCase()
|
|
36
|
+
.split(",")
|
|
37
|
+
.map((a) => a.trim())
|
|
38
|
+
.filter((a) => ["claude", "gemini"].includes(a));
|
|
39
|
+
|
|
40
|
+
// Determine folder based on selection
|
|
41
|
+
targetFolder = config.getFolderForAssistant(selectedAssistants);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const agentPath = path.join(absolutePath, targetFolder);
|
|
24
45
|
|
|
25
46
|
// Check if already installed
|
|
26
|
-
const isInstalled = await fileUtils.isInstalled(absolutePath);
|
|
47
|
+
const isInstalled = await fileUtils.isInstalled(absolutePath, targetFolder);
|
|
27
48
|
|
|
28
49
|
if (isInstalled && !force && !dryRun) {
|
|
29
50
|
if (spinner) spinner.stop();
|
|
30
|
-
logger.warning(
|
|
51
|
+
logger.warning(
|
|
52
|
+
`AI-DEVX is already installed in this directory (${targetFolder}).`,
|
|
53
|
+
);
|
|
31
54
|
logger.info(
|
|
32
55
|
'Use --force to overwrite or run "ai-devx update" to update.',
|
|
33
56
|
);
|
|
34
57
|
logger.blank();
|
|
35
|
-
logger.info(
|
|
36
|
-
logger.step(
|
|
58
|
+
logger.info(`To keep ${targetFolder}/ local without git tracking:`);
|
|
59
|
+
logger.step(
|
|
60
|
+
`Add "${targetFolder}/" to .git/info/exclude (not .gitignore)`,
|
|
61
|
+
);
|
|
37
62
|
return;
|
|
38
63
|
}
|
|
39
64
|
|
|
@@ -41,6 +66,8 @@ async function initCommand(options) {
|
|
|
41
66
|
if (spinner) spinner.stop();
|
|
42
67
|
logger.info("DRY RUN - Actions that would be taken:");
|
|
43
68
|
logger.step(`Install templates to: ${agentPath}`);
|
|
69
|
+
logger.step(`Assistants: ${selectedAssistants.join(", ")}`);
|
|
70
|
+
logger.step(`Target folder: ${targetFolder}`);
|
|
44
71
|
if (isInstalled) logger.step("Overwrite existing installation");
|
|
45
72
|
return;
|
|
46
73
|
}
|
|
@@ -54,13 +81,6 @@ async function initCommand(options) {
|
|
|
54
81
|
|
|
55
82
|
// Handle assistant selection
|
|
56
83
|
if (spinner) spinner.text = "Configuring assistants...";
|
|
57
|
-
const selectedAssistants =
|
|
58
|
-
assistant === "all"
|
|
59
|
-
? ["claude", "gemini"]
|
|
60
|
-
: assistant
|
|
61
|
-
.toLowerCase()
|
|
62
|
-
.split(",")
|
|
63
|
-
.map((a) => a.trim());
|
|
64
84
|
|
|
65
85
|
const rulesPath = path.join(agentPath, "rules");
|
|
66
86
|
const validAssistants = ["claude", "gemini"];
|
|
@@ -88,6 +108,7 @@ async function initCommand(options) {
|
|
|
88
108
|
installedAt: new Date().toISOString(),
|
|
89
109
|
source: source,
|
|
90
110
|
assistants: selectedAssistants,
|
|
111
|
+
folder: targetFolder,
|
|
91
112
|
});
|
|
92
113
|
|
|
93
114
|
if (spinner) spinner.succeed("AI-DEVX templates installed successfully!");
|
|
@@ -97,10 +118,12 @@ async function initCommand(options) {
|
|
|
97
118
|
logger.success(`Installed in: ${agentPath}`);
|
|
98
119
|
logger.blank();
|
|
99
120
|
logger.info("What's included:");
|
|
100
|
-
logger.step(`Agents:
|
|
101
|
-
logger.step(`Skills:
|
|
102
|
-
logger.step(
|
|
103
|
-
|
|
121
|
+
logger.step(`Agents: 22 specialist personas`);
|
|
122
|
+
logger.step(`Skills: 37 domain-specific knowledge modules`);
|
|
123
|
+
logger.step(
|
|
124
|
+
`Workflows: 11 slash commands (/plan, /create, /debug, etc.)`,
|
|
125
|
+
);
|
|
126
|
+
logger.step(`Scripts: 4 validation and automation tools`);
|
|
104
127
|
logger.step(`Assistants: ${selectedAssistants.join(", ")}`);
|
|
105
128
|
logger.blank();
|
|
106
129
|
logger.info("Quick Start:");
|
|
@@ -108,8 +131,10 @@ async function initCommand(options) {
|
|
|
108
131
|
logger.step("Type /create to build new features");
|
|
109
132
|
logger.step("Type /debug for systematic debugging");
|
|
110
133
|
logger.blank();
|
|
111
|
-
logger.warning(
|
|
112
|
-
logger.step(
|
|
134
|
+
logger.warning(`Important: For Cursor/Windsurf compatibility`);
|
|
135
|
+
logger.step(
|
|
136
|
+
`Add "${targetFolder}/" to .git/info/exclude (NOT .gitignore)`,
|
|
137
|
+
);
|
|
113
138
|
logger.step("This keeps templates local while allowing AI indexing");
|
|
114
139
|
}
|
|
115
140
|
} catch (error) {
|