@azerogluemin/ai-bootstrap 0.4.2 → 0.6.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/dist/applier/agents-installer.d.ts +1 -6
  3. package/dist/applier/agents-installer.js +16 -64
  4. package/dist/applier/agents-installer.js.map +1 -1
  5. package/dist/applier/pool.d.ts +34 -0
  6. package/dist/applier/pool.js +166 -0
  7. package/dist/applier/pool.js.map +1 -0
  8. package/dist/applier/preset-definitions.d.ts +15 -0
  9. package/dist/applier/preset-definitions.js +225 -0
  10. package/dist/applier/preset-definitions.js.map +1 -0
  11. package/dist/applier/preset-scaffolder.d.ts +14 -0
  12. package/dist/applier/preset-scaffolder.js +526 -0
  13. package/dist/applier/preset-scaffolder.js.map +1 -0
  14. package/dist/applier/skills-installer.d.ts +5 -3
  15. package/dist/applier/skills-installer.js +26 -75
  16. package/dist/applier/skills-installer.js.map +1 -1
  17. package/dist/commands/help.d.ts +1 -0
  18. package/dist/commands/help.js +98 -0
  19. package/dist/commands/help.js.map +1 -0
  20. package/dist/commands/mcp.js +50 -5
  21. package/dist/commands/mcp.js.map +1 -1
  22. package/dist/commands/new.js +74 -164
  23. package/dist/commands/new.js.map +1 -1
  24. package/dist/commands/scan.d.ts +1 -0
  25. package/dist/commands/scan.js +42 -0
  26. package/dist/commands/scan.js.map +1 -0
  27. package/dist/commands/skills.js +65 -1
  28. package/dist/commands/skills.js.map +1 -1
  29. package/dist/index.js +10 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/utils/paths.d.ts +3 -0
  32. package/dist/utils/paths.js +8 -1
  33. package/dist/utils/paths.js.map +1 -1
  34. package/dist/wizard.js +63 -75
  35. package/dist/wizard.js.map +1 -1
  36. package/package.json +1 -1
  37. package/templates/skills/art-director/SKILL.md +209 -0
  38. package/templates/skills/backend-developer/SKILL.md +198 -0
  39. package/templates/skills/cinematographer/SKILL.md +233 -0
  40. package/templates/skills/colorist/SKILL.md +210 -0
  41. package/templates/skills/devops-developer/SKILL.md +263 -0
  42. package/templates/skills/editor/SKILL.md +166 -0
  43. package/templates/skills/frontend-developer/SKILL.md +147 -0
  44. package/templates/skills/mobile-developer/SKILL.md +227 -0
@@ -1,94 +1,45 @@
1
- // Install selected skills to ~/.claude/skills/
2
- // Copies skill directories from packages/templates/skills/<skill>/
1
+ // Install skills into a target skills directory by linking from the pool.
3
2
  //
4
- // Why copy (not symlink): npm caches may be cleaned, breaking symlinks.
5
- // Copying makes the install self-contained and survives any source removal.
6
- // Templates are versioned via the npm package itself.
7
- import { existsSync, cpSync, rmSync } from 'node:fs';
8
- import { join, resolve } from 'node:path';
9
- import { fileURLToPath } from 'node:url';
3
+ // v0.5.0 changed:
4
+ // - Used to COPY skill dirs from templates (~10KB each) per project
5
+ // - Now ensures pool is up-to-date, then SYMLINKS from pool → target
6
+ // - One copy on disk in pool; many lightweight links across projects
7
+ // - Updates to pool (via ai-bootstrap update) propagate automatically
8
+ //
9
+ // Cross-platform: POSIX symlink, Windows junction, copy fallback.
10
+ import { existsSync } from 'node:fs';
11
+ import { join } from 'node:path';
10
12
  import { ensureDir, SKILLS_DIR } from '../utils/paths.js';
11
- /**
12
- * Resolve the absolute path to skills templates folder.
13
- *
14
- * Lookup order:
15
- * 1) ./templates/skills/ — published npm package (bundled via prepack)
16
- * 2) ../templates/skills/ — packages/cli/templates/skills/ (dev edit fallback)
17
- * 3) ../../templates/skills/ — packages/templates/skills/ (monorepo dev)
18
- *
19
- * Returns the first path that exists; otherwise the most-likely production path.
20
- */
21
- function templatesSkillsPath() {
22
- const here = fileURLToPath(import.meta.url);
23
- // From dist/applier/skills-installer.js:
24
- // - cli root = ../../../
25
- const cliRoot = resolve(here, '..', '..', '..');
26
- const candidates = [
27
- join(cliRoot, 'templates', 'skills'), // 1) published npm pkg
28
- resolve(cliRoot, '..', 'templates', 'skills'), // 2) sibling templates package (monorepo)
29
- ];
30
- for (const c of candidates) {
31
- if (existsSync(c))
32
- return c;
33
- }
34
- return candidates[0];
35
- }
13
+ import { ensurePool, linkFromPool, poolHasSkill, poolSkillPath } from './pool.js';
36
14
  /**
37
15
  * Install skills into a target skills directory.
38
- * @param skillNames List of skill IDs to install
39
- * @param targetSkillsDir Absolute path to the skills directory (default: `~/.claude/skills/`).
40
- * Pass `<project>/.claude/skills/` for project-scope installation.
16
+ * @param skillNames List of skill IDs to install (must exist in pool)
17
+ * @param targetSkillsDir Absolute path. Default `~/.claude/skills/` (user scope).
18
+ * Pass `<project>/.claude/skills/` for project scope.
41
19
  */
42
20
  export function installSkills(skillNames, targetSkillsDir = SKILLS_DIR) {
43
- const result = {
44
- installed: [],
45
- skipped: [],
46
- errors: [],
47
- };
21
+ const result = { installed: [], skipped: [], errors: [] };
22
+ // Ensure the pool has the latest templates (no-op if already up-to-date)
23
+ ensurePool();
48
24
  ensureDir(targetSkillsDir);
49
- const templatesDir = templatesSkillsPath();
50
- if (!existsSync(templatesDir)) {
51
- for (const name of skillNames) {
52
- result.errors.push({
53
- skill: name,
54
- error: `Templates folder yoxdur: ${templatesDir}`,
55
- });
56
- }
57
- return result;
58
- }
59
25
  for (const name of skillNames) {
60
- const sourceDir = join(templatesDir, name);
61
- const targetDir = join(targetSkillsDir, name);
62
- // Check source exists
63
- if (!existsSync(sourceDir)) {
64
- result.skipped.push({
65
- skill: name,
66
- reason: `Mənbə yoxdur: ${sourceDir} (skill hələ yazılmayıb)`,
67
- });
26
+ if (!poolHasSkill(name)) {
27
+ result.skipped.push({ skill: name, reason: `Pool-da yoxdur: ${name}` });
68
28
  continue;
69
29
  }
70
- // Check target already exists
71
- if (existsSync(targetDir)) {
72
- result.skipped.push({
73
- skill: name,
74
- reason: 'artıq install olunub',
75
- });
30
+ const target = join(targetSkillsDir, name);
31
+ if (existsSync(target)) {
32
+ result.skipped.push({ skill: name, reason: 'artıq quraşdırılıb' });
76
33
  continue;
77
34
  }
78
- // Copy recursively (npm-cache-safe; survives source removal)
79
35
  try {
80
- cpSync(sourceDir, targetDir, { recursive: true, dereference: true });
36
+ const mode = linkFromPool(poolSkillPath(name), target);
81
37
  result.installed.push(name);
38
+ if (!result.linkMode)
39
+ result.linkMode = mode;
82
40
  }
83
41
  catch (err) {
84
- try {
85
- rmSync(targetDir, { recursive: true, force: true });
86
- }
87
- catch { /* best-effort cleanup */ }
88
- result.errors.push({
89
- skill: name,
90
- error: err instanceof Error ? err.message : String(err),
91
- });
42
+ result.errors.push({ skill: name, error: err instanceof Error ? err.message : String(err) });
92
43
  }
93
44
  }
94
45
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"skills-installer.js","sourceRoot":"","sources":["../../src/applier/skills-installer.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mEAAmE;AACnE,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;GASG;AACH,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,yCAAyC;IACzC,2BAA2B;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAiB,uBAAuB;QAC5E,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAS,0CAA0C;KACjG,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,UAAoB,EACpB,kBAA0B,UAAU;IAEpC,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAE3C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,4BAA4B,YAAY,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAE9C,sBAAsB;QACtB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,iBAAiB,SAAS,0BAA0B;aAC7D,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,8BAA8B;QAC9B,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,sBAAsB;aAC/B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;YAChG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"skills-installer.js","sourceRoot":"","sources":["../../src/applier/skills-installer.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,kBAAkB;AAClB,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,EAAE;AACF,kEAAkE;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAUlF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,UAAoB,EACpB,kBAA0B,UAAU;IAEpC,MAAM,MAAM,GAAuB,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE9E,yEAAyE;IACzE,UAAU,EAAE,CAAC;IACb,SAAS,CAAC,eAAe,CAAC,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function runHelpCommand(): void;
@@ -0,0 +1,98 @@
1
+ // ai-bootstrap help — comprehensive guide.
2
+ // `--help` shows brief; `help` shows the full tour.
3
+ import chalk from 'chalk';
4
+ export function runHelpCommand() {
5
+ console.log(`
6
+ ${chalk.bold.cyan('ai-bootstrap')} ${chalk.dim('— Personal AI infrastructure for Claude Code')}
7
+
8
+ ${chalk.bold('Necə işləyir')}
9
+
10
+ ai-bootstrap iki yerdə skill və agent quraşdırır:
11
+ 1. ${chalk.cyan('User scope')} (${chalk.dim('~/.claude/skills/')})
12
+ Hər layihədə, hər session-da yüklənir. Universal əsas.
13
+ 2. ${chalk.cyan('Project scope')} (${chalk.dim('<layihə>/.claude/skills/')})
14
+ Yalnız o layihədə yüklənir. Layihəyə xas dəst.
15
+
16
+ Hər ikisi ${chalk.cyan('pool')}-dan symlink edir:
17
+ ${chalk.dim('~/.claude/skills-pool/')} ← bütün skill-lər bir dəfə saxlanır (3-4 MB)
18
+ ${chalk.dim('~/.claude/agents-pool/')} ← bütün agent-lər bir dəfə
19
+
20
+ ${chalk.bold('Nəticə:')} ${chalk.green('10 layihə = 1 dəfə disk, 10 layihəyə link')}
21
+
22
+ ${chalk.bold('İlk istifadə (3 addım)')}
23
+
24
+ ${chalk.cyan('npm install -g @azerogluemin/ai-bootstrap')} ${chalk.dim('# qlobal install')}
25
+ ${chalk.cyan('ai-bootstrap')} ${chalk.dim('# 3 sual, foundation + free MCPs quraşdırır')}
26
+ ${chalk.cyan('cd ~/Projects/yeni-layihə && ai-bootstrap new')} ${chalk.dim('# layihə bundle')}
27
+
28
+ ${chalk.bold('Komandalar')}
29
+
30
+ ${chalk.bold.cyan(' Setup')}
31
+ ${chalk.cyan('ai-bootstrap')} User-scope setup (3 sual)
32
+ ${chalk.cyan('ai-bootstrap new')} Layihə setup (3 sual, multi-bundle)
33
+ ${chalk.cyan('ai-bootstrap update')} Yeni versiyaya yenilə (pool sinxron)
34
+ ${chalk.cyan('ai-bootstrap doctor')} Sağlamlıq yoxla
35
+
36
+ ${chalk.bold.cyan(' Skill + Agent idarəsi')}
37
+ ${chalk.cyan('ai-bootstrap add')} ${chalk.dim('İnteraktiv multi-select siyahı')}
38
+ ${chalk.cyan('ai-bootstrap add <name1> <name2>')} Konkret skill/agent əlavə
39
+ ${chalk.cyan('ai-bootstrap add --bundle creator')} Bütün bundle əlavə
40
+ ${chalk.cyan('ai-bootstrap remove <name>')} Sil (alias: rm)
41
+ ${chalk.cyan('ai-bootstrap list')} Bu scope-da quraşdırılanlar
42
+ ${chalk.cyan('ai-bootstrap list --all')} User + bu layihə yan-yana
43
+
44
+ ${chalk.bold.cyan(' MCP servers')}
45
+ ${chalk.cyan('ai-bootstrap mcp list')} 63 mövcud server siyahısı
46
+ ${chalk.cyan('ai-bootstrap mcp add github notion')} Manual MCP əlavə
47
+ ${chalk.cyan('ai-bootstrap mcp installed')} Quraşdırılan MCP-lər
48
+ ${chalk.cyan('ai-bootstrap mcp credentials')} Token-ləri əlavə et
49
+
50
+ ${chalk.bold.cyan(' Backup (opsional)')}
51
+ ${chalk.cyan('ai-bootstrap backup init')} Git remote bağla
52
+ ${chalk.cyan('ai-bootstrap backup sync')} Dəyişiklikləri push
53
+ ${chalk.cyan('ai-bootstrap backup pull')} Yeni maşında bərpa
54
+ ${chalk.cyan('ai-bootstrap backup status')} Son sinx + remote
55
+
56
+ ${chalk.bold.cyan(' Layihə skan')}
57
+ ${chalk.cyan('ai-bootstrap scan ~/MyJobs')} Mövcud layihələri tap
58
+
59
+ ${chalk.bold.cyan(' Telemetry (default OFF)')}
60
+ ${chalk.cyan('ai-bootstrap telemetry on/off/status')} Anonim usage data
61
+
62
+ ${chalk.bold.cyan(' Meta')}
63
+ ${chalk.cyan('ai-bootstrap --version')} Versiya
64
+ ${chalk.cyan('ai-bootstrap --help')} Qısa kömək
65
+ ${chalk.cyan('ai-bootstrap help')} Bu tam kömək
66
+
67
+ ${chalk.bold('Tipik axın')}
68
+
69
+ ${chalk.dim('# 1) Maşına bir dəfə:')}
70
+ ${chalk.cyan('npm install -g @azerogluemin/ai-bootstrap')}
71
+ ${chalk.cyan('ai-bootstrap')} ${chalk.dim('# foundation + free MCPs')}
72
+ ${chalk.cyan('ai-bootstrap mcp add github instagram brave-search')}
73
+ ${chalk.cyan('ai-bootstrap mcp credentials')} ${chalk.dim('# token-ləri əlavə')}
74
+
75
+ ${chalk.dim('# 2) Yeni AI Creator layihə:')}
76
+ ${chalk.cyan('mkdir -p ~/Projects/ai-content && cd ~/Projects/ai-content')}
77
+ ${chalk.cyan('ai-bootstrap new')} ${chalk.dim('# creator bundle seç')}
78
+ ${chalk.cyan('claude')}
79
+
80
+ ${chalk.dim('# 3) Yeni SaaS layihə:')}
81
+ ${chalk.cyan('mkdir -p ~/Projects/saas && cd ~/Projects/saas')}
82
+ ${chalk.cyan('ai-bootstrap new')} ${chalk.dim('# developer bundle seç')}
83
+ ${chalk.cyan('claude')}
84
+
85
+ ${chalk.dim('# 4) Layihənin yarısında əlavə skill lazım oldu:')}
86
+ ${chalk.cyan('cd ~/Projects/saas')}
87
+ ${chalk.cyan('ai-bootstrap add')} ${chalk.dim('# interaktiv siyahı, multi-select')}
88
+ ${chalk.cyan('# yaxud')}
89
+ ${chalk.cyan('ai-bootstrap add showrunner image-prompt-engineer')}
90
+
91
+ ${chalk.bold('Ətraflı')}
92
+
93
+ Docs: ${chalk.cyan('https://github.com/eminazeroglu/ai-bootstrap')}
94
+ npm: ${chalk.cyan('https://www.npmjs.com/package/@azerogluemin/ai-bootstrap')}
95
+ Issue: ${chalk.cyan('https://github.com/eminazeroglu/ai-bootstrap/issues')}
96
+ `);
97
+ }
98
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
@@ -8,19 +8,21 @@
8
8
  import chalk from 'chalk';
9
9
  import { existsSync, readFileSync, writeFileSync, chmodSync } from 'node:fs';
10
10
  import { join } from 'node:path';
11
- import { input, password } from '@inquirer/prompts';
11
+ import { input, password, checkbox } from '@inquirer/prompts';
12
12
  import { HOME } from '../utils/paths.js';
13
13
  import { MCP_CATALOG, getMcpEntry } from '../applier/mcp-catalog.js';
14
- import { listInstalledMcps } from '../applier/mcp-config.js';
14
+ import { writeMcpConfig, listInstalledMcps } from '../applier/mcp-config.js';
15
15
  const ENV_FILE = join(HOME, '.ai-bootstrap.env');
16
16
  function printMcpHelp() {
17
17
  console.log(`
18
18
  ${chalk.bold('ai-bootstrap mcp')} — MCP server management
19
19
 
20
20
  ${chalk.bold('Subcommands:')}
21
- ${chalk.cyan('list')} List all available MCPs in the catalog
22
- ${chalk.cyan('installed')} List MCPs configured via ai-bootstrap
23
- ${chalk.cyan('credentials')} Interactively fill credentials into ~/.ai-bootstrap.env
21
+ ${chalk.cyan('list')} List all available MCPs in the catalog
22
+ ${chalk.cyan('add')} Interactive multi-select MCP server(s)
23
+ ${chalk.cyan('add github notion slack')} Add specific MCPs by ID
24
+ ${chalk.cyan('installed')} List MCPs configured via ai-bootstrap
25
+ ${chalk.cyan('credentials')} Interactively fill credentials into ~/.ai-bootstrap.env
24
26
  `);
25
27
  }
26
28
  function listAll() {
@@ -117,6 +119,45 @@ async function collectCredentials() {
117
119
  console.log(chalk.dim('Shell-də yüklə (qoy ~/.zshrc və ya ~/.bashrc-ə):'));
118
120
  console.log(chalk.cyan(` set -a; source ${ENV_FILE}; set +a\n`));
119
121
  }
122
+ async function addMcps(names) {
123
+ let toInstall = names;
124
+ // No args → interactive multi-select
125
+ if (toInstall.length === 0) {
126
+ const byCategory = new Map();
127
+ for (const entry of Object.values(MCP_CATALOG)) {
128
+ const list = byCategory.get(entry.category) ?? [];
129
+ list.push(entry);
130
+ byCategory.set(entry.category, list);
131
+ }
132
+ const choices = [];
133
+ for (const [cat, entries] of byCategory) {
134
+ choices.push({ name: chalk.bold(`── ${cat.toUpperCase()} ──`), value: `__cat_${cat}`, disabled: true });
135
+ for (const e of entries.sort((a, b) => a.id.localeCompare(b.id))) {
136
+ const credIcon = e.credentialKeys.length > 0 ? chalk.yellow(' 🔑') : '';
137
+ choices.push({ name: `${e.id.padEnd(22)} ${chalk.dim(e.description)}${credIcon}`, value: e.id });
138
+ }
139
+ }
140
+ toInstall = await checkbox({
141
+ message: 'MCP server-(lər)i seç: (Space = seç, Enter = bitir, 🔑 = credential lazımdır)',
142
+ choices,
143
+ pageSize: 25,
144
+ required: true,
145
+ });
146
+ }
147
+ console.log(chalk.dim(`\n Quraşdırılır: ${toInstall.join(', ')}\n`));
148
+ const result = writeMcpConfig(toInstall);
149
+ console.log(` ${chalk.green('✓')} ${result.installed.length} yeni MCP konfiq edildi`);
150
+ if (result.skipped.length > 0) {
151
+ console.log(chalk.dim(` ${result.skipped.length} artıq var: ${result.skipped.join(', ')}`));
152
+ }
153
+ if (result.missingFromCatalog.length > 0) {
154
+ console.log(chalk.yellow(` ⚠ Kataloqda yoxdur: ${result.missingFromCatalog.join(', ')}`));
155
+ }
156
+ if (result.credentialsRequired.length > 0) {
157
+ console.log(chalk.dim(`\n ${result.credentialsRequired.length} MCP credential gözləyir. İçin: ${chalk.cyan('ai-bootstrap mcp credentials')}`));
158
+ }
159
+ console.log('');
160
+ }
120
161
  export async function runMcpCommand(args) {
121
162
  const sub = args[0];
122
163
  if (!sub || sub === 'help' || sub === '--help' || sub === '-h') {
@@ -131,6 +172,10 @@ export async function runMcpCommand(args) {
131
172
  listInstalled();
132
173
  return;
133
174
  }
175
+ if (sub === 'add') {
176
+ await addMcps(args.slice(1).filter((a) => !a.startsWith('--')));
177
+ return;
178
+ }
134
179
  if (sub === 'credentials' || sub === 'creds') {
135
180
  await collectCredentials();
136
181
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}