ai-devkit 0.6.0 → 0.8.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 +245 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/skill.d.ts +3 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +77 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/lib/EnvironmentSelector.d.ts +2 -1
- package/dist/lib/EnvironmentSelector.d.ts.map +1 -1
- package/dist/lib/EnvironmentSelector.js +55 -27
- package/dist/lib/EnvironmentSelector.js.map +1 -1
- package/dist/lib/SkillManager.d.ts +33 -0
- package/dist/lib/SkillManager.d.ts.map +1 -0
- package/dist/lib/SkillManager.js +255 -0
- package/dist/lib/SkillManager.js.map +1 -0
- package/dist/templates/commands/capture-knowledge.md +0 -5
- package/dist/templates/commands/check-implementation.md +0 -5
- package/dist/templates/commands/code-review.md +0 -5
- package/dist/templates/commands/debug.md +0 -5
- package/dist/templates/commands/execute-plan.md +0 -5
- package/dist/templates/commands/new-requirement.md +0 -5
- package/dist/templates/commands/remember.md +1 -1
- package/dist/templates/commands/review-design.md +0 -5
- package/dist/templates/commands/review-requirements.md +0 -5
- package/dist/templates/commands/simplify-implementation.md +0 -5
- package/dist/templates/commands/update-planning.md +0 -5
- package/dist/templates/commands/writing-test.md +0 -5
- package/dist/templates/env/base.md +52 -2
- package/dist/templates/templates/commands/capture-knowledge.md +0 -5
- package/dist/templates/templates/commands/check-implementation.md +0 -5
- package/dist/templates/templates/commands/code-review.md +0 -5
- package/dist/templates/templates/commands/debug.md +0 -5
- package/dist/templates/templates/commands/execute-plan.md +0 -5
- package/dist/templates/templates/commands/new-requirement.md +0 -5
- package/dist/templates/templates/commands/remember.md +1 -1
- package/dist/templates/templates/commands/review-design.md +0 -5
- package/dist/templates/templates/commands/review-requirements.md +0 -5
- package/dist/templates/templates/commands/simplify-implementation.md +0 -5
- package/dist/templates/templates/commands/update-planning.md +0 -5
- package/dist/templates/templates/commands/writing-test.md +0 -5
- package/dist/templates/templates/env/base.md +52 -2
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/util/env.d.ts +2 -0
- package/dist/util/env.d.ts.map +1 -1
- package/dist/util/env.js +14 -0
- package/dist/util/env.js.map +1 -1
- package/dist/util/git.d.ts +15 -0
- package/dist/util/git.d.ts.map +1 -0
- package/dist/util/git.js +82 -0
- package/dist/util/git.js.map +1 -0
- package/dist/util/skill.d.ts +13 -0
- package/dist/util/skill.d.ts.map +1 -0
- package/dist/util/skill.js +34 -0
- package/dist/util/skill.js.map +1 -0
- package/package.json +1 -1
- package/templates/commands/capture-knowledge.md +0 -5
- package/templates/commands/check-implementation.md +0 -5
- package/templates/commands/code-review.md +0 -5
- package/templates/commands/debug.md +0 -5
- package/templates/commands/execute-plan.md +0 -5
- package/templates/commands/new-requirement.md +0 -5
- package/templates/commands/remember.md +1 -1
- package/templates/commands/review-design.md +0 -5
- package/templates/commands/review-requirements.md +0 -5
- package/templates/commands/simplify-implementation.md +0 -5
- package/templates/commands/update-planning.md +0 -5
- package/templates/commands/writing-test.md +0 -5
- package/templates/env/base.md +52 -2
package/README.md
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
The official command-line interface for **AI DevKit**.
|
|
2
|
+
|
|
3
|
+
This tool orchestrates the setup and management of AI-assisted development environments, ensuring your project is ready for agents like Cursor, Claude Code, and more.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/ai-devkit)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- 🎯 **Phase-based Development**: Structured templates for each stage of the software development lifecycle
|
|
11
|
+
- 🤖 **AI Environment Setup**: Automatic configuration for Cursor and Claude Code
|
|
12
|
+
- 📝 **Customizable Templates**: Markdown-based templates with YAML frontmatter
|
|
13
|
+
- 🚀 **Interactive CLI**: User-friendly prompts with flag override support
|
|
14
|
+
- ⚙️ **State Management**: Tracks initialized phases and configuration
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Using npx (no installation needed)
|
|
20
|
+
npx ai-devkit init
|
|
21
|
+
|
|
22
|
+
# Or install globally
|
|
23
|
+
npm install -g ai-devkit
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Quick Start
|
|
27
|
+
|
|
28
|
+
Initialize AI DevKit in your project:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Interactive mode (recommended)
|
|
32
|
+
ai-devkit init
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This will:
|
|
36
|
+
1. Create a `.ai-devkit.json` configuration file
|
|
37
|
+
2. Set up your AI development environment (Cursor/Claude Code)
|
|
38
|
+
3. Generate phase templates in `docs/ai/`
|
|
39
|
+
|
|
40
|
+
Detailed user guide can be found [here](https://ai-devkit.com/docs/).
|
|
41
|
+
|
|
42
|
+
## Available Phases
|
|
43
|
+
|
|
44
|
+
- **Requirements**: Problem understanding, requirements gathering, and success criteria
|
|
45
|
+
- **Design**: System architecture, data models, and technical design (include mermaid diagrams for architecture/data flow)
|
|
46
|
+
- **Planning**: Task breakdown, milestones, and project timeline
|
|
47
|
+
- **Implementation**: Technical implementation notes and code guidelines
|
|
48
|
+
- **Testing**: Testing strategy, test cases, and quality assurance
|
|
49
|
+
- **Deployment**: Deployment process, infrastructure, and release procedures
|
|
50
|
+
- **Monitoring**: Monitoring strategy, metrics, alerts, and observability
|
|
51
|
+
|
|
52
|
+
## Commands
|
|
53
|
+
|
|
54
|
+
### `ai-devkit init`
|
|
55
|
+
|
|
56
|
+
Initialize AI DevKit in your project.
|
|
57
|
+
|
|
58
|
+
**Options:**
|
|
59
|
+
- `-e, --environment <env>`: Specify environment (cursor|claude|both)
|
|
60
|
+
- `-a, --all`: Initialize all phases at once
|
|
61
|
+
- `-p, --phases <phases>`: Comma-separated list of specific phases
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Interactive mode
|
|
65
|
+
ai-devkit init
|
|
66
|
+
|
|
67
|
+
# Initialize for Cursor with all phases
|
|
68
|
+
ai-devkit init --environment cursor --all
|
|
69
|
+
|
|
70
|
+
# Initialize specific phases
|
|
71
|
+
ai-devkit init --phases requirements,design,implementation
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### `ai-devkit phase [name]`
|
|
75
|
+
|
|
76
|
+
Add or update a specific phase template.
|
|
77
|
+
|
|
78
|
+
**Examples:**
|
|
79
|
+
```bash
|
|
80
|
+
# Interactive selection
|
|
81
|
+
ai-devkit phase
|
|
82
|
+
|
|
83
|
+
# Add specific phase
|
|
84
|
+
ai-devkit phase requirements
|
|
85
|
+
ai-devkit phase testing
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Generated Structure
|
|
89
|
+
|
|
90
|
+
After initialization, your project will have:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
your-project/
|
|
94
|
+
├── .ai-devkit.json # Configuration and state
|
|
95
|
+
├── docs/
|
|
96
|
+
│ └── ai/
|
|
97
|
+
│ ├── requirements/
|
|
98
|
+
│ │ └── README.md
|
|
99
|
+
│ ├── design/
|
|
100
|
+
│ │ └── README.md
|
|
101
|
+
│ ├── planning/
|
|
102
|
+
│ │ └── README.md
|
|
103
|
+
│ ├── implementation/
|
|
104
|
+
│ │ └── README.md
|
|
105
|
+
│ ├── testing/
|
|
106
|
+
│ │ └── README.md
|
|
107
|
+
│ ├── deployment/
|
|
108
|
+
│ │ └── README.md
|
|
109
|
+
│ └── monitoring/
|
|
110
|
+
│ └── README.md
|
|
111
|
+
└── [Environment-specific files]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Supported Tools & Agents:
|
|
115
|
+
| Agent | Support | Notes |
|
|
116
|
+
|-----------------------------------------------------------|---------|---------------------------------------------------|
|
|
117
|
+
| [Claude Code](https://www.anthropic.com/claude-code) | ✅ | |
|
|
118
|
+
| [GitHub Copilot](https://code.visualstudio.com/) | ✅ | VSCode only |
|
|
119
|
+
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | ✅ | |
|
|
120
|
+
| [Cursor](https://cursor.sh/) | ✅ | |
|
|
121
|
+
| [opencode](https://opencode.ai/) | ✅ | |
|
|
122
|
+
| [Antigravity](https://antigravity.google/) | ✅ | |
|
|
123
|
+
| [Windsurf](https://windsurf.com/) | 🚧 | Testing |
|
|
124
|
+
| [Kilo Code](https://github.com/Kilo-Org/kilocode) | 🚧 | Testing |
|
|
125
|
+
| [Roo Code](https://roocode.com/) | 🚧 | Testing |
|
|
126
|
+
| [Codex CLI](https://github.com/openai/codex) | ✅ | Only Global |
|
|
127
|
+
| [Amp](https://ampcode.com/) | 🚧 | Testing |
|
|
128
|
+
|
|
129
|
+
Templates are designed to provide structure while remaining concise and AI-friendly.
|
|
130
|
+
|
|
131
|
+
## Workflow Examples
|
|
132
|
+
|
|
133
|
+
### Initial Project Setup
|
|
134
|
+
|
|
135
|
+
1. **Initialize your project:**
|
|
136
|
+
```bash
|
|
137
|
+
ai-devkit init
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
2. **Start with requirements:**
|
|
141
|
+
- Use slash command to start filling the requirement `/new-requerement`
|
|
142
|
+
- Your AI assistant will help clarify and document requirements
|
|
143
|
+
- Use slash command to review the requirement `/review-requirement`
|
|
144
|
+
|
|
145
|
+
3. **Design your system:**
|
|
146
|
+
- Review `docs/ai/design/` and feature-specific files
|
|
147
|
+
- Use slash command to review the design `/review-design`
|
|
148
|
+
- Your AI assistant will help clarify and document design
|
|
149
|
+
|
|
150
|
+
4. **Plan your work:**
|
|
151
|
+
- Review `docs/ai/planning/` and feature-specific plans
|
|
152
|
+
- Clarify and document plan with AI assistant
|
|
153
|
+
|
|
154
|
+
5. **Implement with guidance:**
|
|
155
|
+
- When the plan is ready, your AI assistant will help you implement the code
|
|
156
|
+
- You can start the execution of the plan with the command `/execute-plan`
|
|
157
|
+
- AI assistant will help you to review the code and update the implementation notes
|
|
158
|
+
- After executing each task, you can check the implementation and compare it with the design with AI support by using the command `/check-implementation`
|
|
159
|
+
- Once the implementation is good, you can review the code with AI support by using the command `/code-review`
|
|
160
|
+
|
|
161
|
+
6. **Test thoroughly:**
|
|
162
|
+
- After implementation is done, you can start testing
|
|
163
|
+
- Use `docs/ai/testing/` as your testing guide
|
|
164
|
+
- Use slash command to start writing test `/writing-test`
|
|
165
|
+
|
|
166
|
+
7. **Deploy confidently:**
|
|
167
|
+
- Follow deployment procedures in `docs/ai/deployment/`
|
|
168
|
+
|
|
169
|
+
8. **Monitor and iterate:**
|
|
170
|
+
- Set up monitoring per `docs/ai/monitoring/`
|
|
171
|
+
|
|
172
|
+
## Use Cases
|
|
173
|
+
|
|
174
|
+
- **New Projects**: Scaffold complete development documentation
|
|
175
|
+
- **Existing Projects**: Add structured documentation gradually
|
|
176
|
+
- **Team Collaboration**: Share common development practices
|
|
177
|
+
- **AI Pair Programming**: Provide context for AI assistants
|
|
178
|
+
- **Knowledge Management**: Document decisions and patterns
|
|
179
|
+
|
|
180
|
+
## Best Practices
|
|
181
|
+
|
|
182
|
+
1. **Keep templates updated**: As your project evolves, update phase documentation
|
|
183
|
+
2. **Reference across phases**: Link requirements to design, design to implementation
|
|
184
|
+
3. **Use with AI assistants**: Templates are designed to work well with AI code assistants
|
|
185
|
+
4. **Customize for your needs**: Templates are starting points, not rigid requirements
|
|
186
|
+
5. **Track decisions**: Document architectural decisions and their rationale
|
|
187
|
+
|
|
188
|
+
## Configuration File
|
|
189
|
+
|
|
190
|
+
The `.ai-devkit.json` file tracks your setup:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"version": "0.2.0",
|
|
195
|
+
"environment": "cursor",
|
|
196
|
+
"initializedPhases": ["requirements", "design", "planning"],
|
|
197
|
+
"createdAt": "2025-10-14T...",
|
|
198
|
+
"updatedAt": "2025-10-14T..."
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Development
|
|
203
|
+
|
|
204
|
+
To work on the CLI package:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# Clone the repository
|
|
208
|
+
git clone <repository-url>
|
|
209
|
+
cd ai-devkit
|
|
210
|
+
|
|
211
|
+
# Install dependencies for the monorepo
|
|
212
|
+
npm install
|
|
213
|
+
|
|
214
|
+
# Navigate to CLI package
|
|
215
|
+
cd packages/cli
|
|
216
|
+
|
|
217
|
+
# Run in development mode
|
|
218
|
+
npm run dev -- init
|
|
219
|
+
|
|
220
|
+
# Build
|
|
221
|
+
npm run build
|
|
222
|
+
|
|
223
|
+
# Test locally
|
|
224
|
+
npm link
|
|
225
|
+
ai-devkit init
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Contributing
|
|
229
|
+
|
|
230
|
+
Contributions are welcome! Please feel free to submit issues and pull requests.
|
|
231
|
+
|
|
232
|
+
## License
|
|
233
|
+
|
|
234
|
+
MIT
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
**Happy building with AI! 🚀**
|
|
239
|
+
|
|
240
|
+
## Quick Reference
|
|
241
|
+
|
|
242
|
+
| Quick links | Description |
|
|
243
|
+
|-------------|-------------|
|
|
244
|
+
| [CHANGELOG.md](CHANGELOG.md) | Recent changes and release notes |
|
|
245
|
+
|
package/dist/cli.js
CHANGED
|
@@ -6,6 +6,7 @@ const init_1 = require("./commands/init");
|
|
|
6
6
|
const phase_1 = require("./commands/phase");
|
|
7
7
|
const setup_1 = require("./commands/setup");
|
|
8
8
|
const memory_1 = require("./commands/memory");
|
|
9
|
+
const skill_1 = require("./commands/skill");
|
|
9
10
|
const program = new commander_1.Command();
|
|
10
11
|
program
|
|
11
12
|
.name('ai-devkit')
|
|
@@ -28,5 +29,6 @@ program
|
|
|
28
29
|
.option('-g, --global', 'Install commands to global environment folders')
|
|
29
30
|
.action(setup_1.setupCommand);
|
|
30
31
|
(0, memory_1.registerMemoryCommand)(program);
|
|
32
|
+
(0, skill_1.registerSkillCommand)(program);
|
|
31
33
|
program.parse();
|
|
32
34
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,4CAAgD;AAChD,8CAA0D;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,4CAAgD;AAChD,8CAA0D;AAC1D,4CAAwD;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;KAC5C,MAAM,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;KAC/E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,2GAA2G,CAAC;KACxH,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,gDAAgD,CAAC;KACxE,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+E3D"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.registerSkillCommand = registerSkillCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const Config_1 = require("../lib/Config");
|
|
9
|
+
const SkillManager_1 = require("../lib/SkillManager");
|
|
10
|
+
function registerSkillCommand(program) {
|
|
11
|
+
const skillCommand = program
|
|
12
|
+
.command('skill')
|
|
13
|
+
.description('Manage Agent Skills');
|
|
14
|
+
skillCommand
|
|
15
|
+
.command('add <registry-repo> <skill-name>')
|
|
16
|
+
.description('Install a skill from a registry (e.g., ai-devkit skill add anthropics/skills frontend-design)')
|
|
17
|
+
.action(async (registryRepo, skillName) => {
|
|
18
|
+
try {
|
|
19
|
+
const configManager = new Config_1.ConfigManager();
|
|
20
|
+
const skillManager = new SkillManager_1.SkillManager(configManager);
|
|
21
|
+
await skillManager.addSkill(registryRepo, skillName);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error(chalk_1.default.red(`\nFailed to add skill: ${error.message}\n`));
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
skillCommand
|
|
29
|
+
.command('list')
|
|
30
|
+
.description('List all installed skills in the current project')
|
|
31
|
+
.action(async () => {
|
|
32
|
+
try {
|
|
33
|
+
const configManager = new Config_1.ConfigManager();
|
|
34
|
+
const skillManager = new SkillManager_1.SkillManager(configManager);
|
|
35
|
+
const skills = await skillManager.listSkills();
|
|
36
|
+
if (skills.length === 0) {
|
|
37
|
+
console.log(chalk_1.default.yellow('\nNo skills installed in this project.'));
|
|
38
|
+
console.log(chalk_1.default.dim('Install a skill with: ai-devkit skill add <registry>/<repo> <skill-name>\n'));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
console.log(chalk_1.default.bold('\nInstalled Skills:\n'));
|
|
42
|
+
const maxNameLength = Math.max(...skills.map(s => s.name.length), 10);
|
|
43
|
+
const maxRegistryLength = Math.max(...skills.map(s => s.registry.length), 15);
|
|
44
|
+
console.log(chalk_1.default.dim(' ') +
|
|
45
|
+
chalk_1.default.bold('Skill Name'.padEnd(maxNameLength + 2)) +
|
|
46
|
+
chalk_1.default.bold('Registry'.padEnd(maxRegistryLength + 2)) +
|
|
47
|
+
chalk_1.default.bold('Environments'));
|
|
48
|
+
console.log(chalk_1.default.dim(' ' + '─'.repeat(maxNameLength + maxRegistryLength + 30)));
|
|
49
|
+
skills.forEach(skill => {
|
|
50
|
+
console.log(' ' +
|
|
51
|
+
chalk_1.default.cyan(skill.name.padEnd(maxNameLength + 2)) +
|
|
52
|
+
chalk_1.default.dim(skill.registry.padEnd(maxRegistryLength + 2)) +
|
|
53
|
+
chalk_1.default.green(skill.environments.join(', ')));
|
|
54
|
+
});
|
|
55
|
+
console.log(chalk_1.default.dim(`\n Total: ${skills.length} skill(s)\n`));
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error(chalk_1.default.red(`\nFailed to list skills: ${error.message}\n`));
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
skillCommand
|
|
63
|
+
.command('remove <skill-name>')
|
|
64
|
+
.description('Remove a skill from the current project')
|
|
65
|
+
.action(async (skillName) => {
|
|
66
|
+
try {
|
|
67
|
+
const configManager = new Config_1.ConfigManager();
|
|
68
|
+
const skillManager = new SkillManager_1.SkillManager(configManager);
|
|
69
|
+
await skillManager.removeSkill(skillName);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error(chalk_1.default.red(`\nFailed to remove skill: ${error.message}\n`));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { EnvironmentCode } from
|
|
1
|
+
import { EnvironmentCode } from "../types";
|
|
2
2
|
export declare class EnvironmentSelector {
|
|
3
3
|
selectEnvironments(): Promise<EnvironmentCode[]>;
|
|
4
4
|
confirmOverride(conflicts: EnvironmentCode[]): Promise<boolean>;
|
|
5
5
|
displaySelectionSummary(selected: EnvironmentCode[]): void;
|
|
6
6
|
selectGlobalEnvironments(): Promise<EnvironmentCode[]>;
|
|
7
|
+
selectSkillEnvironments(): Promise<EnvironmentCode[]>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=EnvironmentSelector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentSelector.d.ts","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"EnvironmentSelector.d.ts","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C,qBAAa,mBAAmB;IACxB,kBAAkB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA6BhD,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBrE,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI;IAapD,wBAAwB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAkCtD,uBAAuB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAiC5D"}
|
|
@@ -9,25 +9,25 @@ const env_1 = require("../util/env");
|
|
|
9
9
|
class EnvironmentSelector {
|
|
10
10
|
async selectEnvironments() {
|
|
11
11
|
const environments = (0, env_1.getAllEnvironments)();
|
|
12
|
-
const choices = environments.map(env => ({
|
|
12
|
+
const choices = environments.map((env) => ({
|
|
13
13
|
name: env.name,
|
|
14
14
|
value: env.code,
|
|
15
|
-
short: env.name
|
|
15
|
+
short: env.name,
|
|
16
16
|
}));
|
|
17
17
|
const answers = await inquirer_1.default.prompt([
|
|
18
18
|
{
|
|
19
|
-
type:
|
|
20
|
-
name:
|
|
21
|
-
message:
|
|
19
|
+
type: "checkbox",
|
|
20
|
+
name: "environments",
|
|
21
|
+
message: "Select AI environments to set up (use space to select, enter to confirm):",
|
|
22
22
|
choices,
|
|
23
23
|
pageSize: 10,
|
|
24
24
|
validate: (input) => {
|
|
25
25
|
if (input.length === 0) {
|
|
26
|
-
return
|
|
26
|
+
return "Please select at least one environment.";
|
|
27
27
|
}
|
|
28
28
|
return true;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
31
|
]);
|
|
32
32
|
return answers.environments;
|
|
33
33
|
}
|
|
@@ -35,53 +35,81 @@ class EnvironmentSelector {
|
|
|
35
35
|
if (conflicts.length === 0) {
|
|
36
36
|
return true;
|
|
37
37
|
}
|
|
38
|
-
const conflictNames = conflicts.map(id => (0, env_1.getEnvironmentDisplayName)(id));
|
|
38
|
+
const conflictNames = conflicts.map((id) => (0, env_1.getEnvironmentDisplayName)(id));
|
|
39
39
|
const answers = await inquirer_1.default.prompt([
|
|
40
40
|
{
|
|
41
|
-
type:
|
|
42
|
-
name:
|
|
43
|
-
message: `The following environments are already set up and will be overwritten:\n ${conflictNames.join(
|
|
44
|
-
default: false
|
|
45
|
-
}
|
|
41
|
+
type: "confirm",
|
|
42
|
+
name: "proceed",
|
|
43
|
+
message: `The following environments are already set up and will be overwritten:\n ${conflictNames.join(", ")}\n\nDo you want to continue?`,
|
|
44
|
+
default: false,
|
|
45
|
+
},
|
|
46
46
|
]);
|
|
47
47
|
return answers.proceed;
|
|
48
48
|
}
|
|
49
49
|
displaySelectionSummary(selected) {
|
|
50
50
|
if (selected.length === 0) {
|
|
51
|
-
console.log(
|
|
51
|
+
console.log("No environments selected.");
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
console.log(
|
|
55
|
-
selected.forEach(envId => {
|
|
54
|
+
console.log("\nSelected environments:");
|
|
55
|
+
selected.forEach((envId) => {
|
|
56
56
|
console.log(` ${(0, env_1.getEnvironmentDisplayName)(envId)}`);
|
|
57
57
|
});
|
|
58
|
-
console.log(
|
|
58
|
+
console.log("");
|
|
59
59
|
}
|
|
60
60
|
async selectGlobalEnvironments() {
|
|
61
61
|
const globalCapableEnvs = (0, env_1.getGlobalCapableEnvironments)();
|
|
62
62
|
if (globalCapableEnvs.length === 0) {
|
|
63
|
-
console.log(
|
|
63
|
+
console.log("No environments support global setup.");
|
|
64
64
|
return [];
|
|
65
65
|
}
|
|
66
|
-
const choices = globalCapableEnvs.map(env => ({
|
|
66
|
+
const choices = globalCapableEnvs.map((env) => ({
|
|
67
67
|
name: env.name,
|
|
68
68
|
value: env.code,
|
|
69
|
-
short: env.name
|
|
69
|
+
short: env.name,
|
|
70
70
|
}));
|
|
71
71
|
const answers = await inquirer_1.default.prompt([
|
|
72
72
|
{
|
|
73
|
-
type:
|
|
74
|
-
name:
|
|
75
|
-
message:
|
|
73
|
+
type: "checkbox",
|
|
74
|
+
name: "environments",
|
|
75
|
+
message: "Select AI environments for global setup (use space to select, enter to confirm):",
|
|
76
76
|
choices,
|
|
77
77
|
pageSize: 10,
|
|
78
78
|
validate: (input) => {
|
|
79
79
|
if (input.length === 0) {
|
|
80
|
-
return
|
|
80
|
+
return "Please select at least one environment.";
|
|
81
81
|
}
|
|
82
82
|
return true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
]);
|
|
86
|
+
return answers.environments;
|
|
87
|
+
}
|
|
88
|
+
async selectSkillEnvironments() {
|
|
89
|
+
const skillCapableEnvs = (0, env_1.getSkillCapableEnvironments)();
|
|
90
|
+
if (skillCapableEnvs.length === 0) {
|
|
91
|
+
console.log("No environments support skills.");
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
94
|
+
const choices = skillCapableEnvs.map((env) => ({
|
|
95
|
+
name: env.name,
|
|
96
|
+
value: env.code,
|
|
97
|
+
short: env.name,
|
|
98
|
+
}));
|
|
99
|
+
const answers = await inquirer_1.default.prompt([
|
|
100
|
+
{
|
|
101
|
+
type: "checkbox",
|
|
102
|
+
name: "environments",
|
|
103
|
+
message: "Select AI environments for skill installation (use space to select, enter to confirm):",
|
|
104
|
+
choices,
|
|
105
|
+
pageSize: 10,
|
|
106
|
+
validate: (input) => {
|
|
107
|
+
if (input.length === 0) {
|
|
108
|
+
return "Please select at least one environment.";
|
|
109
|
+
}
|
|
110
|
+
return true;
|
|
111
|
+
},
|
|
112
|
+
},
|
|
85
113
|
]);
|
|
86
114
|
return answers.environments;
|
|
87
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentSelector.js","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"EnvironmentSelector.js","sourceRoot":"","sources":["../../src/lib/EnvironmentSelector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ConfigManager } from './Config';
|
|
2
|
+
import { EnvironmentSelector } from './EnvironmentSelector';
|
|
3
|
+
interface InstalledSkill {
|
|
4
|
+
name: string;
|
|
5
|
+
registry: string;
|
|
6
|
+
environments: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare class SkillManager {
|
|
9
|
+
private configManager;
|
|
10
|
+
private environmentSelector;
|
|
11
|
+
constructor(configManager: ConfigManager, environmentSelector?: EnvironmentSelector);
|
|
12
|
+
/**
|
|
13
|
+
* Add a skill to the project
|
|
14
|
+
* @param registryId - e.g., "anthropics/skills"
|
|
15
|
+
* @param skillName - e.g., "frontend-design"
|
|
16
|
+
*/
|
|
17
|
+
addSkill(registryId: string, skillName: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* List installed skills in the project
|
|
20
|
+
*/
|
|
21
|
+
listSkills(): Promise<InstalledSkill[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Remove a skill from the project
|
|
24
|
+
* @param skillName - Name of the skill to remove
|
|
25
|
+
*/
|
|
26
|
+
removeSkill(skillName: string): Promise<void>;
|
|
27
|
+
private fetchRegistry;
|
|
28
|
+
private getInstallationTargets;
|
|
29
|
+
private cloneRepositoryToCache;
|
|
30
|
+
private filterSkillCapableEnvironments;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=SkillManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillManager.d.ts","sourceRoot":"","sources":["../../src/lib/SkillManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAY5D,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,YAAY;IAErB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;gBADnB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,GAAE,mBAA+C;IAG9E;;;;OAIG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgFpE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IA8D7C;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqCrC,aAAa;IAuB3B,OAAO,CAAC,sBAAsB;YAiBhB,sBAAsB;IAcpC,OAAO,CAAC,8BAA8B;CAMvC"}
|