@brookmind/ai-toolkit 1.1.7 → 1.2.1
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/LICENSE +21 -0
- package/README.md +42 -14
- package/dist/__tests__/constants.test.d.ts +2 -0
- package/dist/__tests__/constants.test.d.ts.map +1 -0
- package/dist/__tests__/constants.test.js +102 -0
- package/dist/__tests__/constants.test.js.map +1 -0
- package/dist/__tests__/index.test.d.ts +2 -0
- package/dist/__tests__/index.test.d.ts.map +1 -0
- package/dist/__tests__/index.test.js +114 -0
- package/dist/__tests__/index.test.js.map +1 -0
- package/dist/__tests__/integration/installer.test.d.ts +2 -0
- package/dist/__tests__/integration/installer.test.d.ts.map +1 -0
- package/dist/__tests__/integration/installer.test.js +425 -0
- package/dist/__tests__/integration/installer.test.js.map +1 -0
- package/dist/__tests__/services/installers.test.d.ts +2 -0
- package/dist/__tests__/services/installers.test.d.ts.map +1 -0
- package/dist/__tests__/services/installers.test.js +222 -0
- package/dist/__tests__/services/installers.test.js.map +1 -0
- package/dist/__tests__/services/opencode.test.d.ts +2 -0
- package/dist/__tests__/services/opencode.test.d.ts.map +1 -0
- package/dist/__tests__/services/opencode.test.js +120 -0
- package/dist/__tests__/services/opencode.test.js.map +1 -0
- package/dist/__tests__/ui/categorize.test.d.ts +2 -0
- package/dist/__tests__/ui/categorize.test.d.ts.map +1 -0
- package/dist/__tests__/ui/categorize.test.js +194 -0
- package/dist/__tests__/ui/categorize.test.js.map +1 -0
- package/dist/__tests__/ui/choices.test.d.ts +2 -0
- package/dist/__tests__/ui/choices.test.d.ts.map +1 -0
- package/dist/__tests__/ui/choices.test.js +180 -0
- package/dist/__tests__/ui/choices.test.js.map +1 -0
- package/dist/__tests__/ui/display.test.d.ts +2 -0
- package/dist/__tests__/ui/display.test.d.ts.map +1 -0
- package/dist/__tests__/ui/display.test.js +142 -0
- package/dist/__tests__/ui/display.test.js.map +1 -0
- package/dist/__tests__/utils/fs.test.d.ts +2 -0
- package/dist/__tests__/utils/fs.test.d.ts.map +1 -0
- package/dist/__tests__/utils/fs.test.js +142 -0
- package/dist/__tests__/utils/fs.test.js.map +1 -0
- package/dist/__tests__/utils/terminal.test.d.ts +2 -0
- package/dist/__tests__/utils/terminal.test.d.ts.map +1 -0
- package/dist/__tests__/utils/terminal.test.js +97 -0
- package/dist/__tests__/utils/terminal.test.js.map +1 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +40 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -332
- package/dist/index.js.map +1 -1
- package/dist/services/installers.d.ts +8 -0
- package/dist/services/installers.d.ts.map +1 -0
- package/dist/services/installers.js +79 -0
- package/dist/services/installers.js.map +1 -0
- package/dist/services/opencode.d.ts +3 -0
- package/dist/services/opencode.d.ts.map +1 -0
- package/dist/services/opencode.js +33 -0
- package/dist/services/opencode.js.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/categorize.d.ts +6 -0
- package/dist/ui/categorize.d.ts.map +1 -0
- package/dist/ui/categorize.js +69 -0
- package/dist/ui/categorize.js.map +1 -0
- package/dist/ui/choices.d.ts +6 -0
- package/dist/ui/choices.d.ts.map +1 -0
- package/dist/ui/choices.js +70 -0
- package/dist/ui/choices.js.map +1 -0
- package/dist/ui/display.d.ts +8 -0
- package/dist/ui/display.d.ts.map +1 -0
- package/dist/ui/display.js +86 -0
- package/dist/ui/display.js.map +1 -0
- package/dist/utils/fs.d.ts +5 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +40 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/terminal.d.ts +5 -0
- package/dist/utils/terminal.d.ts.map +1 -0
- package/dist/utils/terminal.js +18 -0
- package/dist/utils/terminal.js.map +1 -0
- package/package.json +29 -5
- package/agents/code-reviewer.md +0 -35
- package/agents/code-simplifier.md +0 -52
- package/commands/create-pr-description.md +0 -102
- package/commands/create-pr.md +0 -76
- package/commands/create-react-tests.md +0 -207
- package/mcps/context7/.mcp.json +0 -13
- package/mcps/expo-mcp/.mcp.json +0 -13
- package/mcps/figma-mcp/.mcp.json +0 -10
- package/skills/github-cli/SKILL.md +0 -125
- package/skills/pdf-processing-pro/FORMS.md +0 -610
- package/skills/pdf-processing-pro/OCR.md +0 -137
- package/skills/pdf-processing-pro/SKILL.md +0 -296
- package/skills/pdf-processing-pro/TABLES.md +0 -626
- package/skills/pdf-processing-pro/scripts/analyze_form.py +0 -307
- package/skills/react-best-practices/AGENTS.md +0 -915
- package/skills/react-best-practices/README.md +0 -127
- package/skills/react-best-practices/SKILL.md +0 -110
- package/skills/react-best-practices/metadata.json +0 -14
- package/skills/react-best-practices/rules/_sections.md +0 -41
- package/skills/react-best-practices/rules/_template.md +0 -28
- package/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -80
- package/skills/react-best-practices/rules/advanced-use-latest.md +0 -76
- package/skills/react-best-practices/rules/async-defer-await.md +0 -80
- package/skills/react-best-practices/rules/async-dependencies.md +0 -36
- package/skills/react-best-practices/rules/async-parallel.md +0 -28
- package/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -100
- package/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -42
- package/skills/react-best-practices/rules/bundle-conditional.md +0 -106
- package/skills/react-best-practices/rules/bundle-preload.md +0 -44
- package/skills/react-best-practices/rules/client-event-listeners.md +0 -131
- package/skills/react-best-practices/rules/client-swr-dedup.md +0 -133
- package/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
- package/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
- package/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
- package/skills/react-best-practices/rules/js-cache-storage.md +0 -70
- package/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
- package/skills/react-best-practices/rules/js-early-exit.md +0 -50
- package/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
- package/skills/react-best-practices/rules/js-index-maps.md +0 -37
- package/skills/react-best-practices/rules/js-length-check-first.md +0 -49
- package/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
- package/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
- package/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/skills/react-best-practices/rules/rendering-activity.md +0 -90
- package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
- package/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
- package/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
- package/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -65
- package/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
- package/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
- package/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
- package/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
- package/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
- package/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
- package/skills/react-best-practices/rules/rerender-memo.md +0 -85
- package/skills/react-best-practices/rules/rerender-transitions.md +0 -40
- package/skills/skill-creator/LICENSE.txt +0 -202
- package/skills/skill-creator/SKILL.md +0 -209
- package/skills/skill-creator/scripts/init_skill.py +0 -303
- package/skills/skill-creator/scripts/package_skill.py +0 -110
- package/skills/skill-creator/scripts/quick_validate.py +0 -65
- package/skills/spring-boot-development/EXAMPLES.md +0 -2346
- package/skills/spring-boot-development/README.md +0 -595
- package/skills/spring-boot-development/SKILL.md +0 -1519
- package/themes/README.md +0 -68
- package/themes/claude-vivid.json +0 -72
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const ROOT_DIR: string;
|
|
2
|
+
export declare const TOOLS_DIR: string;
|
|
3
|
+
export declare const HOME_DIR: string;
|
|
4
|
+
export declare const OPENCODE_DIR: string;
|
|
5
|
+
export declare const OPENCODE_CONFIG: string;
|
|
6
|
+
export declare const BOTTOM_PADDING = 5;
|
|
7
|
+
export declare const UI_PANEL_WIDTH = 61;
|
|
8
|
+
export declare const MCP_DISPLAY_NAMES: Record<string, string>;
|
|
9
|
+
export declare const DESCRIPTIONS: Record<string, string>;
|
|
10
|
+
export declare function getDescription(name: string): string | null;
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,QAAwB,CAAC;AAC9C,eAAO,MAAM,SAAS,QAA0B,CAAC;AACjD,eAAO,MAAM,QAAQ,QAAY,CAAC;AAClC,eAAO,MAAM,YAAY,QAAwC,CAAC;AAClE,eAAO,MAAM,eAAe,QAAsC,CAAC;AAEnE,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwB/C,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { dirname, join } from 'path';
|
|
2
|
+
import { homedir } from 'os';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
export const ROOT_DIR = join(__dirname, '..');
|
|
6
|
+
export const TOOLS_DIR = join(ROOT_DIR, 'tools');
|
|
7
|
+
export const HOME_DIR = homedir();
|
|
8
|
+
export const OPENCODE_DIR = join(HOME_DIR, '.config', 'opencode');
|
|
9
|
+
export const OPENCODE_CONFIG = join(OPENCODE_DIR, 'opencode.json');
|
|
10
|
+
export const BOTTOM_PADDING = 5;
|
|
11
|
+
export const UI_PANEL_WIDTH = 61;
|
|
12
|
+
export const MCP_DISPLAY_NAMES = {
|
|
13
|
+
'pg-aiguide': 'postgres-mcp',
|
|
14
|
+
};
|
|
15
|
+
export const DESCRIPTIONS = {
|
|
16
|
+
// Agents
|
|
17
|
+
'changelog-generator': 'Generate changelogs and release notes',
|
|
18
|
+
'code-reviewer': 'Review code for quality and security',
|
|
19
|
+
'code-simplifier': 'Simplify and refactor code',
|
|
20
|
+
// Commands
|
|
21
|
+
'create-pr': 'Create PR with conventional format',
|
|
22
|
+
'create-pr-description': 'Generate PR title and description',
|
|
23
|
+
'create-react-tests': 'Generate Jest + RTL tests',
|
|
24
|
+
// Skills
|
|
25
|
+
'expo-best-practices': 'UI, navigation, styling for Expo apps',
|
|
26
|
+
'github-cli': 'Issues, PRs, releases via gh CLI',
|
|
27
|
+
'pdf-processing-pro': 'Forms, tables, OCR, batch operations',
|
|
28
|
+
'react-best-practices': 'React performance patterns',
|
|
29
|
+
'react-native-best-practices': 'RN performance optimization',
|
|
30
|
+
'skill-creator': 'Create custom skills',
|
|
31
|
+
'spring-boot-development': 'REST APIs, JPA, Security',
|
|
32
|
+
// MCPs
|
|
33
|
+
context7: 'Library documentation lookup',
|
|
34
|
+
'expo-mcp': 'Expo/React Native utilities',
|
|
35
|
+
'figma-mcp': 'Figma design integration (Desktop required)',
|
|
36
|
+
};
|
|
37
|
+
export function getDescription(name) {
|
|
38
|
+
return DESCRIPTIONS[name] ?? null;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,YAAY,EAAE,cAAc;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,SAAS;IACT,qBAAqB,EAAE,uCAAuC;IAC9D,eAAe,EAAE,sCAAsC;IACvD,iBAAiB,EAAE,4BAA4B;IAE/C,WAAW;IACX,WAAW,EAAE,oCAAoC;IACjD,uBAAuB,EAAE,mCAAmC;IAC5D,oBAAoB,EAAE,2BAA2B;IAEjD,SAAS;IACT,qBAAqB,EAAE,uCAAuC;IAC9D,YAAY,EAAE,kCAAkC;IAChD,oBAAoB,EAAE,sCAAsC;IAC5D,sBAAsB,EAAE,4BAA4B;IACpD,6BAA6B,EAAE,6BAA6B;IAC5D,eAAe,EAAE,sBAAsB;IACvC,yBAAyB,EAAE,0BAA0B;IAErD,OAAO;IACP,QAAQ,EAAE,8BAA8B;IACxC,UAAU,EAAE,6BAA6B;IACzC,WAAW,EAAE,6CAA6C;CAC3D,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACpC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQzF,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBzC"}
|
package/dist/index.js
CHANGED
|
@@ -1,253 +1,27 @@
|
|
|
1
1
|
import { confirm } from '@inquirer/prompts';
|
|
2
2
|
import { select } from 'inquirer-select-pro';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import boxen from 'boxen';
|
|
5
4
|
import ora from 'ora';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const MCP_DISPLAY_NAMES = {
|
|
19
|
-
'pg-aiguide': 'postgres-mcp',
|
|
20
|
-
};
|
|
21
|
-
async function exists(path) {
|
|
22
|
-
try {
|
|
23
|
-
await access(path);
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async function isOpenCodeInstalled() {
|
|
31
|
-
try {
|
|
32
|
-
await execAsync('which opencode');
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
return await exists(OPENCODE_DIR);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
async function installOpenCode() {
|
|
40
|
-
const spinner = ora('Installing OpenCode...').start();
|
|
41
|
-
try {
|
|
42
|
-
await execAsync('curl -fsSL https://opencode.ai/install | bash', {
|
|
43
|
-
shell: '/bin/bash',
|
|
44
|
-
});
|
|
45
|
-
spinner.succeed('OpenCode installed successfully!');
|
|
46
|
-
console.log(chalk.cyan('\n Next Steps:'));
|
|
47
|
-
console.log(' OpenCode has been installed. You may need to restart your terminal or run:');
|
|
48
|
-
console.log(' source ~/.bashrc (or ~/.zshrc)\n');
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
spinner.fail('Installation failed');
|
|
52
|
-
throw new Error(`Failed to install OpenCode: ${error instanceof Error ? error.message : String(error)}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async function getDirectories(path) {
|
|
56
|
-
try {
|
|
57
|
-
const entries = await readdir(path, { withFileTypes: true });
|
|
58
|
-
return entries.filter(e => e.isDirectory()).map(e => e.name);
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return [];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async function getFiles(path, extension) {
|
|
65
|
-
try {
|
|
66
|
-
const entries = await readdir(path, { withFileTypes: true });
|
|
67
|
-
return entries
|
|
68
|
-
.filter(e => e.isFile() && e.name.endsWith(extension))
|
|
69
|
-
.map(e => e.name.replace(extension, ''));
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async function getInstalledMcps() {
|
|
76
|
-
try {
|
|
77
|
-
const content = await readFile(OPENCODE_CONFIG, 'utf-8');
|
|
78
|
-
const config = JSON.parse(content);
|
|
79
|
-
const mcpSection = config.mcp;
|
|
80
|
-
return mcpSection ? new Set(Object.keys(mcpSection)) : new Set();
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
return new Set();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
async function readJsonConfig(path) {
|
|
87
|
-
try {
|
|
88
|
-
const content = await readFile(path, 'utf-8');
|
|
89
|
-
return JSON.parse(content);
|
|
90
|
-
}
|
|
91
|
-
catch {
|
|
92
|
-
return {};
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async function isThemeInstalled(themeName) {
|
|
96
|
-
const themePath = join(OPENCODE_DIR, 'themes', `${themeName}.json`);
|
|
97
|
-
return await exists(themePath);
|
|
98
|
-
}
|
|
99
|
-
function formatInstalledLabel(name, isInstalled) {
|
|
100
|
-
return isInstalled ? `${name} ${chalk.yellow('(installed)')}` : name;
|
|
101
|
-
}
|
|
102
|
-
async function categorizeAgents(agents) {
|
|
103
|
-
const result = { new: [], update: [] };
|
|
104
|
-
for (const agent of agents) {
|
|
105
|
-
const agentPath = join(OPENCODE_DIR, 'agent', `${agent}.md`);
|
|
106
|
-
if (await exists(agentPath)) {
|
|
107
|
-
result.update.push(agent);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
result.new.push(agent);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
async function categorizeSkills(skills) {
|
|
116
|
-
const result = { new: [], update: [] };
|
|
117
|
-
for (const skill of skills) {
|
|
118
|
-
const skillPath = join(OPENCODE_DIR, 'skill', skill);
|
|
119
|
-
if (await exists(skillPath)) {
|
|
120
|
-
result.update.push(skill);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
result.new.push(skill);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return result;
|
|
127
|
-
}
|
|
128
|
-
async function categorizeCommands(commands) {
|
|
129
|
-
const result = { new: [], update: [] };
|
|
130
|
-
for (const command of commands) {
|
|
131
|
-
const commandPath = join(OPENCODE_DIR, 'command', `${command}.md`);
|
|
132
|
-
if (await exists(commandPath)) {
|
|
133
|
-
result.update.push(command);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
result.new.push(command);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return result;
|
|
140
|
-
}
|
|
141
|
-
async function categorizeMcps(mcps) {
|
|
142
|
-
const installedMcps = await getInstalledMcps();
|
|
143
|
-
const result = { new: [], update: [] };
|
|
144
|
-
for (const mcp of mcps) {
|
|
145
|
-
const mcpConfig = await readJsonConfig(join(ROOT_DIR, 'mcps', mcp, '.mcp.json'));
|
|
146
|
-
const servers = mcpConfig.mcpServers;
|
|
147
|
-
const displayName = MCP_DISPLAY_NAMES[mcp] ?? mcp;
|
|
148
|
-
let isInstalled = false;
|
|
149
|
-
if (servers) {
|
|
150
|
-
for (const serverName of Object.keys(servers)) {
|
|
151
|
-
if (installedMcps.has(serverName)) {
|
|
152
|
-
isInstalled = true;
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
if (isInstalled) {
|
|
158
|
-
result.update.push(displayName);
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
result.new.push(displayName);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return result;
|
|
165
|
-
}
|
|
166
|
-
async function buildAgentChoices(agents) {
|
|
167
|
-
const choices = [];
|
|
168
|
-
for (const agent of agents) {
|
|
169
|
-
const agentPath = join(OPENCODE_DIR, 'agent', `${agent}.md`);
|
|
170
|
-
const isInstalled = await exists(agentPath);
|
|
171
|
-
choices.push({
|
|
172
|
-
name: formatInstalledLabel(agent, isInstalled),
|
|
173
|
-
value: agent,
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
return choices;
|
|
177
|
-
}
|
|
178
|
-
async function buildSkillChoices(skills) {
|
|
179
|
-
const choices = [];
|
|
180
|
-
for (const skill of skills) {
|
|
181
|
-
const skillPath = join(OPENCODE_DIR, 'skill', skill);
|
|
182
|
-
const isInstalled = await exists(skillPath);
|
|
183
|
-
choices.push({
|
|
184
|
-
name: formatInstalledLabel(skill, isInstalled),
|
|
185
|
-
value: skill,
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
return choices;
|
|
189
|
-
}
|
|
190
|
-
async function buildCommandChoices(commands) {
|
|
191
|
-
const choices = [];
|
|
192
|
-
for (const command of commands) {
|
|
193
|
-
const commandPath = join(OPENCODE_DIR, 'command', `${command}.md`);
|
|
194
|
-
const isInstalled = await exists(commandPath);
|
|
195
|
-
choices.push({
|
|
196
|
-
name: formatInstalledLabel(command, isInstalled),
|
|
197
|
-
value: command,
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
return choices;
|
|
201
|
-
}
|
|
202
|
-
async function buildMcpChoices(mcps) {
|
|
203
|
-
const installedMcps = await getInstalledMcps();
|
|
204
|
-
const choices = [];
|
|
205
|
-
for (const mcp of mcps) {
|
|
206
|
-
const mcpConfig = await readJsonConfig(join(ROOT_DIR, 'mcps', mcp, '.mcp.json'));
|
|
207
|
-
const servers = mcpConfig.mcpServers;
|
|
208
|
-
let isInstalled = false;
|
|
209
|
-
if (servers) {
|
|
210
|
-
for (const serverName of Object.keys(servers)) {
|
|
211
|
-
if (installedMcps.has(serverName)) {
|
|
212
|
-
isInstalled = true;
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
const displayName = MCP_DISPLAY_NAMES[mcp] ?? mcp;
|
|
218
|
-
choices.push({
|
|
219
|
-
name: formatInstalledLabel(displayName, isInstalled),
|
|
220
|
-
value: mcp,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
return choices;
|
|
224
|
-
}
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { TOOLS_DIR } from './constants.js';
|
|
7
|
+
import { getDirectories, getFiles } from './utils/fs.js';
|
|
8
|
+
import { handleResize, resetScrollRegion, setupScrollRegion } from './utils/terminal.js';
|
|
9
|
+
import { isOpenCodeInstalled, installOpenCode } from './services/opencode.js';
|
|
10
|
+
import { installAgents, installCommands, installMcps, installSkills, installTheme, isThemeInstalled, } from './services/installers.js';
|
|
11
|
+
import { buildAgentChoices, buildCommandChoices, buildMcpChoices, buildSkillChoices, } from './ui/choices.js';
|
|
12
|
+
import { categorizeAgents, categorizeCommands, categorizeMcps, categorizeSkills, } from './ui/categorize.js';
|
|
13
|
+
import { displayHeader, displaySummary, getSeparator, showSelectionResult } from './ui/display.js';
|
|
14
|
+
// Re-export for testing
|
|
15
|
+
export { BOTTOM_PADDING } from './constants.js';
|
|
16
|
+
export { setupScrollRegion, resetScrollRegion, handleResize } from './utils/terminal.js';
|
|
225
17
|
function handleExit() {
|
|
18
|
+
resetScrollRegion();
|
|
226
19
|
console.log(chalk.red('\n\nInstallation cancelled.'));
|
|
227
20
|
process.exit(0);
|
|
228
21
|
}
|
|
229
|
-
async function displayHeader() {
|
|
230
|
-
const pkg = await readJsonConfig(join(ROOT_DIR, 'package.json'));
|
|
231
|
-
const version = pkg.version;
|
|
232
|
-
const logo = [
|
|
233
|
-
chalk.cyanBright(' ██████╗██╗ ██╗██╗ ██╗'),
|
|
234
|
-
chalk.cyanBright(' ██╔════╝██║ ██╔╝██║ ██║'),
|
|
235
|
-
chalk.cyanBright(' ██║ █████╔╝ ██║ █╗ ██║'),
|
|
236
|
-
chalk.cyanBright(' ██║ ██╔═██╗ ██║███╗██║'),
|
|
237
|
-
chalk.cyanBright(' ╚██████╗██║ ██╗╚███╔███╔╝'),
|
|
238
|
-
chalk.cyanBright(' ╚═════╝╚═╝ ╚═╝ ╚══╝╚══╝') + chalk.green(' ●'),
|
|
239
|
-
].join('\n');
|
|
240
|
-
console.clear();
|
|
241
|
-
console.log(boxen(logo, {
|
|
242
|
-
padding: { top: 1, bottom: 1, left: 16, right: 16 },
|
|
243
|
-
borderStyle: 'round',
|
|
244
|
-
borderColor: 'cyan',
|
|
245
|
-
title: `CKW AI Toolkit v${version}`,
|
|
246
|
-
titleAlignment: 'left',
|
|
247
|
-
}));
|
|
248
|
-
console.log();
|
|
249
|
-
}
|
|
250
22
|
export async function run() {
|
|
23
|
+
setupScrollRegion();
|
|
24
|
+
process.stdout.on('resize', handleResize);
|
|
251
25
|
try {
|
|
252
26
|
await runInstaller();
|
|
253
27
|
}
|
|
@@ -260,6 +34,10 @@ export async function run() {
|
|
|
260
34
|
throw error;
|
|
261
35
|
}
|
|
262
36
|
}
|
|
37
|
+
finally {
|
|
38
|
+
process.stdout.off('resize', handleResize);
|
|
39
|
+
resetScrollRegion();
|
|
40
|
+
}
|
|
263
41
|
}
|
|
264
42
|
async function runInstaller() {
|
|
265
43
|
await displayHeader();
|
|
@@ -292,16 +70,19 @@ async function runInstaller() {
|
|
|
292
70
|
process.exit(0);
|
|
293
71
|
}
|
|
294
72
|
}
|
|
295
|
-
const agents = await getFiles(join(
|
|
296
|
-
const skills = await getDirectories(join(
|
|
297
|
-
const commands = await getFiles(join(
|
|
298
|
-
const mcps = await getDirectories(join(
|
|
73
|
+
const agents = await getFiles(join(TOOLS_DIR, 'agents'), '.md');
|
|
74
|
+
const skills = await getDirectories(join(TOOLS_DIR, 'skills'));
|
|
75
|
+
const commands = await getFiles(join(TOOLS_DIR, 'commands'), '.md');
|
|
76
|
+
const mcps = await getDirectories(join(TOOLS_DIR, 'mcps'));
|
|
299
77
|
const selectTheme = {
|
|
300
78
|
style: {
|
|
301
79
|
renderSelectedOptions: () => '',
|
|
302
80
|
},
|
|
303
81
|
};
|
|
82
|
+
const selectInstructions = () => chalk.dim('(tab: select/unselect, enter: continue, ctrl+c: exit)');
|
|
83
|
+
const separator = getSeparator();
|
|
304
84
|
// Step 2: Agents
|
|
85
|
+
console.log(separator);
|
|
305
86
|
console.log(chalk.cyan('Step 2/7: Agents'));
|
|
306
87
|
const selectedAgents = agents.length > 0
|
|
307
88
|
? await select({
|
|
@@ -309,42 +90,54 @@ async function runInstaller() {
|
|
|
309
90
|
options: await buildAgentChoices(agents),
|
|
310
91
|
multiple: true,
|
|
311
92
|
theme: selectTheme,
|
|
93
|
+
instructions: selectInstructions,
|
|
312
94
|
})
|
|
313
95
|
: [];
|
|
96
|
+
showSelectionResult(selectedAgents.length, 'agents');
|
|
314
97
|
// Step 3: Skills
|
|
315
|
-
console.log(
|
|
98
|
+
console.log(`\n${separator}`);
|
|
99
|
+
console.log(chalk.cyan('Step 3/7: Skills'));
|
|
316
100
|
const selectedSkills = skills.length > 0
|
|
317
101
|
? await select({
|
|
318
102
|
message: 'Select skills:',
|
|
319
103
|
options: await buildSkillChoices(skills),
|
|
320
104
|
multiple: true,
|
|
321
105
|
theme: selectTheme,
|
|
106
|
+
instructions: selectInstructions,
|
|
322
107
|
})
|
|
323
108
|
: [];
|
|
109
|
+
showSelectionResult(selectedSkills.length, 'skills');
|
|
324
110
|
// Step 4: Commands
|
|
325
|
-
console.log(
|
|
111
|
+
console.log(`\n${separator}`);
|
|
112
|
+
console.log(chalk.cyan('Step 4/7: Commands'));
|
|
326
113
|
const selectedCommands = commands.length > 0
|
|
327
114
|
? await select({
|
|
328
115
|
message: 'Select commands:',
|
|
329
116
|
options: await buildCommandChoices(commands),
|
|
330
117
|
multiple: true,
|
|
331
118
|
theme: selectTheme,
|
|
119
|
+
instructions: selectInstructions,
|
|
332
120
|
})
|
|
333
121
|
: [];
|
|
122
|
+
showSelectionResult(selectedCommands.length, 'commands');
|
|
334
123
|
// Step 5: MCPs
|
|
335
|
-
console.log(
|
|
124
|
+
console.log(`\n${separator}`);
|
|
125
|
+
console.log(chalk.cyan('Step 5/7: MCPs'));
|
|
336
126
|
const selectedMcps = mcps.length > 0
|
|
337
127
|
? await select({
|
|
338
128
|
message: 'Select MCPs:',
|
|
339
129
|
options: await buildMcpChoices(mcps),
|
|
340
130
|
multiple: true,
|
|
341
131
|
theme: selectTheme,
|
|
132
|
+
instructions: selectInstructions,
|
|
342
133
|
})
|
|
343
134
|
: [];
|
|
135
|
+
showSelectionResult(selectedMcps.length, 'MCPs');
|
|
344
136
|
// Step 6: Theme
|
|
345
137
|
let installThemeChoice = isNewInstallation;
|
|
346
138
|
if (!isNewInstallation) {
|
|
347
|
-
console.log(
|
|
139
|
+
console.log(`\n${separator}`);
|
|
140
|
+
console.log(chalk.cyan('Step 6/7: Theme'));
|
|
348
141
|
const themeInstalled = await isThemeInstalled('claude-vivid');
|
|
349
142
|
if (themeInstalled) {
|
|
350
143
|
console.log(chalk.green('✓ claude-vivid theme is already installed\n'));
|
|
@@ -358,7 +151,8 @@ async function runInstaller() {
|
|
|
358
151
|
}
|
|
359
152
|
}
|
|
360
153
|
else {
|
|
361
|
-
console.log(
|
|
154
|
+
console.log(`\n${separator}`);
|
|
155
|
+
console.log(chalk.cyan('Step 6/7: Theme'));
|
|
362
156
|
console.log(chalk.green('✓ claude-vivid theme will be installed automatically\n'));
|
|
363
157
|
}
|
|
364
158
|
// Check if anything was selected
|
|
@@ -372,37 +166,16 @@ async function runInstaller() {
|
|
|
372
166
|
process.exit(0);
|
|
373
167
|
}
|
|
374
168
|
// Step 7: Confirm
|
|
375
|
-
console.log(
|
|
169
|
+
console.log(`\n${separator}`);
|
|
170
|
+
console.log(chalk.cyan('Step 7/7: Confirm'));
|
|
376
171
|
// Categorize selections
|
|
377
172
|
const agentsCat = await categorizeAgents(selectedAgents);
|
|
378
173
|
const skillsCat = await categorizeSkills(selectedSkills);
|
|
379
174
|
const commandsCat = await categorizeCommands(selectedCommands);
|
|
380
175
|
const mcpsCat = await categorizeMcps(selectedMcps);
|
|
381
|
-
const themeIsUpdate = installThemeChoice && await isThemeInstalled('claude-vivid');
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
if (cat.new.length > 0) {
|
|
385
|
-
parts.push(chalk.green(`+ ${cat.new.join(', ')}`));
|
|
386
|
-
}
|
|
387
|
-
if (cat.update.length > 0) {
|
|
388
|
-
parts.push(chalk.yellow(`↻ ${cat.update.join(', ')}`));
|
|
389
|
-
}
|
|
390
|
-
return parts.length > 0 ? parts.join(' ') : chalk.dim('none');
|
|
391
|
-
};
|
|
392
|
-
const formatTheme = () => {
|
|
393
|
-
if (!installThemeChoice)
|
|
394
|
-
return chalk.dim('none');
|
|
395
|
-
return themeIsUpdate
|
|
396
|
-
? chalk.yellow('↻ claude-vivid')
|
|
397
|
-
: chalk.green('+ claude-vivid');
|
|
398
|
-
};
|
|
399
|
-
console.log(chalk.white('\n Summary:'));
|
|
400
|
-
console.log(chalk.dim(' (+ new ↻ update)\n'));
|
|
401
|
-
console.log(` Agents: ${formatCategorized(agentsCat)}`);
|
|
402
|
-
console.log(` Skills: ${formatCategorized(skillsCat)}`);
|
|
403
|
-
console.log(` Commands: ${formatCategorized(commandsCat)}`);
|
|
404
|
-
console.log(` MCPs: ${formatCategorized(mcpsCat)}`);
|
|
405
|
-
console.log(` Theme: ${formatTheme()}\n`);
|
|
176
|
+
const themeIsUpdate = installThemeChoice && (await isThemeInstalled('claude-vivid'));
|
|
177
|
+
displaySummary(agentsCat, skillsCat, commandsCat, mcpsCat, installThemeChoice, themeIsUpdate);
|
|
178
|
+
console.log();
|
|
406
179
|
const confirmInstall = await confirm({ message: 'Proceed with installation?' });
|
|
407
180
|
if (!confirmInstall) {
|
|
408
181
|
console.log(chalk.red('\nInstallation cancelled.'));
|
|
@@ -432,60 +205,4 @@ async function runInstaller() {
|
|
|
432
205
|
}
|
|
433
206
|
console.log(chalk.green('\nDone! Your tools are ready.'));
|
|
434
207
|
}
|
|
435
|
-
async function installAgents(agents) {
|
|
436
|
-
if (agents.length === 0)
|
|
437
|
-
return;
|
|
438
|
-
const agentDir = join(OPENCODE_DIR, 'agent');
|
|
439
|
-
await mkdir(agentDir, { recursive: true });
|
|
440
|
-
for (const agent of agents) {
|
|
441
|
-
await cp(join(ROOT_DIR, 'agents', `${agent}.md`), join(agentDir, `${agent}.md`));
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
async function installSkills(skills) {
|
|
445
|
-
if (skills.length === 0)
|
|
446
|
-
return;
|
|
447
|
-
const skillDir = join(OPENCODE_DIR, 'skill');
|
|
448
|
-
await mkdir(skillDir, { recursive: true });
|
|
449
|
-
for (const skill of skills) {
|
|
450
|
-
await cp(join(ROOT_DIR, 'skills', skill), join(skillDir, skill), { recursive: true, force: true });
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
async function installCommands(commands) {
|
|
454
|
-
if (commands.length === 0)
|
|
455
|
-
return;
|
|
456
|
-
const commandDir = join(OPENCODE_DIR, 'command');
|
|
457
|
-
await mkdir(commandDir, { recursive: true });
|
|
458
|
-
for (const command of commands) {
|
|
459
|
-
await cp(join(ROOT_DIR, 'commands', `${command}.md`), join(commandDir, `${command}.md`));
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
async function installMcps(mcps) {
|
|
463
|
-
if (mcps.length === 0)
|
|
464
|
-
return;
|
|
465
|
-
const config = await readJsonConfig(OPENCODE_CONFIG);
|
|
466
|
-
if (!config.mcp) {
|
|
467
|
-
config.mcp = {};
|
|
468
|
-
}
|
|
469
|
-
const mcpSection = config.mcp;
|
|
470
|
-
for (const mcp of mcps) {
|
|
471
|
-
const mcpConfig = await readJsonConfig(join(ROOT_DIR, 'mcps', mcp, '.mcp.json'));
|
|
472
|
-
const servers = mcpConfig.mcpServers;
|
|
473
|
-
if (servers) {
|
|
474
|
-
Object.assign(mcpSection, servers);
|
|
475
|
-
}
|
|
476
|
-
}
|
|
477
|
-
await writeFile(OPENCODE_CONFIG, JSON.stringify(config, null, 2));
|
|
478
|
-
}
|
|
479
|
-
async function installTheme() {
|
|
480
|
-
const themesDir = join(OPENCODE_DIR, 'themes');
|
|
481
|
-
await mkdir(themesDir, { recursive: true });
|
|
482
|
-
const themeSource = join(ROOT_DIR, 'themes', 'claude-vivid.json');
|
|
483
|
-
const themeExists = await exists(themeSource);
|
|
484
|
-
if (themeExists) {
|
|
485
|
-
await cp(themeSource, join(themesDir, 'claude-vivid.json'));
|
|
486
|
-
const config = await readJsonConfig(OPENCODE_CONFIG);
|
|
487
|
-
config.theme = 'claude-vivid';
|
|
488
|
-
await writeFile(OPENCODE_CONFIG, JSON.stringify(config, null, 2));
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
208
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function installAgents(agents: string[]): Promise<void>;
|
|
2
|
+
export declare function installSkills(skills: string[]): Promise<void>;
|
|
3
|
+
export declare function installCommands(commands: string[]): Promise<void>;
|
|
4
|
+
export declare function installMcps(mcps: string[]): Promise<void>;
|
|
5
|
+
export declare function installTheme(): Promise<void>;
|
|
6
|
+
export declare function isThemeInstalled(themeName: string): Promise<boolean>;
|
|
7
|
+
export declare function getInstalledMcps(): Promise<Set<string>>;
|
|
8
|
+
//# sourceMappingURL=installers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installers.d.ts","sourceRoot":"","sources":["../../src/services/installers.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASnE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnE;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/D;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAclD;AAED,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1E;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAS7D"}
|