xo-agent 0.0.1-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/LICENSE +21 -0
- package/README.md +159 -0
- package/bin/cli.js +2 -0
- package/dist/commands/add-agent.d.ts +3 -0
- package/dist/commands/add-agent.d.ts.map +1 -0
- package/dist/commands/add-agent.js +114 -0
- package/dist/commands/add-agent.js.map +1 -0
- package/dist/commands/add-command.d.ts +3 -0
- package/dist/commands/add-command.d.ts.map +1 -0
- package/dist/commands/add-command.js +114 -0
- package/dist/commands/add-command.js.map +1 -0
- package/dist/commands/add-skill.d.ts +3 -0
- package/dist/commands/add-skill.d.ts.map +1 -0
- package/dist/commands/add-skill.js +108 -0
- package/dist/commands/add-skill.js.map +1 -0
- package/dist/commands/add.d.ts +3 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +133 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/interactive.d.ts +3 -0
- package/dist/commands/interactive.d.ts.map +1 -0
- package/dist/commands/interactive.js +176 -0
- package/dist/commands/interactive.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/skills/example-skill/SKILL.md +19 -0
- package/dist/templates/agents/code-reviewer/AGENT.md +138 -0
- package/dist/templates/agents/documentation-writer/AGENT.md +179 -0
- package/dist/templates/commands/deploy.md +52 -0
- package/dist/templates/commands/test.md +49 -0
- package/dist/templates/skills/example-skill/SKILL.md +19 -0
- package/dist/templates/skills/example-skill/references/reference.md +0 -0
- package/dist/templates/skills/example-skill/scripts/script.py +0 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/constants.d.ts +13 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +16 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/copy.d.ts +55 -0
- package/dist/utils/copy.d.ts.map +1 -0
- package/dist/utils/copy.js +229 -0
- package/dist/utils/copy.js.map +1 -0
- package/dist/utils/evaluate.d.ts +10 -0
- package/dist/utils/evaluate.d.ts.map +1 -0
- package/dist/utils/evaluate.js +28 -0
- package/dist/utils/evaluate.js.map +1 -0
- package/dist/utils/file-builder.d.ts +28 -0
- package/dist/utils/file-builder.d.ts.map +1 -0
- package/dist/utils/file-builder.js +106 -0
- package/dist/utils/file-builder.js.map +1 -0
- package/dist/utils/prompts.d.ts +12 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +152 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/transform.d.ts +11 -0
- package/dist/utils/transform.d.ts.map +1 -0
- package/dist/utils/transform.js +43 -0
- package/dist/utils/transform.js.map +1 -0
- package/package.json +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 XOTiny
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# xo-agent (Beta)
|
|
2
|
+
|
|
3
|
+
A powerful CLI tool for managing AI agent projects. Easily add skills, commands, and sub-agents to your Antigravity or Claude AI projects.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 🎯 **Interactive Mode** - Guided workflow with checkbox selection for multiple items
|
|
8
|
+
- 🚀 **Direct Commands** - Quick CLI commands for adding skills, commands, and agents
|
|
9
|
+
- 🔧 **Template-Based** - Pre-built templates for common use cases
|
|
10
|
+
- 🤖 **Multi-Platform** - Supports both Antigravity (`.agent`) and Claude (`.claude`) projects
|
|
11
|
+
- 📦 **Smart Processing** - Automatic directive processing with FileBuilder (`@include`, code execution)
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g xo-agent
|
|
17
|
+
# or
|
|
18
|
+
pnpm add -g xo-agent
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
### Interactive Mode (Recommended)
|
|
24
|
+
|
|
25
|
+
Simply run `xo-agent` without arguments to launch the interactive wizard:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
xo-agent
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The interactive mode will:
|
|
32
|
+
1. Ask what you want to add (Skill, Command, or Agent)
|
|
33
|
+
2. Let you select the target agent (Antigravity or Claude)
|
|
34
|
+
3. Show a checkbox list to select multiple items
|
|
35
|
+
4. Copy all selected items to your project
|
|
36
|
+
|
|
37
|
+
### Direct Commands
|
|
38
|
+
|
|
39
|
+
#### Add Skills
|
|
40
|
+
|
|
41
|
+
Add pre-built skills to your agent project:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Interactive selection
|
|
45
|
+
xo-agent add-skill --agent antigravity
|
|
46
|
+
|
|
47
|
+
# Add specific skill
|
|
48
|
+
xo-agent add-skill example-skill --agent claude
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
#### Add Commands
|
|
52
|
+
|
|
53
|
+
Add workflow commands to your agent:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Interactive selection
|
|
57
|
+
xo-agent add-command --agent antigravity
|
|
58
|
+
|
|
59
|
+
# Add specific command
|
|
60
|
+
xo-agent add-command deploy --agent claude
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Add Agents
|
|
64
|
+
|
|
65
|
+
Add sub-agents to your project:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Interactive selection
|
|
69
|
+
xo-agent add-agent --agent antigravity
|
|
70
|
+
|
|
71
|
+
# Add specific agent
|
|
72
|
+
xo-agent add-agent code-reviewer --agent claude
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Available Templates
|
|
76
|
+
|
|
77
|
+
### Skills
|
|
78
|
+
- `example-skill` - Example skill template
|
|
79
|
+
|
|
80
|
+
### Commands
|
|
81
|
+
- `deploy` - Deploy application to production
|
|
82
|
+
- `test` - Run all tests and generate coverage report
|
|
83
|
+
|
|
84
|
+
### Agents
|
|
85
|
+
- `code-reviewer` - Automated code review agent for pull requests
|
|
86
|
+
- `documentation-writer` - Automated documentation generation agent
|
|
87
|
+
|
|
88
|
+
## Project Structure
|
|
89
|
+
|
|
90
|
+
After using xo-agent, your project will have the following structure:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
your-project/
|
|
94
|
+
├── .agent/ # Antigravity agent directory
|
|
95
|
+
│ ├── skills/ # Skills directory
|
|
96
|
+
│ ├── workflows/ # Workflow commands
|
|
97
|
+
│ └── agents/ # Sub-agents
|
|
98
|
+
└── .claude/ # Claude agent directory
|
|
99
|
+
├── skills/
|
|
100
|
+
├── commands/
|
|
101
|
+
└── agents/
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Options
|
|
105
|
+
|
|
106
|
+
All commands support the following options:
|
|
107
|
+
|
|
108
|
+
- `-a, --agent <type>` - Specify agent type (`antigravity` or `claude`)
|
|
109
|
+
- `-h, --help` - Display help for command
|
|
110
|
+
|
|
111
|
+
## Examples
|
|
112
|
+
|
|
113
|
+
### Add multiple skills at once
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
xo-agent
|
|
117
|
+
# → Select "Skill"
|
|
118
|
+
# → Select "Antigravity"
|
|
119
|
+
# → Check multiple skills with spacebar
|
|
120
|
+
# → Press enter to confirm
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Quick add with options
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Add deploy command to Antigravity
|
|
127
|
+
xo-agent add-command deploy --agent antigravity
|
|
128
|
+
|
|
129
|
+
# Add code-reviewer agent to Claude
|
|
130
|
+
xo-agent add-agent code-reviewer --agent claude
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Development
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
# Clone the repository
|
|
137
|
+
git clone https://github.com/yourusername/xo-agent.git
|
|
138
|
+
cd xo-agent
|
|
139
|
+
|
|
140
|
+
# Install dependencies
|
|
141
|
+
pnpm install
|
|
142
|
+
|
|
143
|
+
# Build
|
|
144
|
+
pnpm build
|
|
145
|
+
|
|
146
|
+
# Link for local testing
|
|
147
|
+
pnpm link --global
|
|
148
|
+
|
|
149
|
+
# Test the CLI
|
|
150
|
+
xo-agent --help
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## License
|
|
154
|
+
|
|
155
|
+
MIT
|
|
156
|
+
|
|
157
|
+
## Contributing
|
|
158
|
+
|
|
159
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-agent.d.ts","sourceRoot":"","sources":["../../src/commands/add-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,QAkF/C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.addAgentCommand = addAgentCommand;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const prompts_1 = require("../utils/prompts");
|
|
39
|
+
const copy_1 = require("../utils/copy");
|
|
40
|
+
const types_1 = require("../types");
|
|
41
|
+
function addAgentCommand(program) {
|
|
42
|
+
program
|
|
43
|
+
.command('add-agent [name]')
|
|
44
|
+
.description('Add a new sub-agent to your agent project')
|
|
45
|
+
.option('-a, --agent <type>', 'Agent type (antigravity or claude)')
|
|
46
|
+
.action(async (nameArg, options) => {
|
|
47
|
+
try {
|
|
48
|
+
const cwd = process.cwd();
|
|
49
|
+
// Check if we're in a valid project
|
|
50
|
+
if (!(await (0, copy_1.isValidProject)(cwd))) {
|
|
51
|
+
console.error('❌ Error: Not in a valid project directory (no package.json found)');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
// Resolve Agent
|
|
55
|
+
let platform = options.agent;
|
|
56
|
+
if (!platform) {
|
|
57
|
+
platform = await (0, prompts_1.promptForAgent)();
|
|
58
|
+
}
|
|
59
|
+
// Validate agent type
|
|
60
|
+
if (!types_1.AGENT_CONFIGS[platform]) {
|
|
61
|
+
console.error(`❌ Invalid agent type: ${platform}`);
|
|
62
|
+
console.log('Available agents: antigravity, claude');
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
const agentConfig = types_1.AGENT_CONFIGS[platform];
|
|
66
|
+
// Ensure agent directory exists
|
|
67
|
+
const agentDir = path.join(cwd, agentConfig.directory);
|
|
68
|
+
await (0, copy_1.ensureAgentDirectory)(agentDir);
|
|
69
|
+
// Get available agent templates
|
|
70
|
+
const agentsDir = path.join(__dirname, '../templates/agents');
|
|
71
|
+
const availableAgents = await (0, copy_1.getAvailableAgents)(agentsDir);
|
|
72
|
+
if (availableAgents.length === 0) {
|
|
73
|
+
console.error('❌ No agent templates found');
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
// Determine agent name and template
|
|
77
|
+
let agentName = nameArg;
|
|
78
|
+
let template;
|
|
79
|
+
if (agentName) {
|
|
80
|
+
// If name provided, find matching template
|
|
81
|
+
template = availableAgents.find((agent) => agent.name === agentName);
|
|
82
|
+
if (!template) {
|
|
83
|
+
console.error(`❌ Agent template "${agentName}" not found`);
|
|
84
|
+
console.log('\nAvailable agents:');
|
|
85
|
+
availableAgents.forEach((agent) => console.log(` - ${agent.name}`));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// Prompt for template selection
|
|
91
|
+
template = await (0, prompts_1.promptForAgentTemplate)(availableAgents);
|
|
92
|
+
if (!template) {
|
|
93
|
+
console.error('❌ No template selected');
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
agentName = template.name;
|
|
97
|
+
}
|
|
98
|
+
// Check if agent already exists
|
|
99
|
+
if (await (0, copy_1.agentExists)(agentDir, agentName)) {
|
|
100
|
+
console.error(`❌ Agent "${agentName}" already exists`);
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
// Copy agent template
|
|
104
|
+
await (0, copy_1.copyAgent)(template.path, agentDir, agentName, platform);
|
|
105
|
+
console.log(`✅ Successfully added agent "${agentName}" to ${agentConfig.displayName}!`);
|
|
106
|
+
console.log(`Agent configuration: ${path.join(agentDir, 'agents', agentName, 'AGENT.md')}`);
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.error(`❌ Error: ${error instanceof Error ? error.message : error}`);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=add-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-agent.js","sourceRoot":"","sources":["../../src/commands/add-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-command.d.ts","sourceRoot":"","sources":["../../src/commands/add-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,QAkFjD"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.addCommandCommand = addCommandCommand;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const prompts_1 = require("../utils/prompts");
|
|
39
|
+
const copy_1 = require("../utils/copy");
|
|
40
|
+
const types_1 = require("../types");
|
|
41
|
+
function addCommandCommand(program) {
|
|
42
|
+
program
|
|
43
|
+
.command('add-command [name]')
|
|
44
|
+
.description('Add a new command to your agent project')
|
|
45
|
+
.option('-a, --agent <type>', 'Agent type (antigravity or claude)')
|
|
46
|
+
.action(async (nameArg, options) => {
|
|
47
|
+
try {
|
|
48
|
+
const cwd = process.cwd();
|
|
49
|
+
// Check if we're in a valid project
|
|
50
|
+
if (!(await (0, copy_1.isValidProject)(cwd))) {
|
|
51
|
+
console.error('❌ Error: Not in a valid project directory (no package.json found)');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
// Resolve Agent
|
|
55
|
+
let platform = options.agent;
|
|
56
|
+
if (!platform) {
|
|
57
|
+
platform = await (0, prompts_1.promptForAgent)();
|
|
58
|
+
}
|
|
59
|
+
// Validate agent type
|
|
60
|
+
if (!types_1.AGENT_CONFIGS[platform]) {
|
|
61
|
+
console.error(`❌ Invalid agent type: ${platform}`);
|
|
62
|
+
console.log('Available agents: antigravity, claude');
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
const agentConfig = types_1.AGENT_CONFIGS[platform];
|
|
66
|
+
// Ensure agent directory exists
|
|
67
|
+
const agentDir = path.join(cwd, agentConfig.directory);
|
|
68
|
+
await (0, copy_1.ensureAgentDirectory)(agentDir);
|
|
69
|
+
// Get available command templates
|
|
70
|
+
const commandsDir = path.join(__dirname, '../templates/commands');
|
|
71
|
+
const availableCommands = await (0, copy_1.getAvailableCommands)(commandsDir);
|
|
72
|
+
if (availableCommands.length === 0) {
|
|
73
|
+
console.error('❌ No command templates found');
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
// Determine command name and template
|
|
77
|
+
let commandName = nameArg;
|
|
78
|
+
let template;
|
|
79
|
+
if (commandName) {
|
|
80
|
+
// If name provided, find matching template
|
|
81
|
+
template = availableCommands.find((cmd) => cmd.name === commandName);
|
|
82
|
+
if (!template) {
|
|
83
|
+
console.error(`❌ Command template "${commandName}" not found`);
|
|
84
|
+
console.log('\nAvailable commands:');
|
|
85
|
+
availableCommands.forEach((cmd) => console.log(` - ${cmd.name}`));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// Prompt for template selection
|
|
91
|
+
template = await (0, prompts_1.promptForCommandTemplate)(availableCommands);
|
|
92
|
+
if (!template) {
|
|
93
|
+
console.error('❌ No template selected');
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
commandName = template.name;
|
|
97
|
+
}
|
|
98
|
+
// Check if command already exists
|
|
99
|
+
if (await (0, copy_1.commandExists)(agentDir, commandName, platform)) {
|
|
100
|
+
console.error(`❌ Command "${commandName}" already exists`);
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
// Copy command template
|
|
104
|
+
await (0, copy_1.copyCommand)(template.path, agentDir, commandName, platform);
|
|
105
|
+
console.log(`✅ Successfully added command "${commandName}" to ${agentConfig.displayName}!`);
|
|
106
|
+
console.log(`You can now use this command with: /${commandName}`);
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.error(`❌ Error: ${error instanceof Error ? error.message : error}`);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=add-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-command.js","sourceRoot":"","sources":["../../src/commands/add-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-skill.d.ts","sourceRoot":"","sources":["../../src/commands/add-skill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,QAoF/C"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.addSkillCommand = addSkillCommand;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const prompts_1 = require("../utils/prompts");
|
|
39
|
+
const copy_1 = require("../utils/copy");
|
|
40
|
+
const types_1 = require("../types");
|
|
41
|
+
function addSkillCommand(program) {
|
|
42
|
+
program
|
|
43
|
+
.command('add-skill [skill]')
|
|
44
|
+
.description('Add a skill to your agent project')
|
|
45
|
+
.option('-a, --agent <type>', 'Agent type (antigravity or claude)')
|
|
46
|
+
.action(async (skillArg, options) => {
|
|
47
|
+
try {
|
|
48
|
+
const cwd = process.cwd();
|
|
49
|
+
// Check if we're in a valid project
|
|
50
|
+
if (!(await (0, copy_1.isValidProject)(cwd))) {
|
|
51
|
+
console.error('❌ Error: Not in a valid project directory (no package.json found)');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
// Get skills directory from templates
|
|
55
|
+
const skillsDir = path.join(__dirname, '../templates/skills');
|
|
56
|
+
// Get available skills
|
|
57
|
+
const availableSkills = await (0, copy_1.getAvailableSkills)(skillsDir);
|
|
58
|
+
if (availableSkills.length === 0) {
|
|
59
|
+
console.error('❌ No skills found in the package');
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
// Determine skill from argument
|
|
63
|
+
let skillName = skillArg;
|
|
64
|
+
let selectedSkill;
|
|
65
|
+
// 1. Resolve Skill (if provided)
|
|
66
|
+
if (skillName) {
|
|
67
|
+
selectedSkill = availableSkills.find((s) => s.name === skillName);
|
|
68
|
+
if (!selectedSkill) {
|
|
69
|
+
console.error(`❌ Skill "${skillName}" not found`);
|
|
70
|
+
console.log('\nAvailable skills:');
|
|
71
|
+
availableSkills.forEach((s) => console.log(` - ${s.name}`));
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// 2. Resolve Agent
|
|
76
|
+
let platform = options.agent;
|
|
77
|
+
if (!platform) {
|
|
78
|
+
platform = await (0, prompts_1.promptForAgent)();
|
|
79
|
+
}
|
|
80
|
+
// Validate agent type
|
|
81
|
+
if (!types_1.AGENT_CONFIGS[platform]) {
|
|
82
|
+
console.error(`❌ Invalid agent type: ${platform}`);
|
|
83
|
+
console.log('Available agents: antigravity, claude');
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
const agentConfig = types_1.AGENT_CONFIGS[platform];
|
|
87
|
+
// 3. Prompt for Skill (if not provided earlier)
|
|
88
|
+
if (!selectedSkill) {
|
|
89
|
+
selectedSkill = await (0, prompts_1.promptForSkill)(availableSkills);
|
|
90
|
+
}
|
|
91
|
+
// Ensure agent directory exists
|
|
92
|
+
const agentDir = path.join(cwd, agentConfig.directory);
|
|
93
|
+
await (0, copy_1.ensureAgentDirectory)(agentDir);
|
|
94
|
+
// Check if skill already exists and remove it (silent overwrite)
|
|
95
|
+
if (await (0, copy_1.skillExists)(agentDir, selectedSkill.name)) {
|
|
96
|
+
await (0, copy_1.removeSkill)(agentDir, selectedSkill.name);
|
|
97
|
+
}
|
|
98
|
+
// Copy skill with FileBuilder processing
|
|
99
|
+
await (0, copy_1.copySkill)(selectedSkill.path, agentDir, selectedSkill.name, platform);
|
|
100
|
+
console.log(`✅ Successfully added skill "${selectedSkill.name}" to ${agentConfig.displayName}!`);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
console.error(`❌ Error: ${error instanceof Error ? error.message : error}`);
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=add-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-skill.js","sourceRoot":"","sources":["../../src/commands/add-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,iBA8GhD"}
|