@kodycodes/cli 1.0.1 → 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/README.md +46 -15
- package/dist/add-mcp-install.d.ts +42 -0
- package/dist/add-mcp-install.js +59 -0
- package/dist/add-mcp-install.js.map +1 -0
- package/dist/cli.d.ts +3 -1
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -1
- package/dist/defaults.d.ts +2 -0
- package/dist/defaults.js +4 -0
- package/dist/defaults.js.map +1 -1
- package/dist/detect-running-hosts.d.ts +4 -0
- package/dist/detect-running-hosts.js +13 -0
- package/dist/detect-running-hosts.js.map +1 -0
- package/dist/help.js +10 -2
- package/dist/help.js.map +1 -1
- package/dist/host-catalog.d.ts +27 -0
- package/dist/host-catalog.js +427 -0
- package/dist/host-catalog.js.map +1 -0
- package/dist/host-config.d.ts +23 -0
- package/dist/host-config.js +80 -0
- package/dist/host-config.js.map +1 -0
- package/dist/install-hosts.d.ts +31 -0
- package/dist/install-hosts.js +328 -0
- package/dist/install-hosts.js.map +1 -0
- package/dist/install.d.ts +32 -0
- package/dist/install.js +120 -0
- package/dist/install.js.map +1 -0
- package/dist/onboarding-prompt.d.ts +2 -0
- package/dist/onboarding-prompt.js +15 -0
- package/dist/onboarding-prompt.js.map +1 -0
- package/dist/process-info.d.ts +8 -0
- package/dist/process-info.js +14 -0
- package/dist/process-info.js.map +1 -0
- package/dist/which.d.ts +1 -0
- package/dist/which.js +22 -0
- package/dist/which.js.map +1 -0
- package/package.json +5 -2
- package/skills/kody/SKILL.md +39 -29
package/README.md
CHANGED
|
@@ -1,19 +1,50 @@
|
|
|
1
1
|
# @kodycodes/cli
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
Install [Kody](https://kody.codes) as a remote MCP server in local agents.
|
|
4
|
+
Talks MCP `2026-07-28` (Kody's stateless `/mcp` lane) and logs in with Client
|
|
5
|
+
ID Metadata Documents (SEP-991).
|
|
6
|
+
|
|
7
|
+
**Long term, use Kody through the host MCP connection** — `search` and
|
|
8
|
+
`execute` in Cursor, Claude Code, or another client. This CLI writes that
|
|
9
|
+
config. Keep `kody login` / `kody search` / `kody execute` for bootstrap,
|
|
10
|
+
scripts, or hosts that cannot run MCP.
|
|
7
11
|
|
|
8
12
|
```bash
|
|
9
|
-
npx @kodycodes/cli
|
|
10
|
-
npx @kodycodes/cli search "what can you do"
|
|
13
|
+
npx @kodycodes/cli install
|
|
11
14
|
npx @kodycodes/cli skill install
|
|
12
15
|
```
|
|
13
16
|
|
|
14
17
|
Copyright © 2026 [Kent C. Dodds](https://kentcdodds.com). MIT licensed.
|
|
15
18
|
|
|
16
|
-
## Install
|
|
19
|
+
## Install the MCP server
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @kodycodes/cli install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
`kody install` lists **running local** agents (Cursor, Claude Desktop, VS Code,
|
|
26
|
+
Goose, Claude Code, Codex, Windsurf, Zed, and similar) and writes each host's
|
|
27
|
+
remote MCP entry for `https://kody.codes/mcp`. Common host formats go through
|
|
28
|
+
[`add-mcp`](https://www.npmjs.com/package/add-mcp). It does not list web clients.
|
|
29
|
+
For ChatGPT, Claude.ai, and Grok, use [kody.codes/onboarding](https://kody.codes/onboarding).
|
|
30
|
+
|
|
31
|
+
After install, the CLI prints a prompt you can paste into the configured agent
|
|
32
|
+
to continue onboarding. Host OAuth stays in that client — `kody login` is only
|
|
33
|
+
for the CLI itself.
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx @kodycodes/cli skill install
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
copies the getting-started skill into Claude Code / Cursor / Agents. That skill
|
|
40
|
+
also tells the agent to prefer the MCP server over the CLI.
|
|
41
|
+
|
|
42
|
+
`--mcp-url` or `KODY_MCP_URL` overrides the default `https://kody.codes/mcp`.
|
|
43
|
+
|
|
44
|
+
## CLI as a local client
|
|
45
|
+
|
|
46
|
+
Optional. Use when you need a scripted or headless client instead of a host
|
|
47
|
+
MCP connection.
|
|
17
48
|
|
|
18
49
|
```bash
|
|
19
50
|
npm install -g @kodycodes/cli
|
|
@@ -26,20 +57,20 @@ Or run via `npx @kodycodes/cli` without a global install.
|
|
|
26
57
|
|
|
27
58
|
| Command | Purpose |
|
|
28
59
|
| --- | --- |
|
|
29
|
-
| `kody
|
|
30
|
-
| `kody logout` | Deletes stored credentials. |
|
|
31
|
-
| `kody status` | Shows login state without printing secrets. |
|
|
32
|
-
| `kody whoami` | Confirms the MCP connection and lists tools. |
|
|
33
|
-
| `kody search [query]` | Calls Kody `search`. |
|
|
34
|
-
| `kody execute` | Calls Kody `execute` (`--code`, `--file`, or stdin via `--file -`). |
|
|
60
|
+
| `kody install` | Detect running local MCP clients, write their config, and start host OAuth. **Recommended long-term path.** |
|
|
35
61
|
| `kody skill install` | Copies the getting-started skill into Claude Code / Cursor / Agents. |
|
|
62
|
+
| `kody login` | Browser OAuth (CIMD + PKCE) for the CLI itself. Stores access and refresh tokens. |
|
|
63
|
+
| `kody logout` | Deletes stored CLI credentials. |
|
|
64
|
+
| `kody status` | Shows CLI login state without printing secrets. |
|
|
65
|
+
| `kody whoami` | Confirms the CLI MCP connection and lists tools. |
|
|
66
|
+
| `kody search [query]` | Calls Kody `search` from the CLI (prefer the host MCP tool). |
|
|
67
|
+
| `kody execute` | Calls Kody `execute` from the CLI (`--code`, `--file`, or stdin via `--file -`). |
|
|
36
68
|
|
|
37
|
-
`--mcp-url` or `KODY_MCP_URL` overrides the default `https://kody.codes/mcp`.
|
|
38
69
|
`--json` prints structured MCP results.
|
|
39
70
|
|
|
40
71
|
## Token storage
|
|
41
72
|
|
|
42
|
-
|
|
73
|
+
CLI credentials are stored in the OS secret store:
|
|
43
74
|
|
|
44
75
|
- macOS: Keychain
|
|
45
76
|
- Windows: Credential Manager
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type AgentType, type InstallResult, type McpServerConfig } from 'add-mcp';
|
|
2
|
+
import type { HostId } from './host-catalog.js';
|
|
3
|
+
/**
|
|
4
|
+
* Hosts whose on-disk MCP config `add-mcp` already knows how to merge.
|
|
5
|
+
* Claude Desktop is intentionally omitted: remote MCP lives in Connectors, not
|
|
6
|
+
* `claude_desktop_config.json`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const addMcpAgentByHostId: {
|
|
9
|
+
readonly antigravity: "antigravity";
|
|
10
|
+
readonly cline: "cline";
|
|
11
|
+
readonly 'cline-cli': "cline-cli";
|
|
12
|
+
readonly 'claude-code': "claude-code";
|
|
13
|
+
readonly codex: "codex";
|
|
14
|
+
readonly cursor: "cursor";
|
|
15
|
+
readonly fx: "fx";
|
|
16
|
+
readonly 'gemini-cli': "gemini-cli";
|
|
17
|
+
readonly goose: "goose";
|
|
18
|
+
readonly 'copilot-cli': "github-copilot-cli";
|
|
19
|
+
readonly 'grok-build': "grok-build";
|
|
20
|
+
readonly 'kilo-code': "kilo-code";
|
|
21
|
+
readonly 'kimi-code': "kimi-code";
|
|
22
|
+
readonly 'kiro-cli': "kiro-cli";
|
|
23
|
+
readonly mastracode: "mastracode";
|
|
24
|
+
readonly mcporter: "mcporter";
|
|
25
|
+
readonly opencode: "opencode";
|
|
26
|
+
readonly pi: "pi";
|
|
27
|
+
readonly vscode: "vscode";
|
|
28
|
+
readonly windsurf: "windsurf";
|
|
29
|
+
readonly zed: "zed";
|
|
30
|
+
};
|
|
31
|
+
export type AddMcpHostId = keyof typeof addMcpAgentByHostId;
|
|
32
|
+
export type UpsertServerFn = (agentType: AgentType, serverName: string, serverConfig: McpServerConfig, options?: {
|
|
33
|
+
local?: boolean;
|
|
34
|
+
cwd?: string;
|
|
35
|
+
}) => InstallResult;
|
|
36
|
+
export declare function isAddMcpHostId(id: HostId): id is AddMcpHostId;
|
|
37
|
+
export declare function addMcpUsesProjectScope(id: AddMcpHostId, project: boolean): boolean;
|
|
38
|
+
export declare function kodyRemoteConfig(mcpUrl: string): McpServerConfig;
|
|
39
|
+
export declare function defaultUpsertServer(agentType: AgentType, serverName: string, serverConfig: McpServerConfig, options?: {
|
|
40
|
+
local?: boolean;
|
|
41
|
+
cwd?: string;
|
|
42
|
+
}): InstallResult;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { upsertServer, } from 'add-mcp';
|
|
2
|
+
/**
|
|
3
|
+
* Hosts whose on-disk MCP config `add-mcp` already knows how to merge.
|
|
4
|
+
* Claude Desktop is intentionally omitted: remote MCP lives in Connectors, not
|
|
5
|
+
* `claude_desktop_config.json`.
|
|
6
|
+
*/
|
|
7
|
+
export const addMcpAgentByHostId = {
|
|
8
|
+
antigravity: 'antigravity',
|
|
9
|
+
cline: 'cline',
|
|
10
|
+
'cline-cli': 'cline-cli',
|
|
11
|
+
'claude-code': 'claude-code',
|
|
12
|
+
codex: 'codex',
|
|
13
|
+
cursor: 'cursor',
|
|
14
|
+
fx: 'fx',
|
|
15
|
+
'gemini-cli': 'gemini-cli',
|
|
16
|
+
goose: 'goose',
|
|
17
|
+
'copilot-cli': 'github-copilot-cli',
|
|
18
|
+
'grok-build': 'grok-build',
|
|
19
|
+
'kilo-code': 'kilo-code',
|
|
20
|
+
'kimi-code': 'kimi-code',
|
|
21
|
+
'kiro-cli': 'kiro-cli',
|
|
22
|
+
mastracode: 'mastracode',
|
|
23
|
+
mcporter: 'mcporter',
|
|
24
|
+
opencode: 'opencode',
|
|
25
|
+
pi: 'pi',
|
|
26
|
+
vscode: 'vscode',
|
|
27
|
+
windsurf: 'windsurf',
|
|
28
|
+
zed: 'zed',
|
|
29
|
+
};
|
|
30
|
+
const addMcpProjectHosts = new Set([
|
|
31
|
+
'claude-code',
|
|
32
|
+
'codex',
|
|
33
|
+
'cursor',
|
|
34
|
+
'gemini-cli',
|
|
35
|
+
'copilot-cli',
|
|
36
|
+
'grok-build',
|
|
37
|
+
'kilo-code',
|
|
38
|
+
'kimi-code',
|
|
39
|
+
'kiro-cli',
|
|
40
|
+
'mastracode',
|
|
41
|
+
'mcporter',
|
|
42
|
+
'opencode',
|
|
43
|
+
'pi',
|
|
44
|
+
'vscode',
|
|
45
|
+
'zed',
|
|
46
|
+
]);
|
|
47
|
+
export function isAddMcpHostId(id) {
|
|
48
|
+
return Object.hasOwn(addMcpAgentByHostId, id);
|
|
49
|
+
}
|
|
50
|
+
export function addMcpUsesProjectScope(id, project) {
|
|
51
|
+
return project && addMcpProjectHosts.has(id);
|
|
52
|
+
}
|
|
53
|
+
export function kodyRemoteConfig(mcpUrl) {
|
|
54
|
+
return { type: 'http', url: mcpUrl };
|
|
55
|
+
}
|
|
56
|
+
export function defaultUpsertServer(agentType, serverName, serverConfig, options) {
|
|
57
|
+
return upsertServer(agentType, serverName, serverConfig, options);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=add-mcp-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-mcp-install.js","sourceRoot":"","sources":["../src/add-mcp-install.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,GAIZ,MAAM,SAAS,CAAA;AAGhB;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,oBAAoB;IACnC,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CAC4C,CAAA;AAIvD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAe;IAChD,aAAa;IACb,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;IACV,YAAY;IACZ,UAAU;IACV,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,KAAK;CACL,CAAC,CAAA;AASF,MAAM,UAAU,cAAc,CAAC,EAAU;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAgB,EAAE,OAAgB;IACxE,OAAO,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,SAAoB,EACpB,UAAkB,EAClB,YAA6B,EAC7B,OAA2C;IAE3C,OAAO,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CommandName = 'login' | 'logout' | 'status' | 'whoami' | 'search' | 'execute' | 'skill' | 'help' | 'version';
|
|
1
|
+
export type CommandName = 'login' | 'logout' | 'status' | 'whoami' | 'search' | 'execute' | 'install' | 'skill' | 'help' | 'version';
|
|
2
2
|
declare function parseKnown(args: Array<string>): {
|
|
3
3
|
values: {
|
|
4
4
|
[longOption: string]: string | boolean | undefined;
|
|
@@ -16,6 +16,8 @@ declare function parseKnown(args: Array<string>): {
|
|
|
16
16
|
'conversation-id'?: string | boolean | undefined;
|
|
17
17
|
project?: string | boolean | undefined;
|
|
18
18
|
'no-browser'?: string | boolean | undefined;
|
|
19
|
+
clients?: string | boolean | undefined;
|
|
20
|
+
yes?: string | boolean | undefined;
|
|
19
21
|
};
|
|
20
22
|
positionals: string[];
|
|
21
23
|
};
|
package/dist/cli.js
CHANGED
|
@@ -5,6 +5,7 @@ import { usage } from './help.js';
|
|
|
5
5
|
import { ensureFreshCredentials, login } from './auth.js';
|
|
6
6
|
import { deleteCredentials, loadCredentials } from './store.js';
|
|
7
7
|
import { callKodyTool, formatToolResult, listKodyTools } from './mcp.js';
|
|
8
|
+
import { runInstall } from './install.js';
|
|
8
9
|
import { installSkill } from './skill.js';
|
|
9
10
|
import { readPackageVersion } from './package-info.js';
|
|
10
11
|
import { redactError } from './redact.js';
|
|
@@ -30,6 +31,8 @@ function parseKnown(args) {
|
|
|
30
31
|
'conversation-id': { type: 'string' },
|
|
31
32
|
project: { type: 'boolean' },
|
|
32
33
|
'no-browser': { type: 'boolean' },
|
|
34
|
+
clients: { type: 'string' },
|
|
35
|
+
yes: { type: 'boolean', short: 'y' },
|
|
33
36
|
},
|
|
34
37
|
});
|
|
35
38
|
}
|
|
@@ -51,6 +54,7 @@ export function resolveCommand(argv) {
|
|
|
51
54
|
case 'whoami':
|
|
52
55
|
case 'search':
|
|
53
56
|
case 'execute':
|
|
57
|
+
case 'install':
|
|
54
58
|
case 'skill':
|
|
55
59
|
case 'help':
|
|
56
60
|
case 'version':
|
|
@@ -181,6 +185,16 @@ async function dispatch(parsed, write) {
|
|
|
181
185
|
write(formatToolResult(result, json));
|
|
182
186
|
return result.isError ? 1 : 0;
|
|
183
187
|
}
|
|
188
|
+
case 'install': {
|
|
189
|
+
const result = await runInstall({
|
|
190
|
+
mcpUrl,
|
|
191
|
+
clients: typeof parsed.values.clients === 'string' ? parsed.values.clients : undefined,
|
|
192
|
+
yes: parsed.values.yes === true,
|
|
193
|
+
project: parsed.values.project === true,
|
|
194
|
+
json,
|
|
195
|
+
}, { stdout: write });
|
|
196
|
+
return result.code;
|
|
197
|
+
}
|
|
184
198
|
case 'skill': {
|
|
185
199
|
const action = parsed.positionals[0] ?? 'install';
|
|
186
200
|
if (action !== 'install') {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/defaults.d.ts
CHANGED
|
@@ -12,3 +12,5 @@ export declare const oauthCallbackPort = 43742;
|
|
|
12
12
|
export declare const cliClientIdMetadataPath = "/oauth/cli-client-metadata.json";
|
|
13
13
|
export declare function cliClientMetadataUrl(mcpUrl: string): string;
|
|
14
14
|
export declare function cliRedirectUrl(port?: number): URL;
|
|
15
|
+
export declare const onboardingPath = "/onboarding";
|
|
16
|
+
export declare function onboardingUrl(mcpUrl: string): string;
|
package/dist/defaults.js
CHANGED
|
@@ -16,4 +16,8 @@ export function cliClientMetadataUrl(mcpUrl) {
|
|
|
16
16
|
export function cliRedirectUrl(port = oauthCallbackPort) {
|
|
17
17
|
return new URL(`http://127.0.0.1:${port}/callback`);
|
|
18
18
|
}
|
|
19
|
+
export const onboardingPath = '/onboarding';
|
|
20
|
+
export function onboardingUrl(mcpUrl) {
|
|
21
|
+
return new URL(onboardingPath, mcpUrl).href;
|
|
22
|
+
}
|
|
19
23
|
//# sourceMappingURL=defaults.js.map
|
package/dist/defaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAA;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAC7D,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AAExE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,iBAAiB;IAC9D,OAAO,IAAI,GAAG,CAAC,oBAAoB,IAAI,WAAW,CAAC,CAAA;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAA;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAC7D,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AAExE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,iBAAiB;IAC9D,OAAO,IAAI,GAAG,CAAC,oBAAoB,IAAI,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAA;AAE3C,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type HostDefinition } from './host-catalog.js';
|
|
2
|
+
import type { ProcessInfo } from './process-info.js';
|
|
3
|
+
export declare function listRunningProcesses(): Promise<Array<ProcessInfo>>;
|
|
4
|
+
export declare function detectRunningHosts(processes: Array<ProcessInfo>, catalog?: ReadonlyArray<HostDefinition>): Array<HostDefinition>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import psList from 'ps-list';
|
|
2
|
+
import { hostCatalog } from './host-catalog.js';
|
|
3
|
+
export async function listRunningProcesses() {
|
|
4
|
+
const processes = await psList();
|
|
5
|
+
return processes.map((process) => ({
|
|
6
|
+
name: process.name,
|
|
7
|
+
cmd: process.cmd,
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
export function detectRunningHosts(processes, catalog = hostCatalog) {
|
|
11
|
+
return catalog.filter((host) => processes.some((process) => host.matches(process)));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=detect-running-hosts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-running-hosts.js","sourceRoot":"","sources":["../src/detect-running-hosts.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAA;AAGpE,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACzC,MAAM,SAAS,GAAG,MAAM,MAAM,EAAE,CAAA;IAChC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;KAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,SAA6B,EAC7B,UAAyC,WAAW;IAEpD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACpF,CAAC"}
|
package/dist/help.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { defaultMcpUrl } from './defaults.js';
|
|
1
|
+
import { defaultMcpUrl, onboardingUrl } from './defaults.js';
|
|
2
|
+
import { hostIds } from './host-catalog.js';
|
|
2
3
|
import { readPackageVersion } from './package-info.js';
|
|
3
4
|
export const usage = `Kody CLI ${readPackageVersion()}
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
Install Kody as a remote MCP server in local agents, or use this CLI as a local client.
|
|
6
7
|
|
|
7
8
|
Usage:
|
|
8
9
|
kody login [--mcp-url <url>] [--no-browser]
|
|
@@ -11,8 +12,15 @@ Usage:
|
|
|
11
12
|
kody whoami [--mcp-url <url>] [--json]
|
|
12
13
|
kody search [query] [--entity <ref>] [--domain <id>] [--limit <n>] [--json]
|
|
13
14
|
kody execute [--code <esm>] [--file <path>] [--params <json>] [--conversation-id <id>] [--json]
|
|
15
|
+
kody install [--mcp-url <url>] [--clients <ids>] [--yes] [--project] [--json]
|
|
14
16
|
kody skill install [--project]
|
|
15
17
|
|
|
18
|
+
kody install configures running local MCP clients (Cursor, Claude Desktop,
|
|
19
|
+
VS Code, Goose, and others). For web-based clients (ChatGPT, Claude.ai, Grok),
|
|
20
|
+
see ${onboardingUrl(defaultMcpUrl)}
|
|
21
|
+
|
|
22
|
+
--clients Comma-separated ids: ${hostIds.join(', ')}
|
|
23
|
+
|
|
16
24
|
Environment:
|
|
17
25
|
KODY_MCP_URL Override the default MCP URL (${defaultMcpUrl})
|
|
18
26
|
`;
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;QAgB7C,aAAa,CAAC,aAAa,CAAC;;oCAEA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;iDAGL,aAAa;CAC7D,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ProcessInfo } from './process-info.js';
|
|
2
|
+
export declare const hostIds: readonly ["amazon-q", "antigravity", "claude-code", "claude-desktop", "cline", "cline-cli", "codex", "copilot-cli", "cursor", "fx", "gemini-cli", "goose", "grok-build", "jetbrains", "kilo-code", "kimi-code", "kiro-cli", "mastracode", "mcporter", "opencode", "pi", "qwen-code", "visual-studio", "vscode", "vscode-insiders", "windsurf", "zed"];
|
|
3
|
+
export type HostId = (typeof hostIds)[number];
|
|
4
|
+
export type HostKind = 'file' | 'command' | 'manual';
|
|
5
|
+
export type HostDefinition = {
|
|
6
|
+
id: HostId;
|
|
7
|
+
label: string;
|
|
8
|
+
kind: HostKind;
|
|
9
|
+
matches: (process: ProcessInfo) => boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function isHostId(value: string): value is HostId;
|
|
12
|
+
export declare function parseHostIds(raw: string): Array<HostId>;
|
|
13
|
+
export declare const hostCatalog: ReadonlyArray<HostDefinition>;
|
|
14
|
+
export declare function hostById(id: HostId): HostDefinition;
|
|
15
|
+
export declare function configHome(home: string, platform?: NodeJS.Platform): string;
|
|
16
|
+
export declare function applicationSupport(home: string, app: string, platform?: NodeJS.Platform): string;
|
|
17
|
+
export declare function hostConfigPath(input: {
|
|
18
|
+
id: HostId;
|
|
19
|
+
home: string;
|
|
20
|
+
cwd: string;
|
|
21
|
+
project: boolean;
|
|
22
|
+
platform?: NodeJS.Platform;
|
|
23
|
+
}): string | null;
|
|
24
|
+
export declare function encodeBase64Url(value: string): string;
|
|
25
|
+
export declare function buildCursorInstallUrl(mcpServerUrl: string): string;
|
|
26
|
+
export declare function buildVsCodeInstallUrl(mcpServerUrl: string, scheme?: 'vscode' | 'vscode-insiders'): string;
|
|
27
|
+
export declare function buildGooseInstallUrl(mcpServerUrl: string): string;
|