@burdenoff/vibe-plugin-ai 1.0.0

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 ADDED
@@ -0,0 +1,52 @@
1
+ # @burdenoff/vibe-plugin-ai
2
+
3
+ AI tool management plugin for [VibeControls Agent](https://www.npmjs.com/package/@burdenoff/vibe-agent).
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ vibe plugin install @burdenoff/vibe-plugin-ai
9
+ ```
10
+
11
+ Or install globally alongside the agent:
12
+
13
+ ```bash
14
+ npm install -g @burdenoff/vibe-plugin-ai
15
+ ```
16
+
17
+ ## Features
18
+
19
+ - **Tool Detection** — Detect installed AI coding tools
20
+ - **Tool Installation** — Install AI tools via CLI
21
+ - **Config Management** — Initialize project configs for AI tools (CLAUDE.md, AGENTS.md, etc.)
22
+ - **Multi-Tool Support** — Claude Code, OpenCode, Codex, Copilot, Cursor Agent
23
+
24
+ ## Supported Tools
25
+
26
+ | Tool | CLI Command | Config Files |
27
+ |------|------------|-------------|
28
+ | Claude Code | `claude` | `CLAUDE.md`, `.claude/settings.json` |
29
+ | OpenCode | `opencode` | `OPENCODE.md`, `.opencode/config.json` |
30
+ | Codex CLI | `codex` | `AGENTS.md`, `codex.json` |
31
+ | GitHub Copilot | `gh copilot` | `.github/copilot-instructions.md` |
32
+ | Cursor Agent | `cursor` | `.cursor/rules`, `.cursorrules` |
33
+
34
+ ## CLI Commands
35
+
36
+ ```bash
37
+ vibe ai list # List all AI tools and their status
38
+ vibe ai check # Quick check which tools are installed
39
+ vibe ai install claude-code # Install an AI tool
40
+ vibe ai init claude-code # Create starter config (CLAUDE.md)
41
+ vibe ai init codex # Create AGENTS.md for Codex
42
+ vibe ai init copilot # Create copilot-instructions.md
43
+ ```
44
+
45
+ ## Requirements
46
+
47
+ - VibeControls Agent >= 1.1.0
48
+ - Node.js >= 18.0.0
49
+
50
+ ## License
51
+
52
+ Proprietary — Copyright Burdenoff Consultancy Services Pvt. Ltd.
@@ -0,0 +1,10 @@
1
+ import type { Command } from "commander";
2
+ export interface VibePlugin {
3
+ name: string;
4
+ version: string;
5
+ description?: string;
6
+ onCliSetup?: (program: Command) => void | Promise<void>;
7
+ }
8
+ export declare const vibePlugin: VibePlugin;
9
+ export default vibePlugin;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmGzC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,eAAO,MAAM,UAAU,EAAE,UA2JxB,CAAC;AAiGF,eAAe,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,270 @@
1
+ import { existsSync, writeFileSync, mkdirSync } from "fs";
2
+ import { join } from "path";
3
+ import { execSync } from "child_process";
4
+ const AI_TOOLS = [
5
+ {
6
+ name: "claude-code",
7
+ displayName: "Claude Code",
8
+ detectCommand: "claude --version",
9
+ installCommand: "npm install -g @anthropic-ai/claude-code",
10
+ configFiles: ["CLAUDE.md", ".claude/settings.json"],
11
+ description: "Anthropic's AI coding agent",
12
+ },
13
+ {
14
+ name: "opencode",
15
+ displayName: "OpenCode",
16
+ detectCommand: "opencode --version",
17
+ installCommand: "npm install -g opencode",
18
+ configFiles: ["OPENCODE.md", ".opencode/config.json"],
19
+ description: "Open-source AI coding assistant",
20
+ },
21
+ {
22
+ name: "codex",
23
+ displayName: "OpenAI Codex CLI",
24
+ detectCommand: "codex --version",
25
+ installCommand: "npm install -g @openai/codex",
26
+ configFiles: ["AGENTS.md", "codex.json"],
27
+ description: "OpenAI's Codex CLI agent",
28
+ },
29
+ {
30
+ name: "copilot",
31
+ displayName: "GitHub Copilot",
32
+ detectCommand: "gh copilot --version",
33
+ configFiles: [".github/copilot-instructions.md"],
34
+ description: "GitHub Copilot in the CLI",
35
+ },
36
+ {
37
+ name: "cursor-agent",
38
+ displayName: "Cursor Agent",
39
+ detectCommand: "cursor --version",
40
+ configFiles: [".cursor/rules", ".cursorrules"],
41
+ description: "Cursor AI code editor agent",
42
+ },
43
+ ];
44
+ // ── Helper Functions ─────────────────────────────────────────────────────────
45
+ function isToolInstalled(tool) {
46
+ try {
47
+ const version = execSync(tool.detectCommand, {
48
+ encoding: "utf8",
49
+ timeout: 10000,
50
+ stdio: ["ignore", "pipe", "ignore"],
51
+ }).trim();
52
+ return { installed: true, version };
53
+ }
54
+ catch {
55
+ return { installed: false, version: "" };
56
+ }
57
+ }
58
+ function findConfigFiles(tool, directory) {
59
+ return tool.configFiles.filter((f) => existsSync(join(directory, f)));
60
+ }
61
+ export const vibePlugin = {
62
+ name: "ai",
63
+ version: "1.0.0",
64
+ description: "AI tool management for VibeControls Agent",
65
+ onCliSetup(program) {
66
+ const aiCmd = program
67
+ .command("ai")
68
+ .description("Manage AI coding tools and configurations");
69
+ // ── vibe ai list ────────────────────────────────────────────────
70
+ aiCmd
71
+ .command("list")
72
+ .description("List all supported AI tools and their status")
73
+ .option("--cwd <dir>", "Project directory to check configs", process.cwd())
74
+ .action((options) => {
75
+ console.log("\n \x1b[1m── AI Tools ──\x1b[0m\n");
76
+ for (const tool of AI_TOOLS) {
77
+ const { installed, version } = isToolInstalled(tool);
78
+ const icon = installed
79
+ ? "\x1b[32m✓\x1b[0m"
80
+ : "\x1b[31m✗\x1b[0m";
81
+ const versionStr = installed
82
+ ? ` (${version.split("\n")[0]})`
83
+ : "";
84
+ console.log(` ${icon} \x1b[1m${tool.displayName}\x1b[0m${versionStr}`);
85
+ console.log(` ${tool.description}`);
86
+ // Check for config files
87
+ const configs = findConfigFiles(tool, options.cwd);
88
+ if (configs.length > 0) {
89
+ console.log(` Config: ${configs.join(", ")}`);
90
+ }
91
+ else {
92
+ console.log(` Config: (none found)`);
93
+ }
94
+ console.log();
95
+ }
96
+ });
97
+ // ── vibe ai install <tool> ──────────────────────────────────────
98
+ aiCmd
99
+ .command("install")
100
+ .description("Install an AI tool")
101
+ .argument("<tool>", `Tool name (${AI_TOOLS.map((t) => t.name).join(", ")})`)
102
+ .action((toolName) => {
103
+ const tool = AI_TOOLS.find((t) => t.name === toolName);
104
+ if (!tool) {
105
+ console.error(`\x1b[31mError:\x1b[0m Unknown tool '${toolName}'. Available: ${AI_TOOLS.map((t) => t.name).join(", ")}`);
106
+ process.exit(1);
107
+ }
108
+ if (!tool.installCommand) {
109
+ console.error(`\x1b[31mError:\x1b[0m '${tool.displayName}' must be installed manually.`);
110
+ process.exit(1);
111
+ }
112
+ const { installed } = isToolInstalled(tool);
113
+ if (installed) {
114
+ console.log(` \x1b[32m✓ ${tool.displayName} is already installed.\x1b[0m`);
115
+ return;
116
+ }
117
+ console.log(` Installing ${tool.displayName}...`);
118
+ try {
119
+ execSync(tool.installCommand, { stdio: "inherit", timeout: 120000 });
120
+ console.log(`\n \x1b[32m✓ ${tool.displayName} installed successfully.\x1b[0m\n`);
121
+ }
122
+ catch {
123
+ console.error(`\n \x1b[31m✗ Failed to install ${tool.displayName}.\x1b[0m`);
124
+ console.error(` Try manually: ${tool.installCommand}\n`);
125
+ process.exit(1);
126
+ }
127
+ });
128
+ // ── vibe ai init <tool> ─────────────────────────────────────────
129
+ aiCmd
130
+ .command("init")
131
+ .description("Initialize AI tool config in the current project")
132
+ .argument("<tool>", "Tool name")
133
+ .option("--cwd <dir>", "Project directory", process.cwd())
134
+ .action((toolName, options) => {
135
+ const tool = AI_TOOLS.find((t) => t.name === toolName);
136
+ if (!tool) {
137
+ console.error(`\x1b[31mError:\x1b[0m Unknown tool '${toolName}'. Available: ${AI_TOOLS.map((t) => t.name).join(", ")}`);
138
+ process.exit(1);
139
+ }
140
+ const dir = options.cwd;
141
+ const primaryConfig = tool.configFiles[0];
142
+ const configPath = join(dir, primaryConfig);
143
+ if (existsSync(configPath)) {
144
+ console.log(` \x1b[33m⚠\x1b[0m ${primaryConfig} already exists in ${dir}`);
145
+ return;
146
+ }
147
+ // Create parent directory if needed (e.g. .claude/)
148
+ const parentDir = join(dir, primaryConfig.split("/").slice(0, -1).join("/"));
149
+ if (parentDir !== dir) {
150
+ mkdirSync(parentDir, { recursive: true });
151
+ }
152
+ // Generate a starter config
153
+ const content = generateStarterConfig(tool);
154
+ writeFileSync(configPath, content);
155
+ console.log(`\n \x1b[32m✓ Created ${primaryConfig}\x1b[0m in ${dir}\n`);
156
+ });
157
+ // ── vibe ai check ───────────────────────────────────────────────
158
+ aiCmd
159
+ .command("check")
160
+ .description("Check which AI tools are installed")
161
+ .action(() => {
162
+ console.log("\n \x1b[1m── AI Tool Check ──\x1b[0m\n");
163
+ let allInstalled = true;
164
+ for (const tool of AI_TOOLS) {
165
+ const { installed, version } = isToolInstalled(tool);
166
+ const icon = installed
167
+ ? "\x1b[32m✓\x1b[0m"
168
+ : "\x1b[31m✗\x1b[0m";
169
+ console.log(` ${icon} ${tool.displayName.padEnd(20)} ${installed ? version.split("\n")[0] : "not installed"}`);
170
+ if (!installed)
171
+ allInstalled = false;
172
+ }
173
+ console.log();
174
+ if (!allInstalled) {
175
+ console.log(" Install missing tools: \x1b[1mvibe ai install <tool>\x1b[0m\n");
176
+ }
177
+ });
178
+ },
179
+ };
180
+ // ── Config Templates ─────────────────────────────────────────────────────────
181
+ function generateStarterConfig(tool) {
182
+ switch (tool.name) {
183
+ case "claude-code":
184
+ return `# CLAUDE.md
185
+
186
+ This file provides guidance to Claude Code when working with this project.
187
+
188
+ ## Project Overview
189
+
190
+ <!-- Describe your project here -->
191
+
192
+ ## Build & Development Commands
193
+
194
+ \`\`\`bash
195
+ # Add your development commands
196
+ npm run dev
197
+ npm run build
198
+ npm run test
199
+ \`\`\`
200
+
201
+ ## Code Style & Conventions
202
+
203
+ - TypeScript strict mode
204
+ - Prettier + ESLint for formatting
205
+
206
+ ## Architecture Notes
207
+
208
+ <!-- Describe key architecture decisions -->
209
+ `;
210
+ case "codex":
211
+ return `# AGENTS.md
212
+
213
+ Instructions for AI agents working on this project.
214
+
215
+ ## Project Overview
216
+
217
+ <!-- Describe your project here -->
218
+
219
+ ## Key Files
220
+
221
+ <!-- List important files and their purpose -->
222
+
223
+ ## Development Workflow
224
+
225
+ \`\`\`bash
226
+ npm run dev
227
+ npm run build
228
+ npm run test
229
+ \`\`\`
230
+ `;
231
+ case "copilot":
232
+ return `# Copilot Instructions
233
+
234
+ ## Project Context
235
+
236
+ <!-- Describe your project for GitHub Copilot -->
237
+
238
+ ## Coding Standards
239
+
240
+ - Use TypeScript strict mode
241
+ - Follow existing patterns in the codebase
242
+ - Write tests for new functionality
243
+
244
+ ## Common Patterns
245
+
246
+ <!-- Describe common patterns in your codebase -->
247
+ `;
248
+ case "cursor-agent":
249
+ return `# Cursor Rules
250
+
251
+ ## Project Overview
252
+
253
+ <!-- Describe your project here -->
254
+
255
+ ## Coding Standards
256
+
257
+ - TypeScript strict mode
258
+ - Use functional patterns where appropriate
259
+ - Keep functions small and focused
260
+
261
+ ## File Structure
262
+
263
+ <!-- Describe your file organization -->
264
+ `;
265
+ default:
266
+ return `# ${tool.displayName} Configuration\n\n<!-- Add your configuration here -->\n`;
267
+ }
268
+ }
269
+ export default vibePlugin;
270
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@burdenoff/vibe-plugin-ai",
3
+ "version": "1.0.0",
4
+ "main": "./dist/index.js",
5
+ "type": "module",
6
+ "engines": {
7
+ "node": ">=18.0.0"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "lint": "eslint ./src",
12
+ "format": "npx prettier . --write",
13
+ "format:check": "npx prettier . --check",
14
+ "type:check": "tsc --noEmit",
15
+ "clean": "rimraf dist",
16
+ "prebuild": "npm run clean",
17
+ "prepublishOnly": "npm run build",
18
+ "sanity": "npm run format:check && npm run lint && npm run type:check && npm run build"
19
+ },
20
+ "keywords": [
21
+ "vibecontrols",
22
+ "vibe",
23
+ "vibe-plugin",
24
+ "ai",
25
+ "claude-code",
26
+ "opencode",
27
+ "codex",
28
+ "copilot",
29
+ "cursor-agent"
30
+ ],
31
+ "author": {
32
+ "name": "Vignesh T.V",
33
+ "email": "vignesh@burdenoff.com",
34
+ "url": "https://github.com/tvvignesh"
35
+ },
36
+ "license": "SEE LICENSE IN LICENSE",
37
+ "description": "AI tool management plugin for VibeControls Agent — manage Claude Code, OpenCode, Codex, Copilot, and more",
38
+ "devDependencies": {
39
+ "@types/node": "^24.0.11",
40
+ "commander": "^14.0.3",
41
+ "eslint": "^9.30.1",
42
+ "prettier": "^3.6.2",
43
+ "rimraf": "^6.0.1",
44
+ "typescript": "^5.8.3"
45
+ },
46
+ "peerDependencies": {
47
+ "@burdenoff/vibe-agent": ">=1.1.0"
48
+ },
49
+ "peerDependenciesMeta": {
50
+ "@burdenoff/vibe-agent": {
51
+ "optional": true
52
+ }
53
+ },
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "git+https://github.com/algoshred/vibe-plugin-ai.git"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/algoshred/vibe-plugin-ai/issues"
60
+ },
61
+ "homepage": "https://vibecontrols.com",
62
+ "publishConfig": {
63
+ "access": "public",
64
+ "registry": "https://registry.npmjs.org/"
65
+ },
66
+ "files": [
67
+ "dist/**/*",
68
+ "README.md",
69
+ "LICENSE"
70
+ ]
71
+ }