trykora 1.1.0 → 1.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.
- package/dist/src/cli/init.d.ts.map +1 -1
- package/dist/src/cli/init.js +162 -91
- package/dist/src/cli/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgGpC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAsE3C"}
|
package/dist/src/cli/init.js
CHANGED
|
@@ -2,23 +2,94 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
import
|
|
6
|
-
import { showHeader, successBox, errorBox, step, infoBox } from '../ui.js';
|
|
5
|
+
import { showHeader, successBox, errorBox, step } from '../ui.js';
|
|
7
6
|
import { readConfig } from '../config.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
// OS-specific paths
|
|
8
|
+
const homedir = os.homedir();
|
|
9
|
+
const platform = os.platform();
|
|
10
|
+
const getClaudeDesktopPath = () => {
|
|
11
|
+
if (platform === 'darwin')
|
|
12
|
+
return path.join(homedir, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
|
|
13
|
+
if (platform === 'win32')
|
|
14
|
+
return path.join(homedir, 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json');
|
|
16
15
|
return null;
|
|
17
|
-
}
|
|
16
|
+
};
|
|
17
|
+
const getRooCodePath = () => {
|
|
18
|
+
if (platform === 'darwin')
|
|
19
|
+
return path.join(homedir, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
|
|
20
|
+
if (platform === 'win32')
|
|
21
|
+
return path.join(homedir, 'AppData', 'Roaming', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
|
|
22
|
+
if (platform === 'linux')
|
|
23
|
+
return path.join(homedir, '.config', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
const getWindsurfPath = () => {
|
|
27
|
+
if (platform === 'win32')
|
|
28
|
+
return path.join(homedir, 'AppData', 'Roaming', 'Codeium', 'Windsurf', 'mcp_config.json');
|
|
29
|
+
return path.join(homedir, '.codeium', 'windsurf', 'mcp_config.json');
|
|
30
|
+
};
|
|
31
|
+
const getCursorPath = () => {
|
|
32
|
+
if (platform === 'win32')
|
|
33
|
+
return path.join(homedir, 'AppData', 'Roaming', 'Cursor', 'User', 'globalStorage', 'mcp.json');
|
|
34
|
+
return path.join(homedir, '.cursor', 'mcp.json'); // Mac and Linux default
|
|
35
|
+
};
|
|
36
|
+
const getOpenCodePath = () => {
|
|
37
|
+
if (platform === 'win32')
|
|
38
|
+
return path.join(homedir, '.config', 'opencode', 'opencode.json');
|
|
39
|
+
return path.join(homedir, '.config', 'opencode', 'opencode.json');
|
|
40
|
+
};
|
|
41
|
+
// Tool Configuration Definitions
|
|
42
|
+
const TOOLS = [
|
|
43
|
+
{
|
|
44
|
+
name: 'Claude Desktop',
|
|
45
|
+
path: getClaudeDesktopPath(),
|
|
46
|
+
type: 'json-mcpServers',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Claude Code',
|
|
50
|
+
path: path.join(homedir, '.claude.json'),
|
|
51
|
+
type: 'json-mcpServers',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Cursor',
|
|
55
|
+
path: getCursorPath(),
|
|
56
|
+
type: 'json-mcpServers',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'Windsurf',
|
|
60
|
+
path: getWindsurfPath(),
|
|
61
|
+
type: 'json-mcpServers',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Cline',
|
|
65
|
+
path: path.join(homedir, '.cline', 'data', 'settings', 'cline_mcp_settings.json'),
|
|
66
|
+
type: 'json-mcpServers',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Roo Code',
|
|
70
|
+
path: getRooCodePath(),
|
|
71
|
+
type: 'json-mcpServers',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'Antigravity',
|
|
75
|
+
path: path.join(homedir, '.gemini', 'antigravity', 'mcp_config.json'),
|
|
76
|
+
type: 'json-mcpServers', // Antigravity format matches standard
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'OpenCode',
|
|
80
|
+
path: getOpenCodePath(),
|
|
81
|
+
type: 'json-mcp', // OpenCode uses "mcp" instead of "mcpServers"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'Codex',
|
|
85
|
+
path: path.join(homedir, '.codex', 'config.toml'),
|
|
86
|
+
type: 'toml-block',
|
|
87
|
+
}
|
|
88
|
+
];
|
|
18
89
|
export function initCommand(program) {
|
|
19
90
|
program
|
|
20
91
|
.command('init')
|
|
21
|
-
.description('
|
|
92
|
+
.description('Auto-discover and set up Kora in your AI tools')
|
|
22
93
|
.action(async () => {
|
|
23
94
|
showHeader('init');
|
|
24
95
|
const config = readConfig();
|
|
@@ -26,94 +97,94 @@ export function initCommand(program) {
|
|
|
26
97
|
errorBox('No API key found. Run `kora login` first.');
|
|
27
98
|
return;
|
|
28
99
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
100
|
+
step(1, 2, 'Scanning for AI tools and injecting Kora MCP server...');
|
|
101
|
+
let configuredTools = [];
|
|
102
|
+
let skippedTools = [];
|
|
103
|
+
let failedTools = [];
|
|
104
|
+
for (const tool of TOOLS) {
|
|
105
|
+
if (!tool.path)
|
|
106
|
+
continue;
|
|
107
|
+
// Skip if the directory structure doesn't even exist
|
|
108
|
+
const dir = path.dirname(tool.path);
|
|
109
|
+
if (!fs.existsSync(dir)) {
|
|
110
|
+
skippedTools.push(tool.name);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
const success = setupTool(tool.name, tool.path, tool.type);
|
|
115
|
+
if (success) {
|
|
116
|
+
configuredTools.push(tool.name);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
failedTools.push(tool.name);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
failedTools.push(tool.name);
|
|
124
|
+
}
|
|
41
125
|
}
|
|
42
|
-
|
|
43
|
-
|
|
126
|
+
step(2, 2, 'Done!');
|
|
127
|
+
if (configuredTools.length > 0) {
|
|
128
|
+
successBox('Kora MCP Server successfully installed!', [
|
|
129
|
+
chalk.white('We added Kora to the following tools:'),
|
|
130
|
+
...configuredTools.map(t => chalk.green(` ✓ ${t}`)),
|
|
131
|
+
'',
|
|
132
|
+
chalk.yellow('⚠ Please restart these tools for the changes to take effect.'),
|
|
133
|
+
'',
|
|
134
|
+
'After restarting, try saying:',
|
|
135
|
+
chalk.cyan(' "save this as a learning: [your insight]"'),
|
|
136
|
+
].join('\n'));
|
|
44
137
|
}
|
|
45
138
|
else {
|
|
46
|
-
|
|
139
|
+
errorBox('We couldn\'t find any supported AI tools on your system.\n' +
|
|
140
|
+
chalk.white('Searched for: ') + TOOLS.map(t => t.name).join(', ') + '\n\n' +
|
|
141
|
+
'You can still set up Kora manually. Add this to your MCP config:\n' +
|
|
142
|
+
` Command: ${chalk.cyan('npx')}\n` +
|
|
143
|
+
` Args: ${chalk.cyan('["kora", "serve"]')}`);
|
|
144
|
+
}
|
|
145
|
+
if (failedTools.length > 0) {
|
|
146
|
+
console.log(chalk.red('\nFailed to update: ') + failedTools.join(', '));
|
|
47
147
|
}
|
|
48
148
|
});
|
|
49
149
|
}
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
150
|
+
function setupTool(name, configPath, type) {
|
|
151
|
+
const koraConfig = {
|
|
152
|
+
command: 'npx',
|
|
153
|
+
args: ['kora', 'serve']
|
|
154
|
+
};
|
|
155
|
+
if (type === 'json-mcpServers' || type === 'json-mcp') {
|
|
156
|
+
let existing = {};
|
|
157
|
+
if (fs.existsSync(configPath)) {
|
|
158
|
+
try {
|
|
159
|
+
existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Start fresh warning if corrupted, assume empty
|
|
163
|
+
existing = {};
|
|
164
|
+
}
|
|
62
165
|
}
|
|
63
|
-
|
|
64
|
-
|
|
166
|
+
const key = type === 'json-mcp' ? 'mcp' : 'mcpServers';
|
|
167
|
+
existing[key] = existing[key] || {};
|
|
168
|
+
// Don't overwrite if it already exists perfectly
|
|
169
|
+
if (existing[key].kora?.command === 'npx' && existing[key].kora?.args?.includes('kora')) {
|
|
170
|
+
return true;
|
|
65
171
|
}
|
|
172
|
+
existing[key].kora = koraConfig;
|
|
173
|
+
fs.writeFileSync(configPath, JSON.stringify(existing, null, 2));
|
|
174
|
+
return true;
|
|
66
175
|
}
|
|
67
|
-
if (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
176
|
+
else if (type === 'toml-block') {
|
|
177
|
+
let content = '';
|
|
178
|
+
if (fs.existsSync(configPath)) {
|
|
179
|
+
content = fs.readFileSync(configPath, 'utf-8');
|
|
180
|
+
}
|
|
181
|
+
if (content.includes('[mcpServers.kora]')) {
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
const addition = `\n\n[mcpServers.kora]\ncommand = "npx"\nargs = ["kora", "serve"]\n`;
|
|
185
|
+
fs.appendFileSync(configPath, addition);
|
|
186
|
+
return true;
|
|
76
187
|
}
|
|
77
|
-
|
|
78
|
-
existing.mcpServers = existing.mcpServers || {};
|
|
79
|
-
existing.mcpServers.kora = {
|
|
80
|
-
command: 'npx',
|
|
81
|
-
args: ['kora', 'serve'],
|
|
82
|
-
};
|
|
83
|
-
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
84
|
-
fs.writeFileSync(configPath, JSON.stringify(existing, null, 2));
|
|
85
|
-
step(3, 3, 'Done!');
|
|
86
|
-
successBox('Claude Desktop configured!', [
|
|
87
|
-
`Config written to: ${chalk.dim(configPath)}`,
|
|
88
|
-
'',
|
|
89
|
-
chalk.yellow('⚠ Restart Claude Desktop to activate Kora.'),
|
|
90
|
-
'',
|
|
91
|
-
'After restarting, try saying:',
|
|
92
|
-
chalk.cyan(' "save this as a learning: [your insight]"'),
|
|
93
|
-
].join('\n'));
|
|
94
|
-
}
|
|
95
|
-
function showCursorInstructions() {
|
|
96
|
-
infoBox('Cursor Setup', [
|
|
97
|
-
'Add this to your Cursor MCP settings:',
|
|
98
|
-
'',
|
|
99
|
-
chalk.cyan(JSON.stringify({
|
|
100
|
-
kora: {
|
|
101
|
-
command: 'npx',
|
|
102
|
-
args: ['kora', 'serve'],
|
|
103
|
-
},
|
|
104
|
-
}, null, 2)),
|
|
105
|
-
'',
|
|
106
|
-
'Or add it to your project\'s .cursor/mcp.json file.',
|
|
107
|
-
].join('\n'));
|
|
108
|
-
}
|
|
109
|
-
function showManualInstructions() {
|
|
110
|
-
infoBox('Manual Setup', [
|
|
111
|
-
'Add this MCP server config to your AI tool:',
|
|
112
|
-
'',
|
|
113
|
-
` Command: ${chalk.cyan('npx')}`,
|
|
114
|
-
` Args: ${chalk.cyan('["kora", "serve"]')}`,
|
|
115
|
-
'',
|
|
116
|
-
'The MCP server communicates over stdio.',
|
|
117
|
-
].join('\n'));
|
|
188
|
+
return false;
|
|
118
189
|
}
|
|
119
190
|
//# sourceMappingURL=init.js.map
|
package/dist/src/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED