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 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
- # Using npx (recommended)
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
- This installs the `.agent` folder containing all templates into your project.
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 `.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.
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 `.agent/` folder local (not tracked by Git) while maintaining AI functionality:
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 | Count | Description |
50
- |-----------|-------|-------------|
51
- | **Agents** | 9 | Specialist AI personas |
52
- | **Skills** | 5+ | Domain-specific knowledge modules |
53
- | **Workflows** | 9 | Slash command procedures |
54
- | **Scripts** | 2 | Validation and automation tools |
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 | Description |
103
- |---------|-------------|
104
- | `/plan` | Create task breakdown and implementation plan |
105
- | `/create` | Create new features or apps |
106
- | `/debug` | Systematic debugging |
107
- | `/test` | Generate and run tests |
108
- | `/deploy` | Deploy application |
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 | Description |
136
- |---------|-------------|
137
- | `ai-devx init` | Install `.agent` folder into your project |
138
- | `ai-devx update` | Update to the latest version |
139
- | `ai-devx status` | Check installation status |
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
- ai-devx init --force # Overwrite existing .agent folder
145
- ai-devx init --path ./myapp # Install in specific directory
146
- ai-devx init --branch dev # Use specific branch
147
- ai-devx init --quiet # Suppress output (for CI/CD)
148
- ai-devx init --dry-run # Preview actions without executing
149
- ai-devx update --backup # Create backup before updating
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
- ├── checklist.js
185
- └── security_scan.js
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,all)",
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 in current directory",
73
+ " $ ai-devx init # Install to .agent/ folder",
67
74
  );
68
75
  console.log(
69
- " $ ai-devx init --path ./my-project # Install in specific directory",
76
+ " $ ai-devx init --assistant claude # Install to .claude/ folder",
70
77
  );
71
78
  console.log(
72
- " $ ai-devx init --force # Overwrite existing installation",
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 --assistant claude # Install with only Claude rules",
85
+ " $ ai-devx init --force # Overwrite existing installation",
76
86
  );
77
87
  console.log(
78
- " $ ai-devx init --assistant claude,gemini # Install with both assistants",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-devx",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "AI Agent templates with Skills, Agents, and Workflows for enhanced coding assistance",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -20,20 +20,45 @@ async function initCommand(options) {
20
20
 
21
21
  try {
22
22
  const absolutePath = path.resolve(targetPath);
23
- const agentPath = path.join(absolutePath, config.AGENT_FOLDER);
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("AI-DEVX is already installed in this directory.");
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("To keep .agent/ local without git tracking:");
36
- logger.step('Add ".agent/" to .git/info/exclude (not .gitignore)');
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: 9 specialist personas`);
101
- logger.step(`Skills: Domain-specific knowledge modules`);
102
- logger.step(`Workflows: Slash commands (/plan, /create, /debug, etc.)`);
103
- logger.step(`Scripts: Validation and automation tools`);
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("Important: For Cursor/Windsurf compatibility");
112
- logger.step('Add ".agent/" to .git/info/exclude (NOT .gitignore)');
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) {