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.
@@ -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;AA0BpC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAgC3C"}
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"}
@@ -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 inquirer from 'inquirer';
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
- function getClaudeConfigPath() {
9
- const platform = os.platform();
10
- if (platform === 'darwin') {
11
- return path.join(os.homedir(), 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
12
- }
13
- else if (platform === 'win32') {
14
- return path.join(os.homedir(), 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json');
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('Set up Kora in your AI tool (Claude Desktop, Cursor, etc.)')
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
- const { tool } = await inquirer.prompt([{
30
- type: 'list',
31
- name: 'tool',
32
- message: 'Which AI tool do you use?',
33
- choices: [
34
- { name: 'Claude Desktop', value: 'claude' },
35
- { name: 'Cursor', value: 'cursor' },
36
- { name: 'Other (manual setup)', value: 'other' },
37
- ],
38
- }]);
39
- if (tool === 'claude') {
40
- await setupClaude();
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
- else if (tool === 'cursor') {
43
- showCursorInstructions();
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
- showManualInstructions();
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
- async function setupClaude() {
51
- const configPath = getClaudeConfigPath();
52
- if (!configPath) {
53
- errorBox('Could not detect Claude Desktop config path on this platform.');
54
- showManualInstructions();
55
- return;
56
- }
57
- step(1, 3, 'Detecting Claude Desktop config...');
58
- let existing = { mcpServers: {} };
59
- if (fs.existsSync(configPath)) {
60
- try {
61
- existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
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
- catch {
64
- existing = { mcpServers: {} };
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 (existing.mcpServers?.kora) {
68
- const { overwrite } = await inquirer.prompt([{
69
- type: 'confirm',
70
- name: 'overwrite',
71
- message: chalk.yellow('Kora is already configured in Claude Desktop. Overwrite?'),
72
- default: false,
73
- }]);
74
- if (!overwrite)
75
- return;
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
- step(2, 3, 'Adding Kora to Claude Desktop config...');
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
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trykora",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Grow your audience while you build — capture insights and turn them into X, Reddit, LinkedIn, and HN posts inside any AI tool",
5
5
  "type": "module",
6
6
  "bin": {