@page.su/ai-blog-cli 0.1.0-beta.1 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +14 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/comments.js +1 -1
- package/dist/commands/comments.js.map +1 -1
- package/dist/commands/config.d.ts +12 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +128 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/demo.js +2 -2
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/post.d.ts.map +1 -1
- package/dist/commands/post.js +30 -3
- package/dist/commands/post.js.map +1 -1
- package/dist/commands/render-errors.d.ts +4 -0
- package/dist/commands/render-errors.d.ts.map +1 -0
- package/dist/commands/render-errors.js +22 -0
- package/dist/commands/render-errors.js.map +1 -0
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +67 -19
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/syntax.d.ts +4 -0
- package/dist/commands/syntax.d.ts.map +1 -0
- package/dist/commands/syntax.js +29 -0
- package/dist/commands/syntax.js.map +1 -0
- package/dist/config.d.ts +84 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +196 -29
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +150 -19
- package/dist/config.test.js.map +1 -1
- package/package.json +12 -6
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -100
- package/dist/index.js.map +0 -1
- package/dist/prompts/index.d.ts +0 -9
- package/dist/prompts/index.d.ts.map +0 -1
- package/dist/prompts/index.js +0 -178
- package/dist/prompts/index.js.map +0 -1
- package/dist/resources/syntax-spec.d.ts +0 -23
- package/dist/resources/syntax-spec.d.ts.map +0 -1
- package/dist/resources/syntax-spec.js +0 -105
- package/dist/resources/syntax-spec.js.map +0 -1
- package/dist/resources/syntax-spec.test.d.ts +0 -2
- package/dist/resources/syntax-spec.test.d.ts.map +0 -1
- package/dist/resources/syntax-spec.test.js +0 -47
- package/dist/resources/syntax-spec.test.js.map +0 -1
- package/dist/tools/build.d.ts +0 -13
- package/dist/tools/build.d.ts.map +0 -1
- package/dist/tools/build.js +0 -181
- package/dist/tools/build.js.map +0 -1
- package/dist/tools/code-repos.d.ts +0 -5
- package/dist/tools/code-repos.d.ts.map +0 -1
- package/dist/tools/code-repos.js +0 -149
- package/dist/tools/code-repos.js.map +0 -1
- package/dist/tools/comments.d.ts +0 -12
- package/dist/tools/comments.d.ts.map +0 -1
- package/dist/tools/comments.js +0 -87
- package/dist/tools/comments.js.map +0 -1
- package/dist/tools/demos.d.ts +0 -5
- package/dist/tools/demos.d.ts.map +0 -1
- package/dist/tools/demos.js +0 -98
- package/dist/tools/demos.js.map +0 -1
- package/dist/tools/glossary.d.ts +0 -4
- package/dist/tools/glossary.d.ts.map +0 -1
- package/dist/tools/glossary.js +0 -139
- package/dist/tools/glossary.js.map +0 -1
- package/dist/tools/helpers.d.ts +0 -44
- package/dist/tools/helpers.d.ts.map +0 -1
- package/dist/tools/helpers.js +0 -65
- package/dist/tools/helpers.js.map +0 -1
- package/dist/tools/knowledge.d.ts +0 -4
- package/dist/tools/knowledge.d.ts.map +0 -1
- package/dist/tools/knowledge.js +0 -140
- package/dist/tools/knowledge.js.map +0 -1
- package/dist/tools/math-concepts.d.ts +0 -4
- package/dist/tools/math-concepts.d.ts.map +0 -1
- package/dist/tools/math-concepts.js +0 -158
- package/dist/tools/math-concepts.js.map +0 -1
- package/dist/tools/posts.d.ts +0 -35
- package/dist/tools/posts.d.ts.map +0 -1
- package/dist/tools/posts.js +0 -278
- package/dist/tools/posts.js.map +0 -1
- package/dist/tools/scout.d.ts +0 -10
- package/dist/tools/scout.d.ts.map +0 -1
- package/dist/tools/scout.js +0 -111
- package/dist/tools/scout.js.map +0 -1
- package/dist/tools/series.d.ts +0 -12
- package/dist/tools/series.d.ts.map +0 -1
- package/dist/tools/series.js +0 -120
- package/dist/tools/series.js.map +0 -1
- package/dist/tools/syntax-capabilities.d.ts +0 -15
- package/dist/tools/syntax-capabilities.d.ts.map +0 -1
- package/dist/tools/syntax-capabilities.js +0 -859
- package/dist/tools/syntax-capabilities.js.map +0 -1
- package/dist/tools/taxonomy.d.ts +0 -4
- package/dist/tools/taxonomy.d.ts.map +0 -1
- package/dist/tools/taxonomy.js +0 -73
- package/dist/tools/taxonomy.js.map +0 -1
- package/dist/tools/uploads.d.ts +0 -15
- package/dist/tools/uploads.d.ts.map +0 -1
- package/dist/tools/uploads.js +0 -56
- package/dist/tools/uploads.js.map +0 -1
- package/dist/tools/workflows.d.ts +0 -9
- package/dist/tools/workflows.d.ts.map +0 -1
- package/dist/tools/workflows.js +0 -249
- package/dist/tools/workflows.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -15,7 +15,10 @@ import { registerSeriesCommands } from "./commands/series.js";
|
|
|
15
15
|
import { registerTaxonomyCommands } from "./commands/taxonomy.js";
|
|
16
16
|
import { registerCommentCommands } from "./commands/comments.js";
|
|
17
17
|
import { registerUploadCommands } from "./commands/uploads.js";
|
|
18
|
+
import { registerSyntaxCommands } from "./commands/syntax.js";
|
|
19
|
+
import { registerRenderErrorCommands } from "./commands/render-errors.js";
|
|
18
20
|
import { registerSkillsCommand } from "./commands/skills.js";
|
|
21
|
+
import { registerConfigCommands } from "./commands/config.js";
|
|
19
22
|
function readOwnVersion() {
|
|
20
23
|
const distDir = dirname(fileURLToPath(import.meta.url));
|
|
21
24
|
const pkgPath = resolve(distDir, "..", "package.json");
|
|
@@ -32,14 +35,16 @@ function readOwnVersion() {
|
|
|
32
35
|
* 创建延迟初始化的 ApiClient 代理。
|
|
33
36
|
*
|
|
34
37
|
* 在实际方法被调用时才加载配置和创建客户端,
|
|
35
|
-
* 这样 --help / --version / skills 等命令不需要环境变量也能运行。
|
|
38
|
+
* 这样 --help / --version / skills / config 等命令不需要环境变量也能运行。
|
|
39
|
+
* --env 全局选项在 action 触发时已由 commander 解析完毕,可从 program.opts() 读取。
|
|
36
40
|
*/
|
|
37
|
-
function createLazyApi() {
|
|
41
|
+
function createLazyApi(program) {
|
|
38
42
|
let cached = null;
|
|
39
43
|
return new Proxy({}, {
|
|
40
44
|
get(_, prop) {
|
|
41
45
|
if (cached === null) {
|
|
42
|
-
const
|
|
46
|
+
const opts = program.opts();
|
|
47
|
+
const config = loadCliConfig({ env: opts.env });
|
|
43
48
|
cached = createApiClient(config);
|
|
44
49
|
}
|
|
45
50
|
const value = Reflect.get(cached, prop);
|
|
@@ -48,12 +53,13 @@ function createLazyApi() {
|
|
|
48
53
|
});
|
|
49
54
|
}
|
|
50
55
|
async function main() {
|
|
51
|
-
const api = createLazyApi();
|
|
52
56
|
const program = new Command();
|
|
57
|
+
const api = createLazyApi(program);
|
|
53
58
|
program
|
|
54
59
|
.name("aib")
|
|
55
60
|
.description("AI Blog CLI — write, manage, and publish posts")
|
|
56
|
-
.version(readOwnVersion())
|
|
61
|
+
.version(readOwnVersion())
|
|
62
|
+
.option("-e, --env <name>", "Use a specific environment from .aib.env (e.g., prod, staging)");
|
|
57
63
|
registerPostCommands(program, api);
|
|
58
64
|
registerDemoCommands(program, api);
|
|
59
65
|
registerCodeRepoCommands(program, api);
|
|
@@ -64,7 +70,10 @@ async function main() {
|
|
|
64
70
|
registerTaxonomyCommands(program, api);
|
|
65
71
|
registerCommentCommands(program, api);
|
|
66
72
|
registerUploadCommands(program, api);
|
|
73
|
+
registerSyntaxCommands(program, api);
|
|
74
|
+
registerRenderErrorCommands(program, api);
|
|
67
75
|
registerSkillsCommand(program);
|
|
76
|
+
registerConfigCommands(program);
|
|
68
77
|
program.parse();
|
|
69
78
|
}
|
|
70
79
|
main().catch((error) => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ export function registerCommentCommands(program, api) {
|
|
|
47
47
|
.description("List all enabled AI comment bots")
|
|
48
48
|
.option("--json", "Output as JSON")
|
|
49
49
|
.action(async (opts) => {
|
|
50
|
-
await run(() => api.get("/api/cli/ai-comments"), isJson(opts));
|
|
50
|
+
await run(() => api.get("/api/cli/ai-comments/bots"), isJson(opts));
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
//# sourceMappingURL=comments.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,GAAc;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAEtF,uBAAuB;IACvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;SAClD,cAAc,CAAC,uBAAuB,EAAE,oDAAoD,CAAC;SAC7F,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEL,4BAA4B;IAC5B,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;SACjF,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC1D,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9C,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEL,qBAAqB;IACrB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/commands/comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* `aib config` — 多环境配置管理。
|
|
4
|
+
*
|
|
5
|
+
* 子命令:
|
|
6
|
+
* aib config list 列出所有环境
|
|
7
|
+
* aib config show [name] 查看环境详情(默认环境 / 顶层)
|
|
8
|
+
* aib config add <name> 添加或更新环境
|
|
9
|
+
* aib config use <name> 设置默认环境
|
|
10
|
+
*/
|
|
11
|
+
export declare function registerConfigCommands(program: Command): void;
|
|
12
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4H7D"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { createInterface } from "node:readline/promises";
|
|
2
|
+
import { stdin, stdout } from "node:process";
|
|
3
|
+
import { addEnvironment, getGlobalEnvPath, getLocalEnvPath, listEnvironments, setDefaultEnv, showEnvironment, } from "../config.js";
|
|
4
|
+
/**
|
|
5
|
+
* `aib config` — 多环境配置管理。
|
|
6
|
+
*
|
|
7
|
+
* 子命令:
|
|
8
|
+
* aib config list 列出所有环境
|
|
9
|
+
* aib config show [name] 查看环境详情(默认环境 / 顶层)
|
|
10
|
+
* aib config add <name> 添加或更新环境
|
|
11
|
+
* aib config use <name> 设置默认环境
|
|
12
|
+
*/
|
|
13
|
+
export function registerConfigCommands(program) {
|
|
14
|
+
const config = program.command("config").description("Manage multi-environment configuration");
|
|
15
|
+
// ── config list ──
|
|
16
|
+
config
|
|
17
|
+
.command("list")
|
|
18
|
+
.description("List all configured environments")
|
|
19
|
+
.action(() => {
|
|
20
|
+
const { environments, defaultEnv } = listEnvironments();
|
|
21
|
+
if (environments.length === 0) {
|
|
22
|
+
console.log("No environments configured.");
|
|
23
|
+
console.log("");
|
|
24
|
+
console.log("Add one:");
|
|
25
|
+
console.log(" aib config add prod --base-url https://blog.example.com --pat aib_pat_xxx");
|
|
26
|
+
console.log("");
|
|
27
|
+
console.log("Or edit the config file directly:");
|
|
28
|
+
console.log(` ${getGlobalEnvPath()} (global)`);
|
|
29
|
+
console.log(` ${getLocalEnvPath()} (local, project-level)`);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log(`Config files:`);
|
|
33
|
+
console.log(` global: ${getGlobalEnvPath()}`);
|
|
34
|
+
console.log(` local: ${getLocalEnvPath()}`);
|
|
35
|
+
console.log("");
|
|
36
|
+
console.log(`Environments:`);
|
|
37
|
+
for (const env of environments) {
|
|
38
|
+
const marker = env.name === defaultEnv ? " (default)" : "";
|
|
39
|
+
const src = env.source === "both" ? "" : ` [${env.source}]`;
|
|
40
|
+
console.log(` ${env.name}${marker}${src}`);
|
|
41
|
+
console.log(` base-url: ${env.baseUrl ?? "(not set)"}`);
|
|
42
|
+
console.log(` pat: ${env.hasPat ? "✓ configured" : "✗ missing"}`);
|
|
43
|
+
}
|
|
44
|
+
console.log("");
|
|
45
|
+
console.log("Use --env <name> or 'aib config use <name>' to switch.");
|
|
46
|
+
});
|
|
47
|
+
// ── config show [name] ──
|
|
48
|
+
config
|
|
49
|
+
.command("show [name]")
|
|
50
|
+
.description("Show configuration for a specific environment (or default if omitted)")
|
|
51
|
+
.action((name) => {
|
|
52
|
+
const info = showEnvironment(name);
|
|
53
|
+
if (!info) {
|
|
54
|
+
console.error(`Error: Environment "${name}" not found.`);
|
|
55
|
+
process.exitCode = 1;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (info.name === null) {
|
|
59
|
+
console.error("No default environment set. Use 'aib config use <name>' to set one, or specify a name: 'aib config show <name>'.");
|
|
60
|
+
process.exitCode = 1;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
console.log(`Environment: ${info.name}`);
|
|
64
|
+
console.log(` base-url: ${info.baseUrl ?? "(not set)"}`);
|
|
65
|
+
console.log(` pat: ${info.hasPat ? "✓ configured" : "✗ missing"}`);
|
|
66
|
+
if (info.requestTimeoutMs) {
|
|
67
|
+
console.log(` timeout: ${info.requestTimeoutMs}ms`);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
// ── config add <name> ──
|
|
71
|
+
config
|
|
72
|
+
.command("add <name>")
|
|
73
|
+
.description("Add or update an environment configuration")
|
|
74
|
+
.option("--base-url <url>", "API base URL (e.g., https://blog.example.com)")
|
|
75
|
+
.option("--pat <token>", "Personal Access Token (aib_pat_xxx)")
|
|
76
|
+
.action(async (name, opts) => {
|
|
77
|
+
let baseUrl = opts.baseUrl;
|
|
78
|
+
let pat = opts.pat;
|
|
79
|
+
// 交互式补全缺失值
|
|
80
|
+
if (!baseUrl || !pat) {
|
|
81
|
+
const rl = createInterface({ input: stdin, output: stdout });
|
|
82
|
+
try {
|
|
83
|
+
if (!baseUrl) {
|
|
84
|
+
baseUrl = (await rl.question("Base URL: ")).trim();
|
|
85
|
+
}
|
|
86
|
+
if (!pat) {
|
|
87
|
+
pat = (await rl.question("PAT: ")).trim();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
rl.close();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (!baseUrl) {
|
|
95
|
+
console.error("Error: --base-url is required.");
|
|
96
|
+
process.exitCode = 1;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (!pat) {
|
|
100
|
+
console.error("Error: --pat is required.");
|
|
101
|
+
process.exitCode = 1;
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
addEnvironment(name, baseUrl, pat);
|
|
105
|
+
console.log(`✓ Environment "${name}" saved to ${getLocalEnvPath()}`);
|
|
106
|
+
console.log("");
|
|
107
|
+
console.log("Use it:");
|
|
108
|
+
console.log(` aib --env ${name} post list # one-off`);
|
|
109
|
+
console.log(` aib config use ${name} # set as default`);
|
|
110
|
+
});
|
|
111
|
+
// ── config use <name> ──
|
|
112
|
+
config
|
|
113
|
+
.command("use <name>")
|
|
114
|
+
.description("Set the default environment")
|
|
115
|
+
.action((name) => {
|
|
116
|
+
try {
|
|
117
|
+
setDefaultEnv(name);
|
|
118
|
+
console.log(`✓ Default environment set to "${name}"`);
|
|
119
|
+
console.log(` Written to: ${getLocalEnvPath()}`);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
123
|
+
console.error(`Error: ${message}`);
|
|
124
|
+
process.exitCode = 1;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/demo.js
CHANGED
|
@@ -25,10 +25,10 @@ export function registerDemoCommands(program, api) {
|
|
|
25
25
|
.option("--tailwind", "Enable Tailwind Play CDN")
|
|
26
26
|
.option("--cdn <urls...>", "External CDN URLs (https only)")
|
|
27
27
|
.option("--height <n>", "iframe initial height in pixels (80-720)")
|
|
28
|
-
.
|
|
28
|
+
.option("--files-file <path>", "JSON file with files array (omit for empty skeleton, then use 'patch-file' to add files incrementally)")
|
|
29
29
|
.option("--json", "Output as JSON")
|
|
30
30
|
.action(async (postId, slot, opts) => {
|
|
31
|
-
const files = JSON.parse(readContent(opts.filesFile));
|
|
31
|
+
const files = opts.filesFile ? JSON.parse(readContent(opts.filesFile)) : [];
|
|
32
32
|
const meta = {};
|
|
33
33
|
if (opts.tailwind)
|
|
34
34
|
meta.tailwind = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,GAAc;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAE3E,kBAAkB;IAClB,IAAI;SACD,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,IAAI;SACD,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACnC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,UAAU,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3H,CAAC,CAAC,CAAC;IAEL,oBAAoB;IACpB,IAAI;SACD,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC;SACvC,MAAM,CAAC,YAAY,EAAE,0BAA0B,CAAC;SAChD,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SAC3D,MAAM,CAAC,cAAc,EAAE,0CAA0C,CAAC;SAClE,
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/commands/demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/commands/post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/commands/post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAgO3E"}
|
package/dist/commands/post.js
CHANGED
|
@@ -43,6 +43,8 @@ export function registerPostCommands(program, api) {
|
|
|
43
43
|
.option("--stdin", "Read content from stdin")
|
|
44
44
|
.option("--status <status>", "Post status: draft or published (default: draft)")
|
|
45
45
|
.option("--excerpt <excerpt>", "Post excerpt")
|
|
46
|
+
.option("--category-ids <ids...>", "Category IDs (space-separated, use 'aib taxonomy list' to get IDs)")
|
|
47
|
+
.option("--tag-ids <ids...>", "Tag IDs (space-separated, use 'aib taxonomy list' to get IDs)")
|
|
46
48
|
.option("--cover-image <url>", "Cover image URL")
|
|
47
49
|
.option("--seo-title <title>", "SEO title")
|
|
48
50
|
.option("--seo-description <desc>", "SEO description")
|
|
@@ -58,6 +60,10 @@ export function registerPostCommands(program, api) {
|
|
|
58
60
|
body.status = opts.status;
|
|
59
61
|
if (opts.excerpt)
|
|
60
62
|
body.excerpt = opts.excerpt;
|
|
63
|
+
if (opts.categoryIds)
|
|
64
|
+
body.categoryIds = opts.categoryIds;
|
|
65
|
+
if (opts.tagIds)
|
|
66
|
+
body.tagIds = opts.tagIds;
|
|
61
67
|
if (opts.coverImage)
|
|
62
68
|
body.coverImage = opts.coverImage;
|
|
63
69
|
if (opts.seoTitle)
|
|
@@ -73,20 +79,24 @@ export function registerPostCommands(program, api) {
|
|
|
73
79
|
// ── post update ──
|
|
74
80
|
post
|
|
75
81
|
.command("update <id>")
|
|
76
|
-
.description("
|
|
77
|
-
.
|
|
82
|
+
.description("Update a post. Only fields you pass will be changed. For large posts, use 'outline' + 'replace-section' instead")
|
|
83
|
+
.option("--title <title>", "Post title (omit to keep current)")
|
|
78
84
|
.option("--content-file <path>", "Read content from file")
|
|
79
85
|
.option("--stdin", "Read content from stdin")
|
|
80
86
|
.option("--slug <slug>", "Post slug")
|
|
81
87
|
.option("--status <status>", "Post status: draft or published")
|
|
82
88
|
.option("--excerpt <excerpt>", "Post excerpt")
|
|
89
|
+
.option("--category-ids <ids...>", "Category IDs (space-separated)")
|
|
90
|
+
.option("--tag-ids <ids...>", "Tag IDs (space-separated)")
|
|
83
91
|
.option("--cover-image <url>", "Cover image URL")
|
|
84
92
|
.option("--seo-title <title>", "SEO title")
|
|
85
93
|
.option("--seo-description <desc>", "SEO description")
|
|
86
94
|
.option("--canonical-url <url>", "Canonical URL")
|
|
87
95
|
.option("--json", "Output as JSON")
|
|
88
96
|
.action(async (id, opts) => {
|
|
89
|
-
const body = {
|
|
97
|
+
const body = {};
|
|
98
|
+
if (opts.title)
|
|
99
|
+
body.title = opts.title;
|
|
90
100
|
if (opts.contentFile || opts.stdin) {
|
|
91
101
|
body.content = opts.stdin ? readStdin() : readContent(opts.contentFile);
|
|
92
102
|
}
|
|
@@ -96,6 +106,10 @@ export function registerPostCommands(program, api) {
|
|
|
96
106
|
body.status = opts.status;
|
|
97
107
|
if (opts.excerpt)
|
|
98
108
|
body.excerpt = opts.excerpt;
|
|
109
|
+
if (opts.categoryIds)
|
|
110
|
+
body.categoryIds = opts.categoryIds;
|
|
111
|
+
if (opts.tagIds)
|
|
112
|
+
body.tagIds = opts.tagIds;
|
|
99
113
|
if (opts.coverImage)
|
|
100
114
|
body.coverImage = opts.coverImage;
|
|
101
115
|
if (opts.seoTitle)
|
|
@@ -192,6 +206,19 @@ export function registerPostCommands(program, api) {
|
|
|
192
206
|
content,
|
|
193
207
|
}), isJson(opts));
|
|
194
208
|
});
|
|
209
|
+
// ── post delete-section ──
|
|
210
|
+
post
|
|
211
|
+
.command("delete-section <id>")
|
|
212
|
+
.description("Delete a section by --index or --heading")
|
|
213
|
+
.option("--index <n>", "Section index (0-based, from 'outline')")
|
|
214
|
+
.option("--heading <text>", "Section heading text")
|
|
215
|
+
.option("--json", "Output as JSON")
|
|
216
|
+
.action(async (id, opts) => {
|
|
217
|
+
await run(() => api.patch(`/api/cli/posts/${encodeURIComponent(id)}/delete-section`, {
|
|
218
|
+
sectionIndex: opts.index !== undefined ? parseInt(opts.index, 10) : undefined,
|
|
219
|
+
sectionHeading: opts.heading,
|
|
220
|
+
}), isJson(opts));
|
|
221
|
+
});
|
|
195
222
|
// ── post validate ──
|
|
196
223
|
post
|
|
197
224
|
.command("validate")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/commands/post.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/commands/post.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-errors.d.ts","sourceRoot":"","sources":["../../src/commands/render-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAwBlF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { run, isJson } from "./helpers.js";
|
|
2
|
+
export function registerRenderErrorCommands(program, api) {
|
|
3
|
+
const renderErrors = program
|
|
4
|
+
.command("render-errors")
|
|
5
|
+
.description("Query Mermaid / diagram render errors reported by front-end readers");
|
|
6
|
+
// ── render-errors list ──
|
|
7
|
+
renderErrors
|
|
8
|
+
.command("list")
|
|
9
|
+
.description("List render errors (paginated, newest first)")
|
|
10
|
+
.option("--post-id <uuid>", "Filter by post id (uuid)")
|
|
11
|
+
.option("--page <number>", "Page number (default 1)", "1")
|
|
12
|
+
.option("--page-size <number>", "Items per page (default 20, max 100)", "20")
|
|
13
|
+
.option("--json", "Output as JSON")
|
|
14
|
+
.action(async (opts) => {
|
|
15
|
+
await run(() => api.get("/api/cli/render-errors", {
|
|
16
|
+
postId: opts.postId,
|
|
17
|
+
page: opts.page,
|
|
18
|
+
pageSize: opts.pageSize,
|
|
19
|
+
}), isJson(opts));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=render-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-errors.js","sourceRoot":"","sources":["../../src/commands/render-errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,UAAU,2BAA2B,CAAC,OAAgB,EAAE,GAAc;IAC1E,MAAM,YAAY,GAAG,OAAO;SACzB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qEAAqE,CAAC,CAAC;IAEtF,2BAA2B;IAC3B,YAAY;SACT,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;SACtD,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,GAAG,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,EAAE,IAAI,CAAC;SAC5E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,GAAG,CACP,GAAG,EAAE,CACH,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,EACJ,MAAM,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO5D"}
|
package/dist/commands/skills.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Agent skills 速查表 (~
|
|
2
|
+
* Agent skills 速查表 (~600 tokens)。
|
|
3
3
|
*
|
|
4
4
|
* 适合注入 Agent system prompt,让 Agent 快速了解可用命令。
|
|
5
5
|
* Agent 不确定用法时调 `aib <command> --help` 按需获取详情。
|
|
@@ -11,26 +11,72 @@
|
|
|
11
11
|
*/
|
|
12
12
|
const SKILLS_MD = `# ai-blog CLI (aib)
|
|
13
13
|
|
|
14
|
-
Env: AI_BLOG_BASE_URL + AI_BLOG_PAT
|
|
14
|
+
Env: AI_BLOG_BASE_URL + AI_BLOG_PAT (or multi-env: \`aib config add prod --base-url <url> --pat <token>\` → \`aib -e prod post list\`)
|
|
15
15
|
|
|
16
16
|
## Write a post
|
|
17
17
|
1. \`aib taxonomy list --json\` — get category/tag IDs
|
|
18
18
|
2. \`aib post create --title "Title" --content-file draft.md --status draft\` — create
|
|
19
|
-
3. \`aib post
|
|
20
|
-
4. \`aib post
|
|
19
|
+
3. \`aib post update <id> --content-file new.md\` — update (only fields you pass change; --title optional)
|
|
20
|
+
4. \`aib post validate --content-file draft.md\` — validate (fix errors before publish)
|
|
21
|
+
5. \`aib post publish <id>\` — publish
|
|
21
22
|
|
|
22
23
|
## Long posts (>5000 words, save tokens)
|
|
23
24
|
1. \`aib post outline <id>\` — get section outline
|
|
24
25
|
2. \`aib post section <id> --index 3\` — read section 3
|
|
25
26
|
3. \`aib post replace-section <id> --index 3 --content-file new.md\` — replace section
|
|
26
|
-
4. \`aib post
|
|
27
|
-
5. \`aib post
|
|
27
|
+
4. \`aib post delete-section <id> --index 3\` — delete section
|
|
28
|
+
5. \`aib post append <id> --content-file chapter.md\` — append new chapter
|
|
29
|
+
6. \`aib post insert-section <id> --after-index 2 --content-file section.md\` — insert
|
|
28
30
|
|
|
29
|
-
##
|
|
31
|
+
## Advanced Markdown syntax
|
|
32
|
+
Use these in post content for rich rendering. Build with \`aib build\` or write directly.
|
|
33
|
+
Sections: overview, frontmatter, callout, mermaid, live-demo, math, image-attributes, image-gallery, footnote, site-post-reference
|
|
34
|
+
Read full docs: \`aib syntax get live-demo\` or \`aib syntax get math\`
|
|
35
|
+
|
|
36
|
+
### Reference (academic/blog citations)
|
|
37
|
+
\`\`\`ref key=vaswani2017 title="Attention Is All You Need" type=paper
|
|
38
|
+
Authors: Vaswani et al. | Source: NeurIPS 2017 | URL: https://arxiv.org/abs/1706.03762
|
|
39
|
+
\`\`\`
|
|
40
|
+
Build: \`aib build reference --key "..." --title "..." --type paper --url "..." --authors "..." --source "..." --json\`
|
|
41
|
+
|
|
42
|
+
### Live Demo (interactive iframe sandbox)
|
|
43
|
+
\`\`\`live-demo title="Counter" tailwind height=300
|
|
44
|
+
/* @tab index.html */ <button>Click</button>
|
|
45
|
+
/* @tab script.js */ console.log('hi')
|
|
46
|
+
\`\`\`
|
|
47
|
+
Build: \`aib build live-demo --title "..." --files-file files.json --tailwind --height 300\`
|
|
48
|
+
|
|
49
|
+
### Code Group (multi-tab code switcher)
|
|
50
|
+
\`\`\`code-group
|
|
51
|
+
/* @tab TypeScript */ const x: number = 1;
|
|
52
|
+
/* @tab JavaScript */ var x = 1;
|
|
53
|
+
\`\`\`
|
|
54
|
+
Build: \`aib build code-group tabs.json\` (tabs.json: [{label, lang?, code}])
|
|
55
|
+
|
|
56
|
+
### Details (folding block)
|
|
57
|
+
:::details title="Expand for details"
|
|
58
|
+
Hidden content here
|
|
59
|
+
:::
|
|
60
|
+
Build: \`aib build details --title "..." --content-file body.md\`
|
|
61
|
+
|
|
62
|
+
### Timeline
|
|
63
|
+
:::timeline
|
|
64
|
+
- time: 2017 | title: Transformer | content: Attention mechanism
|
|
65
|
+
- time: 2020 | title: GPT-3 | active: true
|
|
66
|
+
:::
|
|
67
|
+
Build: \`aib build timeline --events-file events.json\`
|
|
68
|
+
|
|
69
|
+
### Image (with width/align/ratio)
|
|
70
|
+
{width=50 align=center ratio=16:9}
|
|
71
|
+
Build: \`aib build image --url "..." --alt "..." --width 50 --align center\`
|
|
72
|
+
|
|
73
|
+
## Demos (incremental write for large demos)
|
|
74
|
+
1. \`aib demo upsert <postId> <slot> --title "Demo" --tailwind --height 300\` — create skeleton (no files needed)
|
|
75
|
+
2. \`aib demo patch-file <postId> <slot> index.html --content-file index.html\` — add file
|
|
76
|
+
3. \`aib demo patch-file <postId> <slot> script.js --content-file script.js\` — add another file
|
|
30
77
|
- \`aib demo list <postId>\` — list demos (slot, title, file sizes)
|
|
31
78
|
- \`aib demo get-file <postId> <slot> <fileName>\` — read single file (preferred)
|
|
32
|
-
- \`aib demo patch-file
|
|
33
|
-
- \`aib demo upsert <postId> <slot> --files-file files.json\` — create/replace demo
|
|
79
|
+
- \`aib demo patch-file\` also updates existing files (upsert)
|
|
34
80
|
|
|
35
81
|
## Code repositories
|
|
36
82
|
- \`aib code-repo get <postId>\` — get repo linked to post
|
|
@@ -51,18 +97,20 @@ Env: AI_BLOG_BASE_URL + AI_BLOG_PAT
|
|
|
51
97
|
- \`aib series create --slug "guide" --title "Guide"\`
|
|
52
98
|
- \`aib series add-post <seriesId> <postId>\`
|
|
53
99
|
|
|
54
|
-
## Build syntax blocks
|
|
55
|
-
- \`aib build frontmatter --title "..." --status draft\`
|
|
56
|
-
- \`aib build image --url "..." --alt "..." --width 50\`
|
|
57
|
-
- \`aib build reference --key "vaswani2017" --title "..." --type paper\`
|
|
58
|
-
- \`aib build live-demo --title "Demo" --files-file files.json\`
|
|
59
|
-
- \`aib build code-group tabs.json\`
|
|
60
|
-
- \`aib build details --title "Details" --content-file body.md\`
|
|
61
|
-
- \`aib build timeline --events-file events.json\`
|
|
62
|
-
|
|
63
100
|
## Upload images
|
|
64
101
|
- \`aib upload image-from-url <url>\` — upload to blog OSS
|
|
65
102
|
|
|
103
|
+
## Render errors
|
|
104
|
+
- \`aib render-errors list\` — list Mermaid/diagram render errors
|
|
105
|
+
- \`aib render-errors list --post-id <uuid>\` — filter by post
|
|
106
|
+
- \`aib render-errors list --page 2 --page-size 50\` — paginate
|
|
107
|
+
|
|
108
|
+
## Multi-environment
|
|
109
|
+
- \`aib config list\` — list all environments
|
|
110
|
+
- \`aib config add prod --base-url <url> --pat <token>\` — add/update env
|
|
111
|
+
- \`aib config use prod\` — set default env
|
|
112
|
+
- \`aib -e prod post list\` — one-off env override
|
|
113
|
+
|
|
66
114
|
## Conventions
|
|
67
115
|
- Add \`--json\` for structured JSON output
|
|
68
116
|
- Use \`--content-file <path>\` for large content
|
|
@@ -71,7 +119,7 @@ Env: AI_BLOG_BASE_URL + AI_BLOG_PAT
|
|
|
71
119
|
export function registerSkillsCommand(program) {
|
|
72
120
|
program
|
|
73
121
|
.command("skills")
|
|
74
|
-
.description("Output a lightweight skills reference for Agent system prompts (~
|
|
122
|
+
.description("Output a lightweight skills reference for Agent system prompts (~600 tokens)")
|
|
75
123
|
.action(() => {
|
|
76
124
|
console.log(SKILLS_MD);
|
|
77
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA0GiC,CAAC;AAEpD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax.d.ts","sourceRoot":"","sources":["../../src/commands/syntax.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CA2B7E"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { run, isJson } from "./helpers.js";
|
|
2
|
+
export function registerSyntaxCommands(program, api) {
|
|
3
|
+
const syntax = program
|
|
4
|
+
.command("syntax")
|
|
5
|
+
.description("Read advanced Markdown syntax documentation");
|
|
6
|
+
// ── syntax list ──
|
|
7
|
+
syntax
|
|
8
|
+
.command("list")
|
|
9
|
+
.description("List all syntax spec sections (names + descriptions)")
|
|
10
|
+
.option("--json", "Output as JSON")
|
|
11
|
+
.action(async (opts) => {
|
|
12
|
+
await run(() => api.get("/api/cli/syntax-spec/overview"), isJson(opts));
|
|
13
|
+
});
|
|
14
|
+
// ── syntax get <section> ──
|
|
15
|
+
syntax
|
|
16
|
+
.command("get <section>")
|
|
17
|
+
.description("Read a single syntax spec section (full documentation)")
|
|
18
|
+
.option("--json", "Output as JSON")
|
|
19
|
+
.action(async (section, opts) => {
|
|
20
|
+
const text = await api.getText(`/api/cli/syntax-spec/${encodeURIComponent(section)}`);
|
|
21
|
+
if (isJson(opts)) {
|
|
22
|
+
console.log(JSON.stringify({ section, content: text }));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.log(text);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=syntax.js.map
|