@tdsoft-tech/aikit 0.1.6 → 0.1.7
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/CHANGELOG.md +2 -0
- package/dist/cli.js +36 -34
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
- Interactive prompt để chọn và cài đặt CLI tools chưa được install
|
|
9
9
|
- Hỗ trợ cài đặt cho: OpenCode, Claude CLI, GitHub CLI
|
|
10
10
|
- Display status cho từng CLI tool (installed/not installed + version)
|
|
11
|
+
- 🆕 **NEW**: Option `--skip-cli-tools` để bỏ qua bước CLI tools detection
|
|
12
|
+
- Phù hợp cho CI/CD hoặc automation scripts
|
|
11
13
|
- ✨ New command `/analyze-figma` - Tự động phân tích Figma design và extract design tokens
|
|
12
14
|
- Không cần user phải viết prompt dài
|
|
13
15
|
- Tự động gọi @vision agent
|
package/dist/cli.js
CHANGED
|
@@ -4218,7 +4218,7 @@ init_logger();
|
|
|
4218
4218
|
init_paths();
|
|
4219
4219
|
var program = new Command();
|
|
4220
4220
|
program.name("aikit").description("Open-source AI coding agent toolkit for OpenCode").version(getVersion());
|
|
4221
|
-
program.command("init").description("Initialize AIKit configuration").option("-g, --global", "Initialize global configuration").option("-p, --project", "Initialize project-level configuration").action(async (options) => {
|
|
4221
|
+
program.command("init").description("Initialize AIKit configuration").option("-g, --global", "Initialize global configuration").option("-p, --project", "Initialize project-level configuration").option("--skip-cli-tools", "Skip CLI tool detection and installation").action(async (options) => {
|
|
4222
4222
|
const configDir = options.global ? paths.globalConfig() : paths.projectConfig();
|
|
4223
4223
|
console.log(chalk2.bold("\n\u{1F680} AIKit Setup\n"));
|
|
4224
4224
|
logger.info(`Initializing AIKit in ${configDir}...`);
|
|
@@ -4232,44 +4232,46 @@ program.command("init").description("Initialize AIKit configuration").option("-g
|
|
|
4232
4232
|
if (result.count > 0) {
|
|
4233
4233
|
logger.success(`\u2713 Synced ${result.count} skills`);
|
|
4234
4234
|
}
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
const
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
const { installTools } = await inquirer.prompt([
|
|
4246
|
-
{
|
|
4247
|
-
type: "checkbox",
|
|
4248
|
-
name: "installTools",
|
|
4249
|
-
message: "Select CLI tools to install (press Enter to skip):",
|
|
4250
|
-
choices: installableTools.map((tool) => ({
|
|
4251
|
-
name: tool.name,
|
|
4252
|
-
value: tool,
|
|
4253
|
-
checked: true
|
|
4254
|
-
// Default to install all
|
|
4255
|
-
}))
|
|
4256
|
-
}
|
|
4257
|
-
]);
|
|
4258
|
-
if (installTools.length > 0) {
|
|
4235
|
+
if (!options.skipCliTools) {
|
|
4236
|
+
console.log(chalk2.bold("\n\u{1F50D} Checking CLI tools...\n"));
|
|
4237
|
+
const cliTools = await CliDetector.checkAll();
|
|
4238
|
+
const installableTools = CliDetector.filterInstallable(cliTools);
|
|
4239
|
+
for (const tool of cliTools) {
|
|
4240
|
+
const status = tool.installed ? chalk2.green("\u2713 Installed") : chalk2.yellow("\u2717 Not installed");
|
|
4241
|
+
const version = tool.version ? chalk2.gray(` (${tool.version})`) : "";
|
|
4242
|
+
console.log(` ${status} ${chalk2.cyan(tool.displayName)}${version}`);
|
|
4243
|
+
}
|
|
4244
|
+
if (installableTools.length > 0) {
|
|
4259
4245
|
console.log();
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4246
|
+
const { installTools } = await inquirer.prompt([
|
|
4247
|
+
{
|
|
4248
|
+
type: "checkbox",
|
|
4249
|
+
name: "installTools",
|
|
4250
|
+
message: "Select CLI tools to install (press Enter to skip):",
|
|
4251
|
+
choices: installableTools.map((tool) => ({
|
|
4252
|
+
name: tool.name,
|
|
4253
|
+
value: tool,
|
|
4254
|
+
checked: true
|
|
4255
|
+
// Default to install all
|
|
4256
|
+
}))
|
|
4257
|
+
}
|
|
4258
|
+
]);
|
|
4259
|
+
if (installTools.length > 0) {
|
|
4260
|
+
console.log();
|
|
4261
|
+
logger.info(`Installing ${installTools.length} CLI tool(s)...`);
|
|
4262
|
+
for (const tool of installTools) {
|
|
4263
|
+
await installCliTool(tool);
|
|
4264
|
+
}
|
|
4265
|
+
console.log();
|
|
4266
|
+
logger.success("\u2713 CLI tools installed");
|
|
4267
|
+
} else {
|
|
4268
|
+
console.log();
|
|
4269
|
+
logger.info("Skipping CLI tool installation");
|
|
4263
4270
|
}
|
|
4264
|
-
console.log();
|
|
4265
|
-
logger.success("\u2713 CLI tools installed");
|
|
4266
4271
|
} else {
|
|
4267
4272
|
console.log();
|
|
4268
|
-
logger.
|
|
4273
|
+
logger.success("\u2713 All CLI tools already installed");
|
|
4269
4274
|
}
|
|
4270
|
-
} else {
|
|
4271
|
-
console.log();
|
|
4272
|
-
logger.success("\u2713 All CLI tools already installed");
|
|
4273
4275
|
}
|
|
4274
4276
|
const beads = new BeadsIntegration();
|
|
4275
4277
|
const beadsStatus = await beads.getStatus();
|