@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 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
- console.log(chalk2.bold("\n\u{1F50D} Checking CLI tools...\n"));
4236
- const cliTools = await CliDetector.checkAll();
4237
- const installableTools = CliDetector.filterInstallable(cliTools);
4238
- for (const tool of cliTools) {
4239
- const status = tool.installed ? chalk2.green("\u2713 Installed") : chalk2.yellow("\u2717 Not installed");
4240
- const version = tool.version ? chalk2.gray(` (${tool.version})`) : "";
4241
- console.log(` ${status} ${chalk2.cyan(tool.displayName)}${version}`);
4242
- }
4243
- if (installableTools.length > 0) {
4244
- console.log();
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
- logger.info(`Installing ${installTools.length} CLI tool(s)...`);
4261
- for (const tool of installTools) {
4262
- await installCliTool(tool);
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.info("Skipping CLI tool installation");
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();