aitk-cli 0.2.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 (118) hide show
  1. package/README.md +147 -0
  2. package/dist/bin/aitk.d.ts +3 -0
  3. package/dist/bin/aitk.d.ts.map +1 -0
  4. package/dist/bin/aitk.js +108 -0
  5. package/dist/bin/aitk.js.map +1 -0
  6. package/dist/commands/completions.d.ts +3 -0
  7. package/dist/commands/completions.d.ts.map +1 -0
  8. package/dist/commands/completions.js +244 -0
  9. package/dist/commands/completions.js.map +1 -0
  10. package/dist/commands/config.d.ts +3 -0
  11. package/dist/commands/config.d.ts.map +1 -0
  12. package/dist/commands/config.js +108 -0
  13. package/dist/commands/config.js.map +1 -0
  14. package/dist/commands/init.d.ts +3 -0
  15. package/dist/commands/init.d.ts.map +1 -0
  16. package/dist/commands/init.js +232 -0
  17. package/dist/commands/init.js.map +1 -0
  18. package/dist/commands/install.d.ts +3 -0
  19. package/dist/commands/install.d.ts.map +1 -0
  20. package/dist/commands/install.js +250 -0
  21. package/dist/commands/install.js.map +1 -0
  22. package/dist/commands/list.d.ts +3 -0
  23. package/dist/commands/list.d.ts.map +1 -0
  24. package/dist/commands/list.js +78 -0
  25. package/dist/commands/list.js.map +1 -0
  26. package/dist/commands/login.d.ts +3 -0
  27. package/dist/commands/login.d.ts.map +1 -0
  28. package/dist/commands/login.js +362 -0
  29. package/dist/commands/login.js.map +1 -0
  30. package/dist/commands/logout.d.ts +3 -0
  31. package/dist/commands/logout.d.ts.map +1 -0
  32. package/dist/commands/logout.js +10 -0
  33. package/dist/commands/logout.js.map +1 -0
  34. package/dist/commands/publish.d.ts +3 -0
  35. package/dist/commands/publish.d.ts.map +1 -0
  36. package/dist/commands/publish.js +245 -0
  37. package/dist/commands/publish.js.map +1 -0
  38. package/dist/commands/remove.d.ts +3 -0
  39. package/dist/commands/remove.d.ts.map +1 -0
  40. package/dist/commands/remove.js +150 -0
  41. package/dist/commands/remove.js.map +1 -0
  42. package/dist/commands/search.d.ts +3 -0
  43. package/dist/commands/search.d.ts.map +1 -0
  44. package/dist/commands/search.js +77 -0
  45. package/dist/commands/search.js.map +1 -0
  46. package/dist/commands/status.d.ts +3 -0
  47. package/dist/commands/status.d.ts.map +1 -0
  48. package/dist/commands/status.js +177 -0
  49. package/dist/commands/status.js.map +1 -0
  50. package/dist/commands/sync.d.ts +3 -0
  51. package/dist/commands/sync.d.ts.map +1 -0
  52. package/dist/commands/sync.js +178 -0
  53. package/dist/commands/sync.js.map +1 -0
  54. package/dist/commands/team.d.ts +3 -0
  55. package/dist/commands/team.d.ts.map +1 -0
  56. package/dist/commands/team.js +236 -0
  57. package/dist/commands/team.js.map +1 -0
  58. package/dist/commands/update.d.ts +3 -0
  59. package/dist/commands/update.d.ts.map +1 -0
  60. package/dist/commands/update.js +311 -0
  61. package/dist/commands/update.js.map +1 -0
  62. package/dist/core/api-client.d.ts +44 -0
  63. package/dist/core/api-client.d.ts.map +1 -0
  64. package/dist/core/api-client.js +111 -0
  65. package/dist/core/api-client.js.map +1 -0
  66. package/dist/core/auth.d.ts +12 -0
  67. package/dist/core/auth.d.ts.map +1 -0
  68. package/dist/core/auth.js +48 -0
  69. package/dist/core/auth.js.map +1 -0
  70. package/dist/core/config.d.ts +13 -0
  71. package/dist/core/config.d.ts.map +1 -0
  72. package/dist/core/config.js +42 -0
  73. package/dist/core/config.js.map +1 -0
  74. package/dist/core/lockfile.d.ts +22 -0
  75. package/dist/core/lockfile.d.ts.map +1 -0
  76. package/dist/core/lockfile.js +75 -0
  77. package/dist/core/lockfile.js.map +1 -0
  78. package/dist/core/manifest.d.ts +12 -0
  79. package/dist/core/manifest.d.ts.map +1 -0
  80. package/dist/core/manifest.js +57 -0
  81. package/dist/core/manifest.js.map +1 -0
  82. package/dist/core/resolver.d.ts +52 -0
  83. package/dist/core/resolver.d.ts.map +1 -0
  84. package/dist/core/resolver.js +108 -0
  85. package/dist/core/resolver.js.map +1 -0
  86. package/dist/index.d.ts +8 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +8 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/installers/base-installer.d.ts +19 -0
  91. package/dist/installers/base-installer.d.ts.map +1 -0
  92. package/dist/installers/base-installer.js +4 -0
  93. package/dist/installers/base-installer.js.map +1 -0
  94. package/dist/installers/config-installer.d.ts +10 -0
  95. package/dist/installers/config-installer.d.ts.map +1 -0
  96. package/dist/installers/config-installer.js +108 -0
  97. package/dist/installers/config-installer.js.map +1 -0
  98. package/dist/installers/hook-installer.d.ts +10 -0
  99. package/dist/installers/hook-installer.d.ts.map +1 -0
  100. package/dist/installers/hook-installer.js +41 -0
  101. package/dist/installers/hook-installer.js.map +1 -0
  102. package/dist/installers/mcp-installer.d.ts +14 -0
  103. package/dist/installers/mcp-installer.d.ts.map +1 -0
  104. package/dist/installers/mcp-installer.js +152 -0
  105. package/dist/installers/mcp-installer.js.map +1 -0
  106. package/dist/installers/skill-installer.d.ts +10 -0
  107. package/dist/installers/skill-installer.d.ts.map +1 -0
  108. package/dist/installers/skill-installer.js +41 -0
  109. package/dist/installers/skill-installer.js.map +1 -0
  110. package/dist/installers/template-installer.d.ts +16 -0
  111. package/dist/installers/template-installer.d.ts.map +1 -0
  112. package/dist/installers/template-installer.js +123 -0
  113. package/dist/installers/template-installer.js.map +1 -0
  114. package/dist/utils/logger.d.ts +66 -0
  115. package/dist/utils/logger.d.ts.map +1 -0
  116. package/dist/utils/logger.js +211 -0
  117. package/dist/utils/logger.js.map +1 -0
  118. package/package.json +81 -0
@@ -0,0 +1,211 @@
1
+ import chalk from 'chalk';
2
+ // ── Banner ASCII art do AITK ───────────────────────────────────────────
3
+ const BANNER = `
4
+ ${chalk.cyan.bold(' ___ ____ ______ __ __')}
5
+ ${chalk.cyan.bold(' / _ | / _/ /_ __/ / //_/')}
6
+ ${chalk.cyan.bold(' / __ | _/ / / / / ,< ')}
7
+ ${chalk.cyan.bold('/_/ |_|/___/ /_/ /_/|_| ')}
8
+ `;
9
+ const BANNER_SUBTITLE = chalk.gray(' AI Toolkit — Gerenciador de artefatos para AI coding\n');
10
+ // ── Caracteres de box drawing ──────────────────────────────────────────
11
+ const BOX = {
12
+ topLeft: '╭',
13
+ topRight: '╮',
14
+ bottomLeft: '╰',
15
+ bottomRight: '╯',
16
+ horizontal: '─',
17
+ vertical: '│',
18
+ teeLeft: '├',
19
+ teeRight: '┤',
20
+ };
21
+ // ── Prefixo estilizado para mensagens ──────────────────────────────────
22
+ const PREFIX = chalk.bold.cyan('aitk');
23
+ /** Repete um caractere N vezes */
24
+ function repeat(char, count) {
25
+ return char.repeat(Math.max(0, count));
26
+ }
27
+ /** Remove sequencias ANSI para calcular largura visivel */
28
+ function stripAnsi(str) {
29
+ // eslint-disable-next-line no-control-regex
30
+ return str.replace(/\u001B\[[0-9;]*m/g, '');
31
+ }
32
+ /** Calcula a largura visivel de uma string (sem codigos ANSI) */
33
+ function visibleLength(str) {
34
+ return stripAnsi(str).length;
35
+ }
36
+ /**
37
+ * Desenha uma caixa com borda ao redor de linhas de texto.
38
+ * Suporta texto colorido (calcula largura sem codigos ANSI).
39
+ */
40
+ function box(lines, padding = 1) {
41
+ const maxLen = Math.max(...lines.map(visibleLength));
42
+ const innerWidth = maxLen + padding * 2;
43
+ const pad = repeat(' ', padding);
44
+ const top = `${BOX.topLeft}${repeat(BOX.horizontal, innerWidth)}${BOX.topRight}`;
45
+ const bottom = `${BOX.bottomLeft}${repeat(BOX.horizontal, innerWidth)}${BOX.bottomRight}`;
46
+ const body = lines.map((line) => {
47
+ const gap = innerWidth - visibleLength(line) - padding * 2;
48
+ return `${BOX.vertical}${pad}${line}${repeat(' ', gap)}${pad}${BOX.vertical}`;
49
+ });
50
+ return [top, ...body, bottom].join('\n');
51
+ }
52
+ /**
53
+ * Desenha uma linha divisoria horizontal.
54
+ * Utiliza o caractere tee para separar secoes dentro de uma caixa.
55
+ */
56
+ function divider(width) {
57
+ return `${BOX.teeLeft}${repeat(BOX.horizontal, width)}${BOX.teeRight}`;
58
+ }
59
+ // ── Cores por tipo de artefato ─────────────────────────────────────────
60
+ const TYPE_COLORS = {
61
+ skill: chalk.cyan,
62
+ mcp: chalk.green,
63
+ template: chalk.magenta,
64
+ config: chalk.yellow,
65
+ hook: chalk.red,
66
+ };
67
+ /** Retorna o texto colorido conforme o tipo do artefato */
68
+ function colorByType(type, text) {
69
+ const colorFn = TYPE_COLORS[type] || chalk.white;
70
+ return colorFn(text);
71
+ }
72
+ /** Badge com fundo colorido por tipo */
73
+ function typeBadge(type) {
74
+ const badges = {
75
+ skill: chalk.bgCyan.black.bold(` ${type.toUpperCase()} `),
76
+ mcp: chalk.bgGreen.black.bold(` ${type.toUpperCase()} `),
77
+ template: chalk.bgMagenta.white.bold(` ${type.toUpperCase()} `),
78
+ config: chalk.bgYellow.black.bold(` ${type.toUpperCase()} `),
79
+ hook: chalk.bgRed.white.bold(` ${type.toUpperCase()} `),
80
+ };
81
+ return badges[type] || chalk.bgGray.white.bold(` ${type.toUpperCase()} `);
82
+ }
83
+ /** Badge de downloads */
84
+ function downloadsBadge(count) {
85
+ if (count >= 1_000_000) {
86
+ return chalk.gray(` ${chalk.white.bold(`${(count / 1_000_000).toFixed(1)}M`)} downloads`);
87
+ }
88
+ if (count >= 1_000) {
89
+ return chalk.gray(` ${chalk.white.bold(`${(count / 1_000).toFixed(1)}K`)} downloads`);
90
+ }
91
+ return chalk.gray(` ${chalk.white.bold(String(count))} downloads`);
92
+ }
93
+ // ── Indicadores de passo ───────────────────────────────────────────────
94
+ /** Cria indicador de passo numerado: [1/4] */
95
+ function stepIndicator(current, total) {
96
+ return chalk.cyan.bold(`[${current}/${total}]`);
97
+ }
98
+ /** Linha de separacao simples */
99
+ function separator() {
100
+ console.log(chalk.gray(repeat('─', 50)));
101
+ }
102
+ /** Renderiza uma tabela formatada com box drawing */
103
+ function table({ columns, rows }) {
104
+ const output = [];
105
+ // Linha superior
106
+ const topLine = BOX.topLeft +
107
+ columns.map((col) => repeat(BOX.horizontal, col.width + 2)).join(BOX.horizontal) +
108
+ BOX.topRight;
109
+ output.push(topLine);
110
+ // Cabecalho
111
+ const headerLine = BOX.vertical +
112
+ columns
113
+ .map((col) => {
114
+ const text = chalk.bold.white(col.header);
115
+ const gap = col.width - visibleLength(col.header);
116
+ return ` ${text}${repeat(' ', gap)} `;
117
+ })
118
+ .join(BOX.vertical) +
119
+ BOX.vertical;
120
+ output.push(headerLine);
121
+ // Separador do cabecalho
122
+ const sepLine = BOX.teeLeft +
123
+ columns.map((col) => repeat(BOX.horizontal, col.width + 2)).join('┼') +
124
+ BOX.teeRight;
125
+ output.push(sepLine);
126
+ // Linhas de dados
127
+ for (const row of rows) {
128
+ const rowLine = BOX.vertical +
129
+ columns
130
+ .map((col, i) => {
131
+ const cell = row[i] || '';
132
+ const gap = col.width - visibleLength(cell);
133
+ if (col.align === 'right') {
134
+ return ` ${repeat(' ', gap)}${cell} `;
135
+ }
136
+ return ` ${cell}${repeat(' ', gap)} `;
137
+ })
138
+ .join(BOX.vertical) +
139
+ BOX.vertical;
140
+ output.push(rowLine);
141
+ }
142
+ // Linha inferior
143
+ const bottomLine = BOX.bottomLeft +
144
+ columns.map((col) => repeat(BOX.horizontal, col.width + 2)).join(BOX.horizontal) +
145
+ BOX.bottomRight;
146
+ output.push(bottomLine);
147
+ return output.join('\n');
148
+ }
149
+ // ── Arvore de arquivos ─────────────────────────────────────────────────
150
+ /** Renderiza uma arvore de arquivos no estilo tree */
151
+ function fileTree(files, title) {
152
+ const output = [];
153
+ if (title) {
154
+ output.push(chalk.bold(title));
155
+ }
156
+ for (let i = 0; i < files.length; i++) {
157
+ const isLast = i === files.length - 1;
158
+ const prefix = isLast ? '└── ' : '├── ';
159
+ output.push(chalk.gray(prefix) + chalk.white(files[i]));
160
+ }
161
+ return output.join('\n');
162
+ }
163
+ // ── Logger principal ───────────────────────────────────────────────────
164
+ /** Utilitarios de log formatado para o CLI */
165
+ export const logger = {
166
+ // ── Mensagens basicas ──────────────────────────────────────────────
167
+ info: (message) => {
168
+ console.log(` ${PREFIX} ${chalk.cyan('info')} ${message}`);
169
+ },
170
+ success: (message) => {
171
+ console.log(` ${PREFIX} ${chalk.green.bold('ok')} ${chalk.green(message)}`);
172
+ },
173
+ warn: (message) => {
174
+ console.log(` ${PREFIX} ${chalk.yellow('warn')} ${chalk.yellow(message)}`);
175
+ },
176
+ error: (message) => {
177
+ console.error(` ${PREFIX} ${chalk.red.bold('err')} ${chalk.red(message)}`);
178
+ },
179
+ debug: (message) => {
180
+ if (process.env.AITK_DEBUG) {
181
+ console.log(` ${PREFIX} ${chalk.gray('dbg')} ${chalk.gray(message)}`);
182
+ }
183
+ },
184
+ // ── Saida em branco (sem prefixo) ──────────────────────────────────
185
+ print: (message) => {
186
+ console.log(message);
187
+ },
188
+ blank: () => {
189
+ console.log();
190
+ },
191
+ // ── Banner ─────────────────────────────────────────────────────────
192
+ banner: () => {
193
+ console.log(BANNER);
194
+ console.log(BANNER_SUBTITLE);
195
+ },
196
+ // ── Componentes visuais ────────────────────────────────────────────
197
+ box,
198
+ divider,
199
+ table,
200
+ separator,
201
+ fileTree,
202
+ stepIndicator,
203
+ // ── Cores e badges ─────────────────────────────────────────────────
204
+ colorByType,
205
+ typeBadge,
206
+ downloadsBadge,
207
+ // ── Constantes reutilizaveis ───────────────────────────────────────
208
+ PREFIX,
209
+ BOX,
210
+ };
211
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "aitk-cli",
3
+ "version": "0.2.0",
4
+ "type": "module",
5
+ "description": "Package manager for AI coding tools — install and share skills, MCPs, templates, configs and hooks for Claude Code, OpenCode, Gemini CLI and more.",
6
+ "bin": {
7
+ "aitk": "./dist/bin/aitk.js",
8
+ "aitk-cli": "./dist/bin/aitk.js"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "files": [
13
+ "dist",
14
+ "!dist/__tests__",
15
+ "README.md"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/tarcisiojr/ai-toolkit",
23
+ "directory": "packages/cli"
24
+ },
25
+ "homepage": "https://github.com/tarcisiojr/ai-toolkit#readme",
26
+ "bugs": {
27
+ "url": "https://github.com/tarcisiojr/ai-toolkit/issues"
28
+ },
29
+ "license": "MIT",
30
+ "keywords": [
31
+ "ai-toolkit",
32
+ "aitoolkit",
33
+ "aitk",
34
+ "ai",
35
+ "coding-tools",
36
+ "claude-code",
37
+ "opencode",
38
+ "gemini-cli",
39
+ "cursor",
40
+ "windsurf",
41
+ "skills",
42
+ "mcp",
43
+ "mcp-server",
44
+ "templates",
45
+ "cli",
46
+ "registry",
47
+ "package-manager",
48
+ "ai-agents",
49
+ "prompt-engineering"
50
+ ],
51
+ "author": "tarcisiojr",
52
+ "scripts": {
53
+ "build": "tsc",
54
+ "dev": "tsc --watch",
55
+ "lint": "eslint src/",
56
+ "type-check": "tsc --noEmit",
57
+ "test": "vitest run",
58
+ "prepublishOnly": "npm run build"
59
+ },
60
+ "dependencies": {
61
+ "@tarcisiojunior/shared": "0.2.1",
62
+ "chalk": "^5.4.1",
63
+ "commander": "^13.1.0",
64
+ "inquirer": "^12.4.2",
65
+ "ora": "^8.2.0",
66
+ "semver": "^7.7.4",
67
+ "tar": "^7.4.3"
68
+ },
69
+ "devDependencies": {
70
+ "@eslint/js": "^9.39.4",
71
+ "@types/inquirer": "^9.0.7",
72
+ "@types/node": "^22.13.10",
73
+ "@types/semver": "^7.7.1",
74
+ "@types/tar": "^6.1.13",
75
+ "@typescript-eslint/eslint-plugin": "^8.56.1",
76
+ "@typescript-eslint/parser": "^8.56.1",
77
+ "eslint": "^9.22.0",
78
+ "typescript": "^5.7.3",
79
+ "vitest": "^3.0.9"
80
+ }
81
+ }