@brookmind/ai-toolkit 1.0.5 → 1.1.2
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/README.md +60 -14
- package/agents/code-reviewer.md +6 -1
- package/agents/code-simplifier.md +52 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +257 -220
- package/dist/index.js.map +1 -1
- package/mcps/context7/.mcp.json +13 -0
- package/mcps/expo-mcp/.mcp.json +13 -0
- package/mcps/figma-mcp/.mcp.json +4 -6
- package/package.json +4 -4
- package/skills/pdf-processing-pro/FORMS.md +610 -0
- package/skills/pdf-processing-pro/OCR.md +137 -0
- package/skills/pdf-processing-pro/SKILL.md +296 -0
- package/skills/pdf-processing-pro/TABLES.md +626 -0
- package/skills/pdf-processing-pro/scripts/analyze_form.py +307 -0
- package/skills/react-best-practices/AGENTS.md +915 -0
- package/skills/react-best-practices/README.md +127 -0
- package/skills/react-best-practices/SKILL.md +110 -0
- package/skills/react-best-practices/metadata.json +14 -0
- package/skills/react-best-practices/rules/_sections.md +41 -0
- package/skills/react-best-practices/rules/_template.md +28 -0
- package/skills/react-best-practices/rules/advanced-event-handler-refs.md +80 -0
- package/skills/react-best-practices/rules/advanced-use-latest.md +76 -0
- package/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/skills/react-best-practices/rules/async-suspense-boundaries.md +100 -0
- package/skills/react-best-practices/rules/bundle-barrel-imports.md +42 -0
- package/skills/react-best-practices/rules/bundle-conditional.md +106 -0
- package/skills/react-best-practices/rules/bundle-preload.md +44 -0
- package/skills/react-best-practices/rules/client-event-listeners.md +131 -0
- package/skills/react-best-practices/rules/client-swr-dedup.md +133 -0
- package/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/react-best-practices/rules/rendering-activity.md +90 -0
- package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/react-best-practices/rules/rendering-hoist-jsx.md +65 -0
- package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/react-best-practices/rules/rerender-memo.md +85 -0
- package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/themes/README.md +68 -0
- package/themes/claude-vivid.json +72 -0
- package/mcps/context7/.claude-plugin +0 -1
- package/mcps/context7/README.md +0 -1
- package/mcps/context7/server.json +0 -1
- package/mcps/expo-mcp/README.md +0 -33
- package/mcps/expo-mcp/package.json +0 -30
- package/mcps/figma-mcp/README.md +0 -554
- package/mcps/figma-mcp/server.json +0 -17
- package/mcps/figma-mcp/skills/code-connect-components +0 -1
- package/mcps/figma-mcp/skills/create-design-system-rules +0 -1
- package/mcps/figma-mcp/skills/implement-design +0 -1
- package/mcps/pg-aiguide/.claude-plugin +0 -1
- package/mcps/pg-aiguide/CLAUDE.md +0 -21
- package/mcps/pg-aiguide/README.md +0 -275
- package/mcps/pg-aiguide/skills/design-postgres-tables +0 -1
- package/mcps/pg-aiguide/skills/find-hypertable-candidates +0 -1
- package/mcps/pg-aiguide/skills/migrate-postgres-tables-to-hypertables +0 -1
- package/mcps/pg-aiguide/skills/setup-timescaledb-hypertables +0 -1
- package/mcps/pg-aiguide/skills.yaml +0 -4
- package/skills/cloudflare-cli/SKILL.md +0 -151
- package/skills/docx/LICENSE.txt +0 -30
- package/skills/docx/SKILL.md +0 -197
- package/skills/docx/docx-js.md +0 -350
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
- package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
- package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
- package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
- package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/skills/docx/ooxml/scripts/pack.py +0 -159
- package/skills/docx/ooxml/scripts/unpack.py +0 -29
- package/skills/docx/ooxml/scripts/validate.py +0 -69
- package/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
- package/skills/docx/ooxml/scripts/validation/base.py +0 -951
- package/skills/docx/ooxml/scripts/validation/docx.py +0 -274
- package/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
- package/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
- package/skills/docx/ooxml.md +0 -610
- package/skills/docx/scripts/__init__.py +0 -1
- package/skills/docx/scripts/document.py +0 -1276
- package/skills/docx/scripts/templates/comments.xml +0 -3
- package/skills/docx/scripts/templates/commentsExtended.xml +0 -3
- package/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/skills/docx/scripts/templates/commentsIds.xml +0 -3
- package/skills/docx/scripts/templates/people.xml +0 -3
- package/skills/docx/scripts/utilities.py +0 -374
- package/skills/pdf/LICENSE.txt +0 -30
- package/skills/pdf/SKILL.md +0 -294
- package/skills/pdf/forms.md +0 -205
- package/skills/pdf/reference.md +0 -612
- package/skills/pdf/scripts/check_bounding_boxes.py +0 -70
- package/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
- package/skills/pdf/scripts/check_fillable_fields.py +0 -12
- package/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
- package/skills/pdf/scripts/create_validation_image.py +0 -41
- package/skills/pdf/scripts/extract_form_field_info.py +0 -152
- package/skills/pdf/scripts/fill_fillable_fields.py +0 -114
- package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
- package/skills/xlsx/LICENSE.txt +0 -30
- package/skills/xlsx/SKILL.md +0 -289
- package/skills/xlsx/recalc.py +0 -178
package/dist/index.js
CHANGED
|
@@ -1,11 +1,62 @@
|
|
|
1
1
|
import * as p from '@clack/prompts';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { access, cp, mkdir, readdir, readFile, writeFile } from 'fs/promises';
|
|
4
|
+
import { exec } from 'child_process';
|
|
5
|
+
import { promisify } from 'util';
|
|
6
6
|
import { homedir } from 'os';
|
|
7
|
+
import { dirname, join } from 'path';
|
|
8
|
+
import { fileURLToPath } from 'url';
|
|
9
|
+
const execAsync = promisify(exec);
|
|
7
10
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
11
|
const ROOT_DIR = join(__dirname, '..');
|
|
12
|
+
const HOME_DIR = homedir();
|
|
13
|
+
const OPENCODE_DIR = join(HOME_DIR, '.config', 'opencode');
|
|
14
|
+
const OPENCODE_CONFIG = join(OPENCODE_DIR, 'opencode.json');
|
|
15
|
+
const MCP_DISPLAY_NAMES = {
|
|
16
|
+
'pg-aiguide': 'postgres-mcp',
|
|
17
|
+
};
|
|
18
|
+
function handleCancel(result) {
|
|
19
|
+
if (p.isCancel(result)) {
|
|
20
|
+
p.cancel('Installation cancelled.');
|
|
21
|
+
process.exit(0);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
async function exists(path) {
|
|
26
|
+
try {
|
|
27
|
+
await access(path);
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function isOpenCodeInstalled() {
|
|
35
|
+
try {
|
|
36
|
+
// Check if opencode command exists
|
|
37
|
+
await execAsync('which opencode');
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Also check if config directory exists
|
|
42
|
+
return await exists(OPENCODE_DIR);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function installOpenCode() {
|
|
46
|
+
const s = p.spinner();
|
|
47
|
+
s.start('Installing OpenCode...');
|
|
48
|
+
try {
|
|
49
|
+
await execAsync('curl -fsSL https://opencode.ai/install | bash', {
|
|
50
|
+
shell: '/bin/bash',
|
|
51
|
+
});
|
|
52
|
+
s.stop('OpenCode installed successfully!');
|
|
53
|
+
p.note('OpenCode has been installed. You may need to restart your terminal or run:\n source ~/.bashrc (or ~/.zshrc)', 'Next Steps');
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
s.stop('Installation failed');
|
|
57
|
+
throw new Error(`Failed to install OpenCode: ${error instanceof Error ? error.message : String(error)}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
9
60
|
async function getDirectories(path) {
|
|
10
61
|
try {
|
|
11
62
|
const entries = await readdir(path, { withFileTypes: true });
|
|
@@ -26,246 +77,185 @@ async function getFiles(path, extension) {
|
|
|
26
77
|
return [];
|
|
27
78
|
}
|
|
28
79
|
}
|
|
29
|
-
async function
|
|
80
|
+
async function getInstalledMcps() {
|
|
30
81
|
try {
|
|
31
|
-
await
|
|
32
|
-
|
|
82
|
+
const content = await readFile(OPENCODE_CONFIG, 'utf-8');
|
|
83
|
+
const config = JSON.parse(content);
|
|
84
|
+
const mcpSection = config.mcp;
|
|
85
|
+
return mcpSection ? new Set(Object.keys(mcpSection)) : new Set();
|
|
33
86
|
}
|
|
34
87
|
catch {
|
|
35
|
-
return
|
|
88
|
+
return new Set();
|
|
36
89
|
}
|
|
37
90
|
}
|
|
38
|
-
async function
|
|
91
|
+
async function readJsonConfig(path) {
|
|
39
92
|
try {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
const content = await readFile(configPath, 'utf-8');
|
|
43
|
-
const config = JSON.parse(content);
|
|
44
|
-
if (config.mcpServers) {
|
|
45
|
-
return new Set(Object.keys(config.mcpServers));
|
|
46
|
-
}
|
|
47
|
-
return new Set();
|
|
93
|
+
const content = await readFile(path, 'utf-8');
|
|
94
|
+
return JSON.parse(content);
|
|
48
95
|
}
|
|
49
96
|
catch {
|
|
50
|
-
return
|
|
97
|
+
return {};
|
|
51
98
|
}
|
|
52
99
|
}
|
|
53
|
-
async function
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
100
|
+
async function isThemeInstalled(themeName) {
|
|
101
|
+
const themePath = join(OPENCODE_DIR, 'themes', `${themeName}.json`);
|
|
102
|
+
return await exists(themePath);
|
|
103
|
+
}
|
|
104
|
+
function formatInstalledLabel(name, isInstalled) {
|
|
105
|
+
return isInstalled ? `${name} ${chalk.yellow('(installed)')}` : name;
|
|
106
|
+
}
|
|
107
|
+
async function buildAgentOptions(agents) {
|
|
108
|
+
const options = [];
|
|
109
|
+
for (const agent of agents) {
|
|
110
|
+
const agentPath = join(OPENCODE_DIR, 'agent', `${agent}.md`);
|
|
111
|
+
const isInstalled = await exists(agentPath);
|
|
112
|
+
options.push({
|
|
113
|
+
value: agent,
|
|
114
|
+
label: formatInstalledLabel(agent, isInstalled),
|
|
115
|
+
});
|
|
63
116
|
}
|
|
64
|
-
|
|
65
|
-
|
|
117
|
+
return options;
|
|
118
|
+
}
|
|
119
|
+
async function buildSkillOptions(skills) {
|
|
120
|
+
const options = [];
|
|
121
|
+
for (const skill of skills) {
|
|
122
|
+
const skillPath = join(OPENCODE_DIR, 'skill', skill);
|
|
123
|
+
const isInstalled = await exists(skillPath);
|
|
124
|
+
options.push({
|
|
125
|
+
value: skill,
|
|
126
|
+
label: formatInstalledLabel(skill, isInstalled),
|
|
127
|
+
});
|
|
66
128
|
}
|
|
129
|
+
return options;
|
|
67
130
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// Step loop with back navigation
|
|
83
|
-
while (step <= 5) {
|
|
84
|
-
if (step === 1) {
|
|
85
|
-
// Step 1: Platform
|
|
86
|
-
p.log.info(chalk.cyan('Step 1/5: Platform'));
|
|
87
|
-
const result = await p.select({
|
|
88
|
-
message: 'Where do you want to install?',
|
|
89
|
-
options: [
|
|
90
|
-
{ value: 'claude', label: 'Claude Code' },
|
|
91
|
-
{ value: 'opencode', label: 'OpenCode' },
|
|
92
|
-
{ value: 'both', label: 'Both' },
|
|
93
|
-
],
|
|
94
|
-
});
|
|
95
|
-
if (p.isCancel(result)) {
|
|
96
|
-
p.cancel('Installation cancelled.');
|
|
97
|
-
process.exit(0);
|
|
98
|
-
}
|
|
99
|
-
platform = result;
|
|
100
|
-
step = 2;
|
|
101
|
-
}
|
|
102
|
-
else if (step === 2) {
|
|
103
|
-
// Step 2: Agents
|
|
104
|
-
p.log.info(chalk.cyan('Step 2/5: Agents'));
|
|
105
|
-
if (agents.length > 0) {
|
|
106
|
-
const agentOptions = [];
|
|
107
|
-
for (const agent of agents) {
|
|
108
|
-
let isInstalled = false;
|
|
109
|
-
if (platform === 'claude' || platform === 'both') {
|
|
110
|
-
if (await exists(join(home, '.claude', 'agents', `${agent}.md`))) {
|
|
111
|
-
isInstalled = true;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (platform === 'opencode' || platform === 'both') {
|
|
115
|
-
if (await exists(join(home, '.config', 'opencode', 'agent', `${agent}.md`))) {
|
|
116
|
-
isInstalled = true;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
agentOptions.push({
|
|
120
|
-
value: agent,
|
|
121
|
-
label: isInstalled ? `${agent} ${chalk.yellow('(installed)')}` : agent,
|
|
122
|
-
});
|
|
131
|
+
async function buildMcpOptions(mcps) {
|
|
132
|
+
const installedMcps = await getInstalledMcps();
|
|
133
|
+
const options = [];
|
|
134
|
+
for (const mcp of mcps) {
|
|
135
|
+
// Read the MCP config to get the actual server names
|
|
136
|
+
const mcpConfig = await readJsonConfig(join(ROOT_DIR, 'mcps', mcp, '.mcp.json'));
|
|
137
|
+
const servers = mcpConfig.mcpServers;
|
|
138
|
+
// Check if any of the servers in this MCP are installed
|
|
139
|
+
let isInstalled = false;
|
|
140
|
+
if (servers) {
|
|
141
|
+
for (const serverName of Object.keys(servers)) {
|
|
142
|
+
if (installedMcps.has(serverName)) {
|
|
143
|
+
isInstalled = true;
|
|
144
|
+
break;
|
|
123
145
|
}
|
|
124
|
-
const result = await p.multiselect({
|
|
125
|
-
message: 'Select agents (space to toggle, enter to continue)',
|
|
126
|
-
options: agentOptions,
|
|
127
|
-
required: false,
|
|
128
|
-
});
|
|
129
|
-
if (p.isCancel(result)) {
|
|
130
|
-
p.cancel('Installation cancelled.');
|
|
131
|
-
process.exit(0);
|
|
132
|
-
}
|
|
133
|
-
selectedAgents = result;
|
|
134
146
|
}
|
|
135
|
-
step = 3;
|
|
136
147
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}
|
|
163
|
-
selectedSkills = result;
|
|
148
|
+
const displayName = MCP_DISPLAY_NAMES[mcp] ?? mcp;
|
|
149
|
+
options.push({ value: mcp, label: formatInstalledLabel(displayName, isInstalled) });
|
|
150
|
+
}
|
|
151
|
+
return options;
|
|
152
|
+
}
|
|
153
|
+
export async function run() {
|
|
154
|
+
console.clear();
|
|
155
|
+
p.intro(chalk.bgMagenta.white(' OpenCode Toolkit Installer '));
|
|
156
|
+
// Step 1: Check OpenCode installation
|
|
157
|
+
p.log.info(chalk.cyan('Step 1/6: OpenCode Detection'));
|
|
158
|
+
const opencodeInstalled = await isOpenCodeInstalled();
|
|
159
|
+
let isNewInstallation = false;
|
|
160
|
+
if (opencodeInstalled) {
|
|
161
|
+
p.log.success(chalk.green('✓ OpenCode is already installed'));
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
p.log.warn('OpenCode is not installed on your system.');
|
|
165
|
+
const shouldInstall = handleCancel(await p.confirm({
|
|
166
|
+
message: 'Would you like to install OpenCode now?',
|
|
167
|
+
initialValue: true,
|
|
168
|
+
}));
|
|
169
|
+
if (shouldInstall) {
|
|
170
|
+
try {
|
|
171
|
+
await installOpenCode();
|
|
172
|
+
isNewInstallation = true;
|
|
164
173
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
p.log.info(chalk.cyan('Step 4/5: MCPs'));
|
|
170
|
-
if (mcps.length > 0) {
|
|
171
|
-
// Check installed MCPs for both platforms
|
|
172
|
-
const claudeMcps = platform === 'claude' || platform === 'both'
|
|
173
|
-
? await getInstalledClaudeMcps()
|
|
174
|
-
: new Set();
|
|
175
|
-
const opencodeMcps = platform === 'opencode' || platform === 'both'
|
|
176
|
-
? await getInstalledOpencodeMcps()
|
|
177
|
-
: new Set();
|
|
178
|
-
const mcpOptions = mcps.map(mcp => {
|
|
179
|
-
const inClaude = claudeMcps.has(mcp);
|
|
180
|
-
const inOpencode = opencodeMcps.has(mcp);
|
|
181
|
-
let label = mcp;
|
|
182
|
-
if (platform === 'both') {
|
|
183
|
-
const tags = [];
|
|
184
|
-
if (inClaude)
|
|
185
|
-
tags.push('Claude');
|
|
186
|
-
if (inOpencode)
|
|
187
|
-
tags.push('OpenCode');
|
|
188
|
-
if (tags.length > 0) {
|
|
189
|
-
label += ` ${chalk.yellow(`(${tags.join(', ')})`)}`;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
else if (inClaude || inOpencode) {
|
|
193
|
-
label += ` ${chalk.yellow('(installed)')}`;
|
|
194
|
-
}
|
|
195
|
-
return { value: mcp, label };
|
|
196
|
-
});
|
|
197
|
-
const result = await p.multiselect({
|
|
198
|
-
message: 'Select MCPs (space to toggle, enter to continue)',
|
|
199
|
-
options: mcpOptions,
|
|
200
|
-
required: false,
|
|
201
|
-
});
|
|
202
|
-
if (p.isCancel(result)) {
|
|
203
|
-
p.cancel('Installation cancelled.');
|
|
204
|
-
process.exit(0);
|
|
205
|
-
}
|
|
206
|
-
selectedMcps = result;
|
|
174
|
+
catch (error) {
|
|
175
|
+
p.log.error(error instanceof Error ? error.message : String(error));
|
|
176
|
+
p.outro(chalk.red('Installation cancelled. Please install OpenCode manually from https://opencode.ai'));
|
|
177
|
+
process.exit(1);
|
|
207
178
|
}
|
|
208
|
-
step = 5;
|
|
209
179
|
}
|
|
210
|
-
else
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
const summary = [
|
|
214
|
-
`Platform: ${platform}`,
|
|
215
|
-
`Agents: ${selectedAgents.length > 0 ? selectedAgents.join(', ') : 'none'}`,
|
|
216
|
-
`Skills: ${selectedSkills.length > 0 ? selectedSkills.join(', ') : 'none'}`,
|
|
217
|
-
`MCPs: ${selectedMcps.length > 0 ? selectedMcps.join(', ') : 'none'}`,
|
|
218
|
-
].join('\n');
|
|
219
|
-
p.note(summary, 'Summary');
|
|
220
|
-
const confirm = await p.confirm({
|
|
221
|
-
message: 'Proceed with installation?',
|
|
222
|
-
});
|
|
223
|
-
if (p.isCancel(confirm) || !confirm) {
|
|
224
|
-
p.cancel('Installation cancelled.');
|
|
225
|
-
process.exit(0);
|
|
226
|
-
}
|
|
227
|
-
// Proceed with installation
|
|
228
|
-
break;
|
|
180
|
+
else {
|
|
181
|
+
p.cancel('Installation cancelled. Please install OpenCode first from https://opencode.ai');
|
|
182
|
+
process.exit(0);
|
|
229
183
|
}
|
|
230
184
|
}
|
|
231
|
-
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
185
|
+
const agents = await getFiles(join(ROOT_DIR, 'agents'), '.md');
|
|
186
|
+
const skills = await getDirectories(join(ROOT_DIR, 'skills'));
|
|
187
|
+
const mcps = await getDirectories(join(ROOT_DIR, 'mcps'));
|
|
188
|
+
// Step 2: Agents
|
|
189
|
+
p.log.info(chalk.cyan('Step 2/6: Agents'));
|
|
190
|
+
const selectedAgents = agents.length > 0
|
|
191
|
+
? handleCancel(await p.multiselect({
|
|
192
|
+
message: 'Select agents (space to toggle, enter to continue)',
|
|
193
|
+
options: await buildAgentOptions(agents),
|
|
194
|
+
required: false,
|
|
195
|
+
}))
|
|
196
|
+
: [];
|
|
197
|
+
// Step 3: Skills
|
|
198
|
+
p.log.info(chalk.cyan('Step 3/6: Skills'));
|
|
199
|
+
const selectedSkills = skills.length > 0
|
|
200
|
+
? handleCancel(await p.multiselect({
|
|
201
|
+
message: 'Select skills (space to toggle, enter to continue)',
|
|
202
|
+
options: await buildSkillOptions(skills),
|
|
203
|
+
required: false,
|
|
204
|
+
}))
|
|
205
|
+
: [];
|
|
206
|
+
// Step 4: MCPs
|
|
207
|
+
p.log.info(chalk.cyan('Step 4/6: MCPs'));
|
|
208
|
+
const selectedMcps = mcps.length > 0
|
|
209
|
+
? handleCancel(await p.multiselect({
|
|
210
|
+
message: 'Select MCPs (space to toggle, enter to continue)',
|
|
211
|
+
options: await buildMcpOptions(mcps),
|
|
212
|
+
required: false,
|
|
213
|
+
}))
|
|
214
|
+
: [];
|
|
215
|
+
// Step 5: Theme (only ask if OpenCode was already installed)
|
|
216
|
+
let installThemeChoice = isNewInstallation; // Auto-install for new installations
|
|
217
|
+
if (!isNewInstallation) {
|
|
218
|
+
p.log.info(chalk.cyan('Step 5/6: Theme'));
|
|
219
|
+
const themeInstalled = await isThemeInstalled('claude-vivid');
|
|
220
|
+
if (themeInstalled) {
|
|
221
|
+
p.log.success(chalk.green('✓ claude-vivid theme is already installed'));
|
|
222
|
+
installThemeChoice = false; // Don't reinstall
|
|
244
223
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
224
|
+
else {
|
|
225
|
+
installThemeChoice = handleCancel(await p.confirm({
|
|
226
|
+
message: 'Install claude-vivid theme? (high-contrast theme with vivid colors)',
|
|
227
|
+
initialValue: true,
|
|
228
|
+
}));
|
|
249
229
|
}
|
|
250
230
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
const commandsDir = join(opencodeDir, 'command');
|
|
255
|
-
await mkdir(agentsDir, { recursive: true });
|
|
256
|
-
await mkdir(commandsDir, { recursive: true });
|
|
257
|
-
for (const agent of selectedAgents) {
|
|
258
|
-
const src = join(ROOT_DIR, 'agents', `${agent}.md`);
|
|
259
|
-
const dest = join(agentsDir, `${agent}.md`);
|
|
260
|
-
await cp(src, dest);
|
|
261
|
-
}
|
|
231
|
+
else {
|
|
232
|
+
p.log.info(chalk.cyan('Step 5/6: Theme'));
|
|
233
|
+
p.log.success(chalk.green('✓ claude-vivid theme will be installed automatically'));
|
|
262
234
|
}
|
|
235
|
+
// Step 6: Confirm
|
|
236
|
+
p.log.info(chalk.cyan('Step 6/6: Confirm'));
|
|
237
|
+
const formatList = (items) => items.length > 0 ? items.join(', ') : 'none';
|
|
238
|
+
const mcpDisplayNames = selectedMcps.map(mcp => MCP_DISPLAY_NAMES[mcp] ?? mcp);
|
|
239
|
+
p.note([
|
|
240
|
+
`Agents: ${formatList(selectedAgents)}`,
|
|
241
|
+
`Skills: ${formatList(selectedSkills)}`,
|
|
242
|
+
`MCPs: ${formatList(mcpDisplayNames)}`,
|
|
243
|
+
`Theme: ${installThemeChoice ? 'claude-vivid' : 'none'}`,
|
|
244
|
+
].join('\n'), 'Summary');
|
|
245
|
+
const confirm = handleCancel(await p.confirm({ message: 'Proceed with installation?' }));
|
|
246
|
+
if (!confirm) {
|
|
247
|
+
p.cancel('Installation cancelled.');
|
|
248
|
+
process.exit(0);
|
|
249
|
+
}
|
|
250
|
+
// Installation
|
|
251
|
+
const s = p.spinner();
|
|
252
|
+
s.start('Installing...');
|
|
263
253
|
try {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
if (
|
|
268
|
-
await
|
|
254
|
+
await installAgents(selectedAgents);
|
|
255
|
+
await installSkills(selectedSkills);
|
|
256
|
+
await installMcps(selectedMcps);
|
|
257
|
+
if (installThemeChoice) {
|
|
258
|
+
await installTheme();
|
|
269
259
|
}
|
|
270
260
|
s.stop('Installation complete!');
|
|
271
261
|
}
|
|
@@ -274,11 +264,58 @@ export async function run() {
|
|
|
274
264
|
p.log.error(error instanceof Error ? error.message : String(error));
|
|
275
265
|
process.exit(1);
|
|
276
266
|
}
|
|
277
|
-
// MCP instructions
|
|
278
267
|
if (selectedMcps.length > 0) {
|
|
279
|
-
|
|
280
|
-
p.note(mcpInstructions, 'MCP Setup Instructions');
|
|
268
|
+
p.note('Some MCPs require API keys. Edit ~/.config/opencode/opencode.json and replace TOKEN placeholders with your actual keys.', 'MCP Configuration');
|
|
281
269
|
}
|
|
282
270
|
p.outro(chalk.green('Done! Your tools are ready.'));
|
|
283
271
|
}
|
|
272
|
+
async function installAgents(agents) {
|
|
273
|
+
if (agents.length === 0)
|
|
274
|
+
return;
|
|
275
|
+
const agentDir = join(OPENCODE_DIR, 'agent');
|
|
276
|
+
await mkdir(agentDir, { recursive: true });
|
|
277
|
+
for (const agent of agents) {
|
|
278
|
+
await cp(join(ROOT_DIR, 'agents', `${agent}.md`), join(agentDir, `${agent}.md`));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
async function installSkills(skills) {
|
|
282
|
+
if (skills.length === 0)
|
|
283
|
+
return;
|
|
284
|
+
const skillDir = join(OPENCODE_DIR, 'skill');
|
|
285
|
+
await mkdir(skillDir, { recursive: true });
|
|
286
|
+
for (const skill of skills) {
|
|
287
|
+
await cp(join(ROOT_DIR, 'skills', skill), join(skillDir, skill), { recursive: true, force: true });
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
async function installMcps(mcps) {
|
|
291
|
+
if (mcps.length === 0)
|
|
292
|
+
return;
|
|
293
|
+
const config = await readJsonConfig(OPENCODE_CONFIG);
|
|
294
|
+
if (!config.mcp) {
|
|
295
|
+
config.mcp = {};
|
|
296
|
+
}
|
|
297
|
+
const mcpSection = config.mcp;
|
|
298
|
+
for (const mcp of mcps) {
|
|
299
|
+
const mcpConfig = await readJsonConfig(join(ROOT_DIR, 'mcps', mcp, '.mcp.json'));
|
|
300
|
+
const servers = mcpConfig.mcpServers;
|
|
301
|
+
if (servers) {
|
|
302
|
+
Object.assign(mcpSection, servers);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
await writeFile(OPENCODE_CONFIG, JSON.stringify(config, null, 2));
|
|
306
|
+
}
|
|
307
|
+
async function installTheme() {
|
|
308
|
+
// Install claude-vivid theme
|
|
309
|
+
const themesDir = join(OPENCODE_DIR, 'themes');
|
|
310
|
+
await mkdir(themesDir, { recursive: true });
|
|
311
|
+
const themeSource = join(ROOT_DIR, 'themes', 'claude-vivid.json');
|
|
312
|
+
const themeExists = await exists(themeSource);
|
|
313
|
+
if (themeExists) {
|
|
314
|
+
await cp(themeSource, join(themesDir, 'claude-vivid.json'));
|
|
315
|
+
// Update opencode.json to use the theme
|
|
316
|
+
const config = await readJsonConfig(OPENCODE_CONFIG);
|
|
317
|
+
config.theme = 'claude-vivid';
|
|
318
|
+
await writeFile(OPENCODE_CONFIG, JSON.stringify(config, null, 2));
|
|
319
|
+
}
|
|
320
|
+
}
|
|
284
321
|
//# 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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"}
|
package/mcps/figma-mcp/.mcp.json
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mcpServers": {
|
|
3
3
|
"figma": {
|
|
4
|
-
"type": "
|
|
5
|
-
"url": "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"type": "http",
|
|
9
|
-
"url": "http://127.0.0.1:3845/mcp"
|
|
4
|
+
"type": "remote",
|
|
5
|
+
"url": "http://127.0.0.1:3845/mcp",
|
|
6
|
+
"oauth": false,
|
|
7
|
+
"enabled": true
|
|
10
8
|
}
|
|
11
9
|
}
|
|
12
10
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brookmind/ai-toolkit",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "AI Toolkit installer for
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "AI Toolkit installer for OpenCode - agents, skills, MCPs, and themes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
"prepublishOnly": "npm run build"
|
|
23
23
|
},
|
|
24
24
|
"keywords": [
|
|
25
|
-
"claude",
|
|
26
25
|
"opencode",
|
|
27
26
|
"ai",
|
|
28
27
|
"toolkit",
|
|
@@ -48,6 +47,7 @@
|
|
|
48
47
|
"dist",
|
|
49
48
|
"agents",
|
|
50
49
|
"skills",
|
|
51
|
-
"mcps"
|
|
50
|
+
"mcps",
|
|
51
|
+
"themes"
|
|
52
52
|
]
|
|
53
53
|
}
|