@singbox-iac/cli 0.1.4 → 0.1.5
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-en.md +40 -9
- package/README.md +40 -9
- package/assets/rule-set/geoip-cn.srs +0 -0
- package/assets/rule-set/geosite-anthropic.srs +0 -0
- package/assets/rule-set/geosite-cn.srs +0 -0
- package/assets/rule-set/geosite-cursor.srs +0 -0
- package/assets/rule-set/geosite-figma.srs +0 -0
- package/assets/rule-set/geosite-github-copilot.srs +0 -0
- package/assets/rule-set/geosite-github.srs +0 -0
- package/assets/rule-set/geosite-google-deepmind.srs +0 -0
- package/assets/rule-set/geosite-google-gemini.srs +0 -0
- package/assets/rule-set/geosite-google.srs +0 -0
- package/dist/cli/commands/build.js +1 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/proxifier.d.ts +2 -0
- package/dist/cli/commands/proxifier.js +61 -0
- package/dist/cli/commands/proxifier.js.map +1 -0
- package/dist/cli/commands/quickstart.d.ts +2 -0
- package/dist/cli/commands/quickstart.js +54 -0
- package/dist/cli/commands/quickstart.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +30 -0
- package/dist/cli/commands/setup.js +277 -233
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/modules/compiler/index.js +8 -3
- package/dist/modules/compiler/index.js.map +1 -1
- package/dist/modules/natural-language/index.js +1 -1
- package/dist/modules/natural-language/index.js.map +1 -1
- package/dist/modules/proxifier/index.d.ts +27 -0
- package/dist/modules/proxifier/index.js +184 -0
- package/dist/modules/proxifier/index.js.map +1 -0
- package/dist/modules/rule-set-sync/index.d.ts +10 -0
- package/dist/modules/rule-set-sync/index.js +72 -12
- package/dist/modules/rule-set-sync/index.js.map +1 -1
- package/dist/modules/verification/index.js +37 -21
- package/dist/modules/verification/index.js.map +1 -1
- package/docs/proxifier-onboarding.md +65 -0
- package/docs/runtime-on-macos.md +5 -4
- package/examples/builder.config.yaml +1 -1
- package/package.json +11 -2
package/README-en.md
CHANGED
|
@@ -62,7 +62,7 @@ The system has three layers:
|
|
|
62
62
|
|
|
63
63
|
```mermaid
|
|
64
64
|
flowchart TD
|
|
65
|
-
A["User provides subscription URL + one sentence"] --> B["setup"]
|
|
65
|
+
A["User provides subscription URL + one sentence"] --> B["quickstart / setup --ready"]
|
|
66
66
|
B --> C["Detect local environment<br/>macOS / sing-box / Chrome / AI CLI"]
|
|
67
67
|
C --> D["Generate rules from intent"]
|
|
68
68
|
D --> E["Sync local rule sets"]
|
|
@@ -161,21 +161,25 @@ singbox-iac --help
|
|
|
161
161
|
### One-step onboarding
|
|
162
162
|
|
|
163
163
|
```bash
|
|
164
|
-
singbox-iac
|
|
164
|
+
singbox-iac quickstart \
|
|
165
165
|
--subscription-url 'your subscription URL' \
|
|
166
166
|
--prompt 'GitHub and developer sites go through Hong Kong, Antigravity process traffic goes through the US, Gemini goes through Singapore, update every 30 minutes'
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
-
`
|
|
169
|
+
`quickstart` will:
|
|
170
170
|
|
|
171
171
|
- create `~/.config/singbox-iac/builder.config.yaml`
|
|
172
172
|
- create `~/.config/singbox-iac/rules/custom.rules.yaml`
|
|
173
|
+
- create `~/.config/singbox-iac/proxifier/` helper files
|
|
173
174
|
- check local environment readiness
|
|
174
|
-
-
|
|
175
|
+
- use bundled default `.srs` rule sets and only sync extras when needed
|
|
175
176
|
- turn one sentence into routing rules
|
|
176
177
|
- build `~/.config/singbox-iac/generated/config.staging.json`
|
|
178
|
+
- verify critical routes
|
|
179
|
+
- publish the live config
|
|
180
|
+
- install the recurring schedule
|
|
177
181
|
|
|
178
|
-
|
|
182
|
+
If you want the more explicit onboarding command, you can still use:
|
|
179
183
|
|
|
180
184
|
```bash
|
|
181
185
|
singbox-iac setup \
|
|
@@ -184,11 +188,10 @@ singbox-iac setup \
|
|
|
184
188
|
--ready
|
|
185
189
|
```
|
|
186
190
|
|
|
187
|
-
|
|
191
|
+
The difference is simple:
|
|
188
192
|
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
- recurring schedule installation
|
|
193
|
+
- `quickstart` is the shortest opinionated first-run path
|
|
194
|
+
- `setup --ready` is better if you still want to control run/browser/Proxifier flags yourself
|
|
192
195
|
|
|
193
196
|
### Manual foreground run
|
|
194
197
|
|
|
@@ -245,6 +248,30 @@ The authoring layer supports:
|
|
|
245
248
|
- preview before writing
|
|
246
249
|
- closed-loop update after rule generation
|
|
247
250
|
|
|
251
|
+
## Proxifier Onboarding
|
|
252
|
+
|
|
253
|
+
If your AI IDE, language server, or desktop app does not respect the normal system proxy path, use the generated Proxifier helper directory:
|
|
254
|
+
|
|
255
|
+
```text
|
|
256
|
+
~/.config/singbox-iac/proxifier/
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
It contains:
|
|
260
|
+
|
|
261
|
+
- `README.md`
|
|
262
|
+
- `proxy-endpoint.txt`
|
|
263
|
+
- `custom-processes.txt`
|
|
264
|
+
- `bundles/antigravity.txt`
|
|
265
|
+
- `bundles/cursor.txt`
|
|
266
|
+
- `bundles/developer-ai-cli.txt`
|
|
267
|
+
- `all-processes.txt`
|
|
268
|
+
|
|
269
|
+
If you only want to regenerate the Proxifier helper files:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
singbox-iac proxifier scaffold --prompt 'Antigravity process traffic goes through the US and Cursor also uses a dedicated ingress'
|
|
273
|
+
```
|
|
274
|
+
|
|
248
275
|
## How It Works With sing-box
|
|
249
276
|
|
|
250
277
|
This project does not replace the `sing-box` core binary. It generates and manages `sing-box` configuration.
|
|
@@ -282,6 +309,7 @@ The project does not automatically upload subscription URLs to any remote servic
|
|
|
282
309
|
```bash
|
|
283
310
|
singbox-iac init
|
|
284
311
|
singbox-iac setup
|
|
312
|
+
singbox-iac quickstart
|
|
285
313
|
singbox-iac author
|
|
286
314
|
singbox-iac build
|
|
287
315
|
singbox-iac check
|
|
@@ -290,6 +318,8 @@ singbox-iac run
|
|
|
290
318
|
singbox-iac verify
|
|
291
319
|
singbox-iac update
|
|
292
320
|
singbox-iac doctor
|
|
321
|
+
singbox-iac proxifier bundles
|
|
322
|
+
singbox-iac proxifier scaffold
|
|
293
323
|
singbox-iac schedule install
|
|
294
324
|
singbox-iac schedule remove
|
|
295
325
|
singbox-iac templates list
|
|
@@ -300,6 +330,7 @@ singbox-iac templates list
|
|
|
300
330
|
- [rules-dsl.md](./docs/rules-dsl.md)
|
|
301
331
|
- [rule-templates.md](./docs/rule-templates.md)
|
|
302
332
|
- [natural-language-authoring.md](./docs/natural-language-authoring.md)
|
|
333
|
+
- [proxifier-onboarding.md](./docs/proxifier-onboarding.md)
|
|
303
334
|
- [runtime-on-macos.md](./docs/runtime-on-macos.md)
|
|
304
335
|
- [openspec/project.md](./openspec/project.md)
|
|
305
336
|
|
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ flowchart LR
|
|
|
62
62
|
|
|
63
63
|
```mermaid
|
|
64
64
|
flowchart TD
|
|
65
|
-
A["用户提供订阅地址 + 一句话需求"] --> B["setup"]
|
|
65
|
+
A["用户提供订阅地址 + 一句话需求"] --> B["quickstart / setup --ready"]
|
|
66
66
|
B --> C["检测本地环境<br/>macOS / sing-box / Chrome / AI CLI"]
|
|
67
67
|
C --> D["根据意图生成规则"]
|
|
68
68
|
D --> E["同步本地 rule set"]
|
|
@@ -161,21 +161,25 @@ singbox-iac --help
|
|
|
161
161
|
### 一步完成初始化
|
|
162
162
|
|
|
163
163
|
```bash
|
|
164
|
-
singbox-iac
|
|
164
|
+
singbox-iac quickstart \
|
|
165
165
|
--subscription-url '你的机场订阅地址' \
|
|
166
166
|
--prompt 'GitHub 这类开发类走香港,Antigravity 进程级走美国,Gemini 走新加坡,每30分钟自动更新'
|
|
167
167
|
```
|
|
168
168
|
|
|
169
|
-
`
|
|
169
|
+
`quickstart` 会自动:
|
|
170
170
|
|
|
171
171
|
- 生成 `~/.config/singbox-iac/builder.config.yaml`
|
|
172
172
|
- 生成 `~/.config/singbox-iac/rules/custom.rules.yaml`
|
|
173
|
+
- 生成 `~/.config/singbox-iac/proxifier/` 辅助文件
|
|
173
174
|
- 检查本地环境
|
|
174
|
-
-
|
|
175
|
+
- 使用包内内置的默认 `.srs` 规则集,并在需要时补充同步
|
|
175
176
|
- 把一句自然语言转成路由规则
|
|
176
177
|
- 构建 `~/.config/singbox-iac/generated/config.staging.json`
|
|
178
|
+
- 验证关键路由
|
|
179
|
+
- 发布 live config
|
|
180
|
+
- 安装定时更新
|
|
177
181
|
|
|
178
|
-
|
|
182
|
+
如果你希望保留更细的步骤控制,也可以继续用:
|
|
179
183
|
|
|
180
184
|
```bash
|
|
181
185
|
singbox-iac setup \
|
|
@@ -184,11 +188,10 @@ singbox-iac setup \
|
|
|
184
188
|
--ready
|
|
185
189
|
```
|
|
186
190
|
|
|
187
|
-
|
|
191
|
+
`setup --ready` 和 `quickstart` 的主要区别是:
|
|
188
192
|
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
- 安装定时更新
|
|
193
|
+
- `quickstart` 更偏默认的一键上手
|
|
194
|
+
- `setup --ready` 更适合你还想自己决定是否运行、是否开浏览器、是否写 Proxifier 辅助目录
|
|
192
195
|
|
|
193
196
|
### 前台运行测试
|
|
194
197
|
|
|
@@ -245,6 +248,30 @@ singbox-iac author \
|
|
|
245
248
|
- 写入前先 preview
|
|
246
249
|
- 生成规则后直接闭环 update
|
|
247
250
|
|
|
251
|
+
## Proxifier 上手
|
|
252
|
+
|
|
253
|
+
如果你的 AI IDE、language server 或桌面应用不走系统代理,可以直接使用自动生成的 Proxifier 辅助目录:
|
|
254
|
+
|
|
255
|
+
```text
|
|
256
|
+
~/.config/singbox-iac/proxifier/
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
其中会包含:
|
|
260
|
+
|
|
261
|
+
- `README.md`
|
|
262
|
+
- `proxy-endpoint.txt`
|
|
263
|
+
- `custom-processes.txt`
|
|
264
|
+
- `bundles/antigravity.txt`
|
|
265
|
+
- `bundles/cursor.txt`
|
|
266
|
+
- `bundles/developer-ai-cli.txt`
|
|
267
|
+
- `all-processes.txt`
|
|
268
|
+
|
|
269
|
+
如果你只想重新生成这部分,不需要重跑全部 onboarding:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
singbox-iac proxifier scaffold --prompt 'Antigravity 进程级走美国,Cursor 也走独立入口'
|
|
273
|
+
```
|
|
274
|
+
|
|
248
275
|
## 它和 sing-box 是怎么配合的
|
|
249
276
|
|
|
250
277
|
它不会替代 `sing-box` 内核本身,而是负责生成和维护 `sing-box` 配置。
|
|
@@ -282,6 +309,7 @@ singbox-iac author \
|
|
|
282
309
|
```bash
|
|
283
310
|
singbox-iac init
|
|
284
311
|
singbox-iac setup
|
|
312
|
+
singbox-iac quickstart
|
|
285
313
|
singbox-iac author
|
|
286
314
|
singbox-iac build
|
|
287
315
|
singbox-iac check
|
|
@@ -290,6 +318,8 @@ singbox-iac run
|
|
|
290
318
|
singbox-iac verify
|
|
291
319
|
singbox-iac update
|
|
292
320
|
singbox-iac doctor
|
|
321
|
+
singbox-iac proxifier bundles
|
|
322
|
+
singbox-iac proxifier scaffold
|
|
293
323
|
singbox-iac schedule install
|
|
294
324
|
singbox-iac schedule remove
|
|
295
325
|
singbox-iac templates list
|
|
@@ -300,6 +330,7 @@ singbox-iac templates list
|
|
|
300
330
|
- [rules-dsl.md](./docs/rules-dsl.md)
|
|
301
331
|
- [rule-templates.md](./docs/rule-templates.md)
|
|
302
332
|
- [natural-language-authoring.md](./docs/natural-language-authoring.md)
|
|
333
|
+
- [proxifier-onboarding.md](./docs/proxifier-onboarding.md)
|
|
303
334
|
- [runtime-on-macos.md](./docs/runtime-on-macos.md)
|
|
304
335
|
- [openspec/project.md](./openspec/project.md)
|
|
305
336
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -150,7 +150,7 @@ async function resolveBuildConfig(options) {
|
|
|
150
150
|
{
|
|
151
151
|
id: "cn-direct",
|
|
152
152
|
name: "China traffic stays direct",
|
|
153
|
-
url: "https://www.
|
|
153
|
+
url: "https://www.qq.com/favicon.ico",
|
|
154
154
|
inbound: "in-mixed",
|
|
155
155
|
expectedOutbound: "direct",
|
|
156
156
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { loadConfig } from "../../config/load-config.js";
|
|
3
|
+
import { listProxifierBundles, selectProxifierBundlesFromPrompt, writeProxifierScaffold, } from "../../modules/proxifier/index.js";
|
|
4
|
+
import { getDefaultConfigDir, getDefaultConfigPath } from "../command-helpers.js";
|
|
5
|
+
export function registerProxifierCommand(program) {
|
|
6
|
+
const proxifier = program
|
|
7
|
+
.command("proxifier")
|
|
8
|
+
.description("Generate Proxifier helper files for process-aware routing.");
|
|
9
|
+
proxifier
|
|
10
|
+
.command("bundles")
|
|
11
|
+
.description("List supported Proxifier process bundles.")
|
|
12
|
+
.action(() => {
|
|
13
|
+
const lines = listProxifierBundles().map((bundle) => `${bundle.id}: ${bundle.name}\n- ${bundle.description}`);
|
|
14
|
+
process.stdout.write(`${lines.join("\n")}\n`);
|
|
15
|
+
});
|
|
16
|
+
proxifier
|
|
17
|
+
.command("scaffold")
|
|
18
|
+
.description("Generate a Proxifier helper directory from the current listener config.")
|
|
19
|
+
.option("-c, --config <path>", "path to builder config YAML", getDefaultConfigPath())
|
|
20
|
+
.option("--out-dir <path>", "output directory for Proxifier helper files", path.join(getDefaultConfigDir(), "proxifier"))
|
|
21
|
+
.option("--bundle <id>", "bundle id to include", collectOption, [])
|
|
22
|
+
.option("--prompt <text>", "derive recommended bundles from a routing prompt")
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
const config = await loadConfig(resolvePath(options.config));
|
|
25
|
+
const promptBundleIds = options.prompt
|
|
26
|
+
? selectProxifierBundlesFromPrompt(options.prompt)
|
|
27
|
+
: [];
|
|
28
|
+
const bundleIds = [...new Set([...options.bundle, ...promptBundleIds])];
|
|
29
|
+
const result = await writeProxifierScaffold({
|
|
30
|
+
listener: {
|
|
31
|
+
host: config.listeners.proxifier.listen,
|
|
32
|
+
port: config.listeners.proxifier.port,
|
|
33
|
+
},
|
|
34
|
+
outputDir: resolvePath(options.outDir),
|
|
35
|
+
...(bundleIds.length > 0 ? { bundleIds } : {}),
|
|
36
|
+
});
|
|
37
|
+
const lines = [
|
|
38
|
+
`Output: ${result.outputDir}`,
|
|
39
|
+
`Guide: ${result.guidePath}`,
|
|
40
|
+
`Proxy endpoint: ${result.proxyEndpointPath}`,
|
|
41
|
+
`Custom processes: ${result.customProcessesPath}`,
|
|
42
|
+
];
|
|
43
|
+
if (result.combinedProcessesPath) {
|
|
44
|
+
lines.push(`Combined processes: ${result.combinedProcessesPath}`);
|
|
45
|
+
}
|
|
46
|
+
if (result.bundles.length > 0) {
|
|
47
|
+
lines.push(`Bundles: ${result.bundles.map((bundle) => bundle.id).join(", ")}`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
lines.push("Bundles: none");
|
|
51
|
+
}
|
|
52
|
+
process.stdout.write(`${lines.join("\n")}\n`);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function collectOption(value, previous) {
|
|
56
|
+
return [...previous, value];
|
|
57
|
+
}
|
|
58
|
+
function resolvePath(filePath) {
|
|
59
|
+
return filePath.startsWith("/") ? filePath : path.resolve(process.cwd(), filePath);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=proxifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxifier.js","sourceRoot":"","sources":["../../../src/cli/commands/proxifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { getDefaultConfigPath, getDefaultRulesPath } from "../command-helpers.js";
|
|
2
|
+
import { runSetupFlow } from "./setup.js";
|
|
3
|
+
export function registerQuickstartCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("quickstart")
|
|
6
|
+
.description("Fast first-run flow: provide a subscription URL and one routing sentence, then prepare, verify, publish, schedule, and optionally run.")
|
|
7
|
+
.requiredOption("--subscription-url <url>", "subscription URL")
|
|
8
|
+
.requiredOption("-p, --prompt <text>", "one-sentence routing intent")
|
|
9
|
+
.option("-c, --config <path>", "path to builder config YAML", getDefaultConfigPath())
|
|
10
|
+
.option("--rules-out <path>", "path to generated custom-rules file", getDefaultRulesPath())
|
|
11
|
+
.option("--provider <provider>", "authoring provider: deterministic, auto, claude, exec")
|
|
12
|
+
.option("--author-timeout-ms <ms>", "timeout for local AI CLI authoring")
|
|
13
|
+
.option("--exec-command <command>", "command for the exec authoring provider")
|
|
14
|
+
.option("--exec-arg <arg>", "append one argument for the exec authoring provider", collectOption, [])
|
|
15
|
+
.option("--sing-box-bin <path>", "path to sing-box binary")
|
|
16
|
+
.option("--chrome-bin <path>", "path to Chrome binary")
|
|
17
|
+
.option("--label <label>", "LaunchAgent label", "org.singbox-iac.update")
|
|
18
|
+
.option("--launch-agents-dir <path>", "override LaunchAgents directory")
|
|
19
|
+
.option("--logs-dir <path>", "override launchd log directory")
|
|
20
|
+
.option("-f, --force", "overwrite generated files during first-time setup")
|
|
21
|
+
.option("--no-run", "prepare and publish, but do not keep sing-box in the foreground")
|
|
22
|
+
.option("--no-browser", "skip opening isolated browser windows during the foreground run")
|
|
23
|
+
.option("--no-load", "write the LaunchAgent without calling launchctl bootstrap")
|
|
24
|
+
.action(async (options) => {
|
|
25
|
+
await runSetupFlow({
|
|
26
|
+
config: options.config,
|
|
27
|
+
rulesOut: options.rulesOut,
|
|
28
|
+
subscriptionUrl: options.subscriptionUrl,
|
|
29
|
+
prompt: options.prompt,
|
|
30
|
+
...(options.provider ? { provider: options.provider } : {}),
|
|
31
|
+
...(options.authorTimeoutMs ? { authorTimeoutMs: options.authorTimeoutMs } : {}),
|
|
32
|
+
...(options.execCommand ? { execCommand: options.execCommand } : {}),
|
|
33
|
+
...(options.execArg.length > 0 ? { execArg: options.execArg } : { execArg: [] }),
|
|
34
|
+
...(options.singBoxBin ? { singBoxBin: options.singBoxBin } : {}),
|
|
35
|
+
...(options.chromeBin ? { chromeBin: options.chromeBin } : {}),
|
|
36
|
+
label: options.label,
|
|
37
|
+
...(options.launchAgentsDir ? { launchAgentsDir: options.launchAgentsDir } : {}),
|
|
38
|
+
...(options.logsDir ? { logsDir: options.logsDir } : {}),
|
|
39
|
+
...(options.force ? { force: options.force } : {}),
|
|
40
|
+
...(options.load !== undefined ? { load: options.load } : {}),
|
|
41
|
+
doctor: true,
|
|
42
|
+
verify: true,
|
|
43
|
+
apply: true,
|
|
44
|
+
ready: true,
|
|
45
|
+
installSchedule: true,
|
|
46
|
+
run: options.run !== false,
|
|
47
|
+
openBrowser: options.browser !== false,
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function collectOption(value, previous) {
|
|
52
|
+
return [...previous, value];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=quickstart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/cli/commands/quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,32 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
2
|
export declare function registerSetupCommand(program: Command): void;
|
|
3
|
+
export declare function runSetupFlow(options: SetupCommandOptions): Promise<void>;
|
|
4
|
+
export interface SetupCommandOptions {
|
|
5
|
+
readonly config: string;
|
|
6
|
+
readonly rulesOut: string;
|
|
7
|
+
readonly subscriptionUrl?: string;
|
|
8
|
+
readonly subscriptionFile?: string;
|
|
9
|
+
readonly prompt?: string;
|
|
10
|
+
readonly provider?: "deterministic" | "auto" | "claude" | "exec";
|
|
11
|
+
readonly authorTimeoutMs?: string;
|
|
12
|
+
readonly execCommand?: string;
|
|
13
|
+
readonly execArg: string[];
|
|
14
|
+
readonly skipRulesets?: boolean;
|
|
15
|
+
readonly skipBuild?: boolean;
|
|
16
|
+
readonly doctor?: boolean;
|
|
17
|
+
readonly verify?: boolean;
|
|
18
|
+
readonly apply?: boolean;
|
|
19
|
+
readonly reload?: boolean;
|
|
20
|
+
readonly run?: boolean;
|
|
21
|
+
readonly openBrowser?: boolean;
|
|
22
|
+
readonly ready?: boolean;
|
|
23
|
+
readonly singBoxBin?: string;
|
|
24
|
+
readonly chromeBin?: string;
|
|
25
|
+
readonly installSchedule?: boolean;
|
|
26
|
+
readonly label: string;
|
|
27
|
+
readonly launchAgentsDir?: string;
|
|
28
|
+
readonly logsDir?: string;
|
|
29
|
+
readonly proxifierOutDir?: string;
|
|
30
|
+
readonly force?: boolean;
|
|
31
|
+
readonly load?: boolean;
|
|
32
|
+
}
|