@sudosandwich/limps 2.13.3 → 3.1.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 +168 -115
- package/dist/cli/config-cmd.d.ts +22 -194
- package/dist/cli/config-cmd.d.ts.map +1 -1
- package/dist/cli/config-cmd.js +92 -981
- package/dist/cli/config-cmd.js.map +1 -1
- package/dist/cli/index.d.ts +1 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init-project.d.ts +7 -3
- package/dist/cli/init-project.d.ts.map +1 -1
- package/dist/cli/init-project.js +43 -51
- package/dist/cli/init-project.js.map +1 -1
- package/dist/cli/mcp-client-adapter.d.ts +17 -48
- package/dist/cli/mcp-client-adapter.d.ts.map +1 -1
- package/dist/cli/mcp-client-adapter.js +29 -194
- package/dist/cli/mcp-client-adapter.js.map +1 -1
- package/dist/cli/mcp-clients.d.ts +2 -40
- package/dist/cli/mcp-clients.d.ts.map +1 -1
- package/dist/cli/mcp-clients.js +31 -92
- package/dist/cli/mcp-clients.js.map +1 -1
- package/dist/cli.js +18 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +3 -12
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/print.d.ts +20 -0
- package/dist/commands/config/print.d.ts.map +1 -0
- package/dist/commands/config/print.js +51 -0
- package/dist/commands/config/print.js.map +1 -0
- package/dist/commands/config/update.d.ts +3 -4
- package/dist/commands/config/update.d.ts.map +1 -1
- package/dist/commands/config/update.js +6 -5
- package/dist/commands/config/update.js.map +1 -1
- package/dist/commands/config/upgrade.d.ts +1 -1
- package/dist/commands/config/upgrade.js +2 -2
- package/dist/commands/config/upgrade.js.map +1 -1
- package/dist/commands/graph/check.d.ts +0 -1
- package/dist/commands/graph/check.d.ts.map +1 -1
- package/dist/commands/graph/check.js +4 -13
- package/dist/commands/graph/check.js.map +1 -1
- package/dist/commands/graph/entity.d.ts +0 -1
- package/dist/commands/graph/entity.d.ts.map +1 -1
- package/dist/commands/graph/entity.js +4 -13
- package/dist/commands/graph/entity.js.map +1 -1
- package/dist/commands/graph/health.d.ts +0 -1
- package/dist/commands/graph/health.d.ts.map +1 -1
- package/dist/commands/graph/health.js +4 -13
- package/dist/commands/graph/health.js.map +1 -1
- package/dist/commands/graph/index.d.ts.map +1 -1
- package/dist/commands/graph/index.js +1 -3
- package/dist/commands/graph/index.js.map +1 -1
- package/dist/commands/graph/overlap.d.ts +0 -1
- package/dist/commands/graph/overlap.d.ts.map +1 -1
- package/dist/commands/graph/overlap.js +3 -9
- package/dist/commands/graph/overlap.js.map +1 -1
- package/dist/commands/graph/reindex.d.ts +0 -1
- package/dist/commands/graph/reindex.d.ts.map +1 -1
- package/dist/commands/graph/reindex.js +3 -9
- package/dist/commands/graph/reindex.js.map +1 -1
- package/dist/commands/graph/search.d.ts +0 -1
- package/dist/commands/graph/search.d.ts.map +1 -1
- package/dist/commands/graph/search.js +3 -9
- package/dist/commands/graph/search.js.map +1 -1
- package/dist/commands/graph/suggest.d.ts +0 -1
- package/dist/commands/graph/suggest.d.ts.map +1 -1
- package/dist/commands/graph/suggest.js +4 -13
- package/dist/commands/graph/suggest.js.map +1 -1
- package/dist/commands/graph/trace.d.ts +0 -1
- package/dist/commands/graph/trace.d.ts.map +1 -1
- package/dist/commands/graph/trace.js +3 -9
- package/dist/commands/graph/trace.js.map +1 -1
- package/dist/commands/graph/watch.d.ts +0 -1
- package/dist/commands/graph/watch.d.ts.map +1 -1
- package/dist/commands/graph/watch.js +2 -5
- package/dist/commands/graph/watch.js.map +1 -1
- package/dist/commands/health/check.d.ts +0 -1
- package/dist/commands/health/check.d.ts.map +1 -1
- package/dist/commands/health/check.js +3 -9
- package/dist/commands/health/check.js.map +1 -1
- package/dist/commands/health/index.d.ts.map +1 -1
- package/dist/commands/health/index.js +1 -3
- package/dist/commands/health/index.js.map +1 -1
- package/dist/commands/health/inference.d.ts +0 -1
- package/dist/commands/health/inference.d.ts.map +1 -1
- package/dist/commands/health/inference.js +4 -10
- package/dist/commands/health/inference.js.map +1 -1
- package/dist/commands/health/staleness.d.ts +0 -1
- package/dist/commands/health/staleness.d.ts.map +1 -1
- package/dist/commands/health/staleness.js +3 -9
- package/dist/commands/health/staleness.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +4 -6
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -8
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list-agents.d.ts +0 -1
- package/dist/commands/list-agents.d.ts.map +1 -1
- package/dist/commands/list-agents.js +6 -17
- package/dist/commands/list-agents.js.map +1 -1
- package/dist/commands/list-plans.d.ts +0 -1
- package/dist/commands/list-plans.d.ts.map +1 -1
- package/dist/commands/list-plans.js +6 -12
- package/dist/commands/list-plans.js.map +1 -1
- package/dist/commands/next-task.d.ts +0 -1
- package/dist/commands/next-task.d.ts.map +1 -1
- package/dist/commands/next-task.js +7 -18
- package/dist/commands/next-task.js.map +1 -1
- package/dist/commands/proposals/apply-safe.d.ts +0 -1
- package/dist/commands/proposals/apply-safe.d.ts.map +1 -1
- package/dist/commands/proposals/apply-safe.js +4 -13
- package/dist/commands/proposals/apply-safe.js.map +1 -1
- package/dist/commands/proposals/apply.d.ts +0 -1
- package/dist/commands/proposals/apply.d.ts.map +1 -1
- package/dist/commands/proposals/apply.js +3 -9
- package/dist/commands/proposals/apply.js.map +1 -1
- package/dist/commands/proposals/index.d.ts +0 -1
- package/dist/commands/proposals/index.d.ts.map +1 -1
- package/dist/commands/proposals/index.js +4 -10
- package/dist/commands/proposals/index.js.map +1 -1
- package/dist/commands/reindex.d.ts +0 -1
- package/dist/commands/reindex.d.ts.map +1 -1
- package/dist/commands/reindex.js +4 -8
- package/dist/commands/reindex.js.map +1 -1
- package/dist/commands/repair-plans.d.ts +0 -1
- package/dist/commands/repair-plans.d.ts.map +1 -1
- package/dist/commands/repair-plans.js +3 -6
- package/dist/commands/repair-plans.js.map +1 -1
- package/dist/commands/reset.d.ts +13 -0
- package/dist/commands/reset.d.ts.map +1 -0
- package/dist/commands/reset.js +30 -0
- package/dist/commands/reset.js.map +1 -0
- package/dist/commands/score-all.d.ts +0 -1
- package/dist/commands/score-all.d.ts.map +1 -1
- package/dist/commands/score-all.js +7 -18
- package/dist/commands/score-all.js.map +1 -1
- package/dist/commands/score-task.d.ts +0 -1
- package/dist/commands/score-task.d.ts.map +1 -1
- package/dist/commands/score-task.js +7 -22
- package/dist/commands/score-task.js.map +1 -1
- package/dist/commands/start.d.ts +15 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +131 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status-server.d.ts +13 -0
- package/dist/commands/status-server.d.ts.map +1 -0
- package/dist/commands/status-server.js +114 -0
- package/dist/commands/status-server.js.map +1 -0
- package/dist/commands/status.d.ts +0 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +3 -9
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts +12 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +87 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/config.d.ts +34 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +101 -0
- package/dist/config.js.map +1 -1
- package/dist/pidfile.d.ts +55 -0
- package/dist/pidfile.d.ts.map +1 -0
- package/dist/pidfile.js +103 -0
- package/dist/pidfile.js.map +1 -0
- package/dist/server-http-entry.d.ts +8 -0
- package/dist/server-http-entry.d.ts.map +1 -0
- package/dist/server-http-entry.js +42 -0
- package/dist/server-http-entry.js.map +1 -0
- package/dist/server-http.d.ts +19 -0
- package/dist/server-http.d.ts.map +1 -0
- package/dist/server-http.js +292 -0
- package/dist/server-http.js.map +1 -0
- package/dist/server-main.d.ts +3 -3
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +17 -111
- package/dist/server-main.js.map +1 -1
- package/dist/server-shared.d.ts +30 -0
- package/dist/server-shared.d.ts.map +1 -0
- package/dist/server-shared.js +110 -0
- package/dist/server-shared.js.map +1 -0
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -3
- package/dist/server.js.map +1 -1
- package/dist/utils/cli-help.d.ts +0 -2
- package/dist/utils/cli-help.d.ts.map +1 -1
- package/dist/utils/cli-help.js +0 -6
- package/dist/utils/cli-help.js.map +1 -1
- package/dist/utils/config-resolver.d.ts +1 -11
- package/dist/utils/config-resolver.d.ts.map +1 -1
- package/dist/utils/config-resolver.js +2 -34
- package/dist/utils/config-resolver.js.map +1 -1
- package/dist/utils/http-client.d.ts +72 -0
- package/dist/utils/http-client.d.ts.map +1 -0
- package/dist/utils/http-client.js +160 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/rate-limiter.d.ts +18 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +60 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/version-state.d.ts.map +1 -1
- package/dist/utils/version-state.js +20 -4
- package/dist/utils/version-state.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/registry.d.ts +0 -94
- package/dist/cli/registry.d.ts.map +0 -1
- package/dist/cli/registry.js +0 -150
- package/dist/cli/registry.js.map +0 -1
- package/dist/commands/config/add.d.ts +0 -9
- package/dist/commands/config/add.d.ts.map +0 -1
- package/dist/commands/config/add.js +0 -20
- package/dist/commands/config/add.js.map +0 -1
- package/dist/commands/config/discover.d.ts +0 -3
- package/dist/commands/config/discover.d.ts.map +0 -1
- package/dist/commands/config/discover.js +0 -9
- package/dist/commands/config/discover.js.map +0 -1
- package/dist/commands/config/list.d.ts +0 -11
- package/dist/commands/config/list.d.ts.map +0 -1
- package/dist/commands/config/list.js +0 -28
- package/dist/commands/config/list.js.map +0 -1
- package/dist/commands/config/migrate.d.ts +0 -3
- package/dist/commands/config/migrate.d.ts.map +0 -1
- package/dist/commands/config/migrate.js +0 -14
- package/dist/commands/config/migrate.js.map +0 -1
- package/dist/commands/config/remove.d.ts +0 -9
- package/dist/commands/config/remove.d.ts.map +0 -1
- package/dist/commands/config/remove.js +0 -17
- package/dist/commands/config/remove.js.map +0 -1
- package/dist/commands/config/set.d.ts +0 -9
- package/dist/commands/config/set.d.ts.map +0 -1
- package/dist/commands/config/set.js +0 -17
- package/dist/commands/config/set.js.map +0 -1
- package/dist/commands/config/sync-mcp.d.ts +0 -26
- package/dist/commands/config/sync-mcp.d.ts.map +0 -1
- package/dist/commands/config/sync-mcp.js +0 -259
- package/dist/commands/config/sync-mcp.js.map +0 -1
- package/dist/commands/config/use.d.ts +0 -9
- package/dist/commands/config/use.d.ts.map +0 -1
- package/dist/commands/config/use.js +0 -17
- package/dist/commands/config/use.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -18
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -29
- package/dist/commands/serve.js.map +0 -1
- package/dist/utils/os-paths.d.ts +0 -34
- package/dist/utils/os-paths.d.ts.map +0 -1
- package/dist/utils/os-paths.js +0 -60
- package/dist/utils/os-paths.js.map +0 -1
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
* MCP Client Configuration Adapters
|
|
3
3
|
* Provides loosely coupled adapters for different MCP clients (Claude Desktop, Cursor, etc.)
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import { dirname, join } from 'path';
|
|
5
|
+
import { join } from 'path';
|
|
7
6
|
import { homedir } from 'os';
|
|
8
|
-
import * as toml from '@iarna/toml';
|
|
9
7
|
/**
|
|
10
8
|
* Claude Desktop adapter
|
|
11
|
-
* Uses: mcpServers key,
|
|
9
|
+
* Uses: mcpServers key, HTTP transport, ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
12
10
|
*/
|
|
13
11
|
export class ClaudeDesktopAdapter {
|
|
14
12
|
getConfigPath() {
|
|
@@ -18,43 +16,12 @@ export class ClaudeDesktopAdapter {
|
|
|
18
16
|
getServersKey() {
|
|
19
17
|
return 'mcpServers';
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
const configPath = this.getConfigPath();
|
|
23
|
-
const configDir = dirname(configPath);
|
|
24
|
-
// Ensure directory exists
|
|
25
|
-
if (!existsSync(configDir)) {
|
|
26
|
-
mkdirSync(configDir, { recursive: true });
|
|
27
|
-
}
|
|
28
|
-
// Read existing config or return empty
|
|
29
|
-
if (existsSync(configPath)) {
|
|
30
|
-
try {
|
|
31
|
-
const content = readFileSync(configPath, 'utf-8');
|
|
32
|
-
return JSON.parse(content);
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
35
|
-
throw new Error(`Failed to parse Claude Desktop config: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return {};
|
|
39
|
-
}
|
|
40
|
-
writeConfig(config) {
|
|
41
|
-
const configPath = this.getConfigPath();
|
|
42
|
-
const configDir = dirname(configPath);
|
|
43
|
-
// Ensure directory exists
|
|
44
|
-
if (!existsSync(configDir)) {
|
|
45
|
-
mkdirSync(configDir, { recursive: true });
|
|
46
|
-
}
|
|
47
|
-
try {
|
|
48
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
throw new Error(`Failed to write Claude Desktop config: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
createServerConfig(configPath) {
|
|
19
|
+
createHttpServerConfig(host, port) {
|
|
55
20
|
return {
|
|
56
|
-
|
|
57
|
-
|
|
21
|
+
transport: {
|
|
22
|
+
type: 'http',
|
|
23
|
+
url: `http://${host}:${port}/mcp`,
|
|
24
|
+
},
|
|
58
25
|
};
|
|
59
26
|
}
|
|
60
27
|
getDisplayName() {
|
|
@@ -63,7 +30,7 @@ export class ClaudeDesktopAdapter {
|
|
|
63
30
|
}
|
|
64
31
|
/**
|
|
65
32
|
* Cursor adapter
|
|
66
|
-
* Uses: mcp.servers key,
|
|
33
|
+
* Uses: mcp.servers key, HTTP transport, VS Code settings.json location
|
|
67
34
|
*/
|
|
68
35
|
export class CursorAdapter {
|
|
69
36
|
getSettingsPath() {
|
|
@@ -91,45 +58,12 @@ export class CursorAdapter {
|
|
|
91
58
|
useFlatKey() {
|
|
92
59
|
return true;
|
|
93
60
|
}
|
|
94
|
-
|
|
95
|
-
const configPath = this.getConfigPath();
|
|
96
|
-
const configDir = dirname(configPath);
|
|
97
|
-
// Ensure directory exists
|
|
98
|
-
if (!existsSync(configDir)) {
|
|
99
|
-
mkdirSync(configDir, { recursive: true });
|
|
100
|
-
}
|
|
101
|
-
// Read existing config or return empty
|
|
102
|
-
if (existsSync(configPath)) {
|
|
103
|
-
try {
|
|
104
|
-
const content = readFileSync(configPath, 'utf-8');
|
|
105
|
-
return JSON.parse(content);
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
throw new Error(`Failed to parse Cursor settings: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return {};
|
|
112
|
-
}
|
|
113
|
-
writeConfig(config) {
|
|
114
|
-
const configPath = this.getConfigPath();
|
|
115
|
-
const configDir = dirname(configPath);
|
|
116
|
-
// Ensure directory exists
|
|
117
|
-
if (!existsSync(configDir)) {
|
|
118
|
-
mkdirSync(configDir, { recursive: true });
|
|
119
|
-
}
|
|
120
|
-
try {
|
|
121
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
throw new Error(`Failed to write Cursor settings: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
createServerConfig(configPath) {
|
|
128
|
-
// Cursor can use the global limps command directly
|
|
129
|
-
// Try to find limps in PATH, fallback to 'limps'
|
|
61
|
+
createHttpServerConfig(host, port) {
|
|
130
62
|
return {
|
|
131
|
-
|
|
132
|
-
|
|
63
|
+
transport: {
|
|
64
|
+
type: 'http',
|
|
65
|
+
url: `http://${host}:${port}/mcp`,
|
|
66
|
+
},
|
|
133
67
|
};
|
|
134
68
|
}
|
|
135
69
|
getDisplayName() {
|
|
@@ -138,7 +72,7 @@ export class CursorAdapter {
|
|
|
138
72
|
}
|
|
139
73
|
/**
|
|
140
74
|
* Claude Code adapter
|
|
141
|
-
* Uses: mcpServers key,
|
|
75
|
+
* Uses: mcpServers key, HTTP transport, ~/.claude.json (user scope)
|
|
142
76
|
*/
|
|
143
77
|
export class ClaudeCodeAdapter {
|
|
144
78
|
getConfigPath() {
|
|
@@ -148,43 +82,12 @@ export class ClaudeCodeAdapter {
|
|
|
148
82
|
getServersKey() {
|
|
149
83
|
return 'mcpServers';
|
|
150
84
|
}
|
|
151
|
-
|
|
152
|
-
const configPath = this.getConfigPath();
|
|
153
|
-
const configDir = dirname(configPath);
|
|
154
|
-
// Ensure directory exists
|
|
155
|
-
if (!existsSync(configDir)) {
|
|
156
|
-
mkdirSync(configDir, { recursive: true });
|
|
157
|
-
}
|
|
158
|
-
// Read existing config or return empty
|
|
159
|
-
if (existsSync(configPath)) {
|
|
160
|
-
try {
|
|
161
|
-
const content = readFileSync(configPath, 'utf-8');
|
|
162
|
-
return JSON.parse(content);
|
|
163
|
-
}
|
|
164
|
-
catch (error) {
|
|
165
|
-
throw new Error(`Failed to parse Claude Code config: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
return {};
|
|
169
|
-
}
|
|
170
|
-
writeConfig(config) {
|
|
171
|
-
const configPath = this.getConfigPath();
|
|
172
|
-
const configDir = dirname(configPath);
|
|
173
|
-
// Ensure directory exists
|
|
174
|
-
if (!existsSync(configDir)) {
|
|
175
|
-
mkdirSync(configDir, { recursive: true });
|
|
176
|
-
}
|
|
177
|
-
try {
|
|
178
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
179
|
-
}
|
|
180
|
-
catch (error) {
|
|
181
|
-
throw new Error(`Failed to write Claude Code config: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
createServerConfig(configPath) {
|
|
85
|
+
createHttpServerConfig(host, port) {
|
|
185
86
|
return {
|
|
186
|
-
|
|
187
|
-
|
|
87
|
+
transport: {
|
|
88
|
+
type: 'http',
|
|
89
|
+
url: `http://${host}:${port}/mcp`,
|
|
90
|
+
},
|
|
188
91
|
};
|
|
189
92
|
}
|
|
190
93
|
getDisplayName() {
|
|
@@ -203,41 +106,12 @@ export class CodexAdapter {
|
|
|
203
106
|
getServersKey() {
|
|
204
107
|
return 'mcp_servers';
|
|
205
108
|
}
|
|
206
|
-
|
|
207
|
-
const configPath = this.getConfigPath();
|
|
208
|
-
const configDir = dirname(configPath);
|
|
209
|
-
if (!existsSync(configDir)) {
|
|
210
|
-
mkdirSync(configDir, { recursive: true });
|
|
211
|
-
}
|
|
212
|
-
if (existsSync(configPath)) {
|
|
213
|
-
try {
|
|
214
|
-
const content = readFileSync(configPath, 'utf-8');
|
|
215
|
-
return toml.parse(content);
|
|
216
|
-
}
|
|
217
|
-
catch (error) {
|
|
218
|
-
throw new Error(`Failed to parse Codex config: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
return {};
|
|
222
|
-
}
|
|
223
|
-
writeConfig(config) {
|
|
224
|
-
const configPath = this.getConfigPath();
|
|
225
|
-
const configDir = dirname(configPath);
|
|
226
|
-
if (!existsSync(configDir)) {
|
|
227
|
-
mkdirSync(configDir, { recursive: true });
|
|
228
|
-
}
|
|
229
|
-
try {
|
|
230
|
-
const content = toml.stringify(config);
|
|
231
|
-
writeFileSync(configPath, content, 'utf-8');
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
throw new Error(`Failed to write Codex config: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
createServerConfig(configPath) {
|
|
109
|
+
createHttpServerConfig(host, port) {
|
|
238
110
|
return {
|
|
239
|
-
|
|
240
|
-
|
|
111
|
+
transport: {
|
|
112
|
+
type: 'http',
|
|
113
|
+
url: `http://${host}:${port}/mcp`,
|
|
114
|
+
},
|
|
241
115
|
};
|
|
242
116
|
}
|
|
243
117
|
getDisplayName() {
|
|
@@ -304,45 +178,12 @@ export class LocalMcpAdapter {
|
|
|
304
178
|
// OpenCode nests MCP servers under "mcp"; all other local clients use "mcpServers"
|
|
305
179
|
return this.clientType === 'opencode' ? 'mcp' : 'mcpServers';
|
|
306
180
|
}
|
|
307
|
-
|
|
308
|
-
const configPath = this.getConfigPath();
|
|
309
|
-
// Read existing config or return empty
|
|
310
|
-
if (existsSync(configPath)) {
|
|
311
|
-
try {
|
|
312
|
-
const content = readFileSync(configPath, 'utf-8');
|
|
313
|
-
return JSON.parse(content);
|
|
314
|
-
}
|
|
315
|
-
catch (error) {
|
|
316
|
-
throw new Error(`Failed to parse ${this.getDisplayName()}: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
return {};
|
|
320
|
-
}
|
|
321
|
-
writeConfig(config) {
|
|
322
|
-
const configPath = this.getConfigPath();
|
|
323
|
-
const configDir = dirname(configPath);
|
|
324
|
-
// Ensure directory exists
|
|
325
|
-
if (!existsSync(configDir)) {
|
|
326
|
-
mkdirSync(configDir, { recursive: true });
|
|
327
|
-
}
|
|
328
|
-
try {
|
|
329
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
330
|
-
}
|
|
331
|
-
catch (error) {
|
|
332
|
-
throw new Error(`Failed to write ${this.getDisplayName()}: ${error instanceof Error ? error.message : 'unknown error'}`);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
createServerConfig(configPath) {
|
|
336
|
-
// OpenCode expects { type: "local", command: [...] } with command+args merged
|
|
337
|
-
if (this.clientType === 'opencode') {
|
|
338
|
-
return {
|
|
339
|
-
type: 'local',
|
|
340
|
-
command: ['limps', 'serve', '--config', configPath],
|
|
341
|
-
};
|
|
342
|
-
}
|
|
181
|
+
createHttpServerConfig(host, port) {
|
|
343
182
|
return {
|
|
344
|
-
|
|
345
|
-
|
|
183
|
+
transport: {
|
|
184
|
+
type: 'http',
|
|
185
|
+
url: `http://${host}:${port}/mcp`,
|
|
186
|
+
},
|
|
346
187
|
};
|
|
347
188
|
}
|
|
348
189
|
getDisplayName() {
|
|
@@ -375,10 +216,4 @@ export function getAdapter(clientType) {
|
|
|
375
216
|
export function getLocalAdapter(clientType, customPath) {
|
|
376
217
|
return new LocalMcpAdapter(clientType, customPath);
|
|
377
218
|
}
|
|
378
|
-
/**
|
|
379
|
-
* Check if a client type supports local workspace configs
|
|
380
|
-
*/
|
|
381
|
-
export function supportsLocalConfig(clientType) {
|
|
382
|
-
return clientType === 'cursor' || clientType === 'claude-code' || clientType === 'opencode';
|
|
383
|
-
}
|
|
384
219
|
//# sourceMappingURL=mcp-client-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client-adapter.js","sourceRoot":"","sources":["../../src/cli/mcp-client-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-client-adapter.js","sourceRoot":"","sources":["../../src/cli/mcp-client-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,11 @@
|
|
|
1
|
-
import { getLocalAdapter, type LocalMcpClientType } from './mcp-client-adapter.js';
|
|
2
|
-
export type { LocalMcpClientType } from './mcp-client-adapter.js';
|
|
3
1
|
export type McpSyncClientId = 'claude' | 'cursor' | 'claude-code' | 'codex' | 'chatgpt' | 'opencode';
|
|
4
|
-
export type McpAdapterId = Exclude<McpSyncClientId, 'chatgpt' | 'opencode'>;
|
|
5
|
-
export interface PreviewResult {
|
|
6
|
-
hasChanges: boolean;
|
|
7
|
-
diffText: string;
|
|
8
|
-
configPath: string;
|
|
9
|
-
addedServers: string[];
|
|
10
|
-
updatedServers: string[];
|
|
11
|
-
}
|
|
12
2
|
export interface McpSyncClient {
|
|
13
3
|
id: McpSyncClientId;
|
|
14
4
|
displayName: string;
|
|
15
|
-
|
|
16
|
-
supportsPreview: boolean;
|
|
17
|
-
supportsWrite: boolean;
|
|
18
|
-
supportsPrint: boolean;
|
|
19
|
-
printOnly?: boolean;
|
|
20
|
-
/** Whether this client supports local workspace configs */
|
|
21
|
-
supportsLocalConfig: boolean;
|
|
22
|
-
runPreview?: (projectFilter?: string[]) => PreviewResult;
|
|
23
|
-
runWrite?: (projectFilter?: string[]) => string;
|
|
24
|
-
runPrint?: (projectFilter?: string[]) => string;
|
|
5
|
+
runPrint: (configPath: string) => string;
|
|
25
6
|
}
|
|
26
7
|
/**
|
|
27
|
-
* Get all available
|
|
28
|
-
* These write to global/user-level config files.
|
|
8
|
+
* Get all available sync clients (print-only).
|
|
29
9
|
*/
|
|
30
10
|
export declare function getSyncClients(): McpSyncClient[];
|
|
31
|
-
/**
|
|
32
|
-
* Create a local config client for a specific MCP client type.
|
|
33
|
-
* This writes to workspace-level config files (e.g., .cursor/mcp.json, .mcp.json).
|
|
34
|
-
*
|
|
35
|
-
* @param clientType - The client type to create a local adapter for
|
|
36
|
-
* @param customPath - Optional custom path for the config file
|
|
37
|
-
*/
|
|
38
|
-
export declare function createLocalClient(clientType: LocalMcpClientType, customPath?: string): {
|
|
39
|
-
adapter: ReturnType<typeof getLocalAdapter>;
|
|
40
|
-
displayName: string;
|
|
41
|
-
runPreview: (projectFilter?: string[]) => PreviewResult;
|
|
42
|
-
runWrite: (projectFilter?: string[]) => string;
|
|
43
|
-
runPrint: (projectFilter?: string[]) => string;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Map sync client ID to local client type (for clients that support local configs)
|
|
47
|
-
*/
|
|
48
|
-
export declare function getLocalClientType(clientId: McpSyncClientId): LocalMcpClientType | null;
|
|
49
11
|
//# sourceMappingURL=mcp-clients.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-clients.d.ts","sourceRoot":"","sources":["../../src/cli/mcp-clients.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-clients.d.ts","sourceRoot":"","sources":["../../src/cli/mcp-clients.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,eAAe,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,aAAa,EAAE,CAgDhD"}
|
package/dist/cli/mcp-clients.js
CHANGED
|
@@ -1,116 +1,55 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getAdapter, getLocalAdapter
|
|
3
|
-
import { resolveConfigPath } from '../utils/config-resolver.js';
|
|
4
|
-
function createFileClient(params) {
|
|
5
|
-
const { id, displayName, writeFn } = params;
|
|
6
|
-
return {
|
|
7
|
-
id,
|
|
8
|
-
displayName,
|
|
9
|
-
adapterId: id,
|
|
10
|
-
supportsPreview: true,
|
|
11
|
-
supportsWrite: true,
|
|
12
|
-
supportsPrint: true,
|
|
13
|
-
supportsLocalConfig: supportsLocalConfig(id),
|
|
14
|
-
runPreview: (projectFilter) => {
|
|
15
|
-
const adapter = getAdapter(id);
|
|
16
|
-
return previewMcpClientConfig(adapter, () => resolveConfigPath(), projectFilter);
|
|
17
|
-
},
|
|
18
|
-
runWrite: (projectFilter) => writeFn(() => resolveConfigPath(), projectFilter),
|
|
19
|
-
runPrint: (projectFilter) => {
|
|
20
|
-
const adapter = getAdapter(id);
|
|
21
|
-
return generateConfigForPrint(adapter, () => resolveConfigPath(), projectFilter);
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
}
|
|
1
|
+
import { generateChatGptInstructions, generateConfigForPrint } from './config-cmd.js';
|
|
2
|
+
import { getAdapter, getLocalAdapter } from './mcp-client-adapter.js';
|
|
25
3
|
/**
|
|
26
|
-
* Get all available
|
|
27
|
-
* These write to global/user-level config files.
|
|
4
|
+
* Get all available sync clients (print-only).
|
|
28
5
|
*/
|
|
29
6
|
export function getSyncClients() {
|
|
30
|
-
|
|
31
|
-
|
|
7
|
+
return [
|
|
8
|
+
{
|
|
32
9
|
id: 'claude',
|
|
33
10
|
displayName: 'Claude Desktop',
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
11
|
+
runPrint: (configPath) => {
|
|
12
|
+
const adapter = getAdapter('claude');
|
|
13
|
+
return generateConfigForPrint(adapter, configPath);
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
{
|
|
37
17
|
id: 'cursor',
|
|
38
18
|
displayName: 'Cursor',
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
19
|
+
runPrint: (configPath) => {
|
|
20
|
+
const adapter = getAdapter('cursor');
|
|
21
|
+
return generateConfigForPrint(adapter, configPath);
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
{
|
|
42
25
|
id: 'claude-code',
|
|
43
26
|
displayName: 'Claude Code',
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
27
|
+
runPrint: (configPath) => {
|
|
28
|
+
const adapter = getAdapter('claude-code');
|
|
29
|
+
return generateConfigForPrint(adapter, configPath);
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
{
|
|
47
33
|
id: 'codex',
|
|
48
34
|
displayName: 'OpenAI Codex',
|
|
49
|
-
|
|
50
|
-
|
|
35
|
+
runPrint: (configPath) => {
|
|
36
|
+
const adapter = getAdapter('codex');
|
|
37
|
+
return generateConfigForPrint(adapter, configPath);
|
|
38
|
+
},
|
|
39
|
+
},
|
|
51
40
|
{
|
|
52
41
|
id: 'chatgpt',
|
|
53
42
|
displayName: 'ChatGPT',
|
|
54
|
-
|
|
55
|
-
supportsWrite: false,
|
|
56
|
-
supportsPrint: true,
|
|
57
|
-
supportsLocalConfig: false,
|
|
58
|
-
printOnly: true,
|
|
59
|
-
runPrint: (projectFilter) => generateChatGptInstructions(() => resolveConfigPath(), projectFilter),
|
|
43
|
+
runPrint: (configPath) => generateChatGptInstructions(configPath),
|
|
60
44
|
},
|
|
61
45
|
{
|
|
62
46
|
id: 'opencode',
|
|
63
47
|
displayName: 'OpenCode',
|
|
64
|
-
|
|
65
|
-
supportsWrite: false,
|
|
66
|
-
supportsPrint: true,
|
|
67
|
-
supportsLocalConfig: true,
|
|
68
|
-
printOnly: true,
|
|
69
|
-
runPrint: (projectFilter) => {
|
|
48
|
+
runPrint: (configPath) => {
|
|
70
49
|
const adapter = getLocalAdapter('opencode');
|
|
71
|
-
return generateConfigForPrint(adapter,
|
|
50
|
+
return generateConfigForPrint(adapter, configPath);
|
|
72
51
|
},
|
|
73
52
|
},
|
|
74
53
|
];
|
|
75
|
-
return clients;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Create a local config client for a specific MCP client type.
|
|
79
|
-
* This writes to workspace-level config files (e.g., .cursor/mcp.json, .mcp.json).
|
|
80
|
-
*
|
|
81
|
-
* @param clientType - The client type to create a local adapter for
|
|
82
|
-
* @param customPath - Optional custom path for the config file
|
|
83
|
-
*/
|
|
84
|
-
export function createLocalClient(clientType, customPath) {
|
|
85
|
-
const adapter = getLocalAdapter(clientType, customPath);
|
|
86
|
-
return {
|
|
87
|
-
adapter,
|
|
88
|
-
displayName: adapter.getDisplayName(),
|
|
89
|
-
runPreview: (projectFilter) => {
|
|
90
|
-
return previewMcpClientConfig(adapter, () => resolveConfigPath(), projectFilter);
|
|
91
|
-
},
|
|
92
|
-
runWrite: (projectFilter) => {
|
|
93
|
-
// Pass the adapter directly to preserve display name and settings
|
|
94
|
-
return configAddLocalMcp(() => resolveConfigPath(), projectFilter, adapter);
|
|
95
|
-
},
|
|
96
|
-
runPrint: (projectFilter) => {
|
|
97
|
-
return generateConfigForPrint(adapter, () => resolveConfigPath(), projectFilter);
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Map sync client ID to local client type (for clients that support local configs)
|
|
103
|
-
*/
|
|
104
|
-
export function getLocalClientType(clientId) {
|
|
105
|
-
switch (clientId) {
|
|
106
|
-
case 'cursor':
|
|
107
|
-
return 'cursor';
|
|
108
|
-
case 'claude-code':
|
|
109
|
-
return 'claude-code';
|
|
110
|
-
case 'opencode':
|
|
111
|
-
return 'opencode';
|
|
112
|
-
default:
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
54
|
}
|
|
116
55
|
//# sourceMappingURL=mcp-clients.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-clients.js","sourceRoot":"","sources":["../../src/cli/mcp-clients.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-clients.js","sourceRoot":"","sources":["../../src/cli/mcp-clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgBtE;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL;YACE,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,CAAC,UAAkB,EAAU,EAAE;gBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;SACF;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,CAAC,UAAkB,EAAU,EAAE;gBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;SACF;QACD;YACE,EAAE,EAAE,aAAa;YACjB,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,CAAC,UAAkB,EAAU,EAAE;gBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;SACF;QACD;YACE,EAAE,EAAE,OAAO;YACX,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,CAAC,UAAkB,EAAU,EAAE;gBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpC,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,CAAC,UAAkB,EAAU,EAAE,CAAC,2BAA2B,CAAC,UAAU,CAAC;SAClF;QACD;YACE,EAAE,EAAE,UAAU;YACd,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,CAAC,UAAkB,EAAU,EAAE;gBACvC,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC5C,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import Pastel from 'pastel';
|
|
3
3
|
import { getPackageVersion } from './utils/version.js';
|
|
4
|
-
import {
|
|
5
|
-
// Check if running
|
|
4
|
+
import { startHttpServer, stopHttpServer } from './server-http.js';
|
|
5
|
+
// Check if running start command with --foreground flag — bypass Ink for clean stdio
|
|
6
6
|
const args = process.argv.slice(2);
|
|
7
|
-
const
|
|
8
|
-
const wantsHelp = args.includes('--help') || args.includes('-h') || (
|
|
9
|
-
if (
|
|
7
|
+
const isStartForeground = args[0] === 'start' && args.includes('--foreground');
|
|
8
|
+
const wantsHelp = args.includes('--help') || args.includes('-h') || (isStartForeground && args.includes('help'));
|
|
9
|
+
if (isStartForeground && !wantsHelp) {
|
|
10
10
|
// Parse --config option
|
|
11
11
|
const configIndex = args.indexOf('--config');
|
|
12
12
|
const configPath = configIndex !== -1 ? args[configIndex + 1] : undefined;
|
|
13
|
-
// Run server
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
// Run HTTP server in foreground without Ink's terminal management
|
|
14
|
+
let shuttingDown = false;
|
|
15
|
+
const shutdown = () => {
|
|
16
|
+
if (shuttingDown)
|
|
17
|
+
return;
|
|
18
|
+
shuttingDown = true;
|
|
19
|
+
stopHttpServer()
|
|
20
|
+
.then(() => process.exit(0))
|
|
21
|
+
.catch(() => process.exit(1));
|
|
22
|
+
};
|
|
23
|
+
process.on('SIGINT', shutdown);
|
|
24
|
+
process.on('SIGTERM', shutdown);
|
|
25
|
+
startHttpServer(configPath).catch((err) => {
|
|
16
26
|
console.error(`Server error: ${err.message}`);
|
|
17
27
|
process.exit(1);
|
|
18
28
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnE,qFAAqF;AACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC/E,MAAM,SAAS,GACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEjG,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC;IACpC,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,kEAAkE;IAClE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE;aACb,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3B,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iBAAiB,EAAE;QAC5B,WAAW,EAAE,uCAAuC;KACrD,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI,KAAK,CAAC,SAAS,CAuBvD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Text } from 'ink';
|
|
3
|
-
import { buildHelpOutput
|
|
3
|
+
import { buildHelpOutput } from '../../utils/cli-help.js';
|
|
4
4
|
export const description = 'Manage project configuration';
|
|
5
5
|
export default function ConfigCommand() {
|
|
6
6
|
const help = buildHelpOutput({
|
|
@@ -9,18 +9,11 @@ export default function ConfigCommand() {
|
|
|
9
9
|
{
|
|
10
10
|
title: 'Commands',
|
|
11
11
|
lines: [
|
|
12
|
-
'list Show all registered projects',
|
|
13
|
-
'use <name> Set the current/default project',
|
|
14
12
|
'show Display resolved configuration values',
|
|
15
13
|
'scoring Show or update scoring configuration',
|
|
16
14
|
'path Print the resolved config file path',
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'update <name> [--plans-path <path>] [--docs-path <path>] Update project paths',
|
|
20
|
-
'remove <name> Remove a project and delete config/dir (when under limps/projects)',
|
|
21
|
-
'set <path> Set current from config path (auto-registers)',
|
|
22
|
-
'discover Find configs in default locations (use `limps config use <name>` to register)',
|
|
23
|
-
'migrate Pull known configs into limps/projects/ from old locations',
|
|
15
|
+
'print [--client <claude|cursor|claude-code|codex|chatgpt|opencode|all>] Print MCP client config snippets',
|
|
16
|
+
'update [--plans-path <path>] [--docs-path <path>] Update project paths',
|
|
24
17
|
'upgrade Upgrade config schema to latest version',
|
|
25
18
|
],
|
|
26
19
|
},
|
|
@@ -29,8 +22,6 @@ export default function ConfigCommand() {
|
|
|
29
22
|
lines: ['Run `limps config <command> --help` for more information.'],
|
|
30
23
|
},
|
|
31
24
|
],
|
|
32
|
-
tips: [getProjectTipLine()],
|
|
33
|
-
llmHints: getProjectLlmHints(),
|
|
34
25
|
});
|
|
35
26
|
return _jsx(Text, { children: help.text });
|
|
36
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,wBAAwB;QAC/B,QAAQ,EAAE;YACR;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE;oBACL,4CAA4C;oBAC5C,8CAA8C;oBAC9C,0CAA0C;oBAC1C,0GAA0G;oBAC1G,wEAAwE;oBACxE,iDAAiD;iBAClD;aACF;YACD;gBACE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,CAAC,2DAA2D,CAAC;aACrE;SACF;KACF,CAAC,CAAC;IAEH,OAAO,KAAC,IAAI,cAAE,IAAI,CAAC,IAAI,GAAQ,CAAC;AAClC,CAAC"}
|