- 品牌替换:OpenCode/opencode → AirCoding/aircoding(16+ 文件) - Logo ASCII art:修复 left/right 行数不匹配导致的启动崩溃 - 启动诊断:添加 OPENCODE_PRINT_TIMING 计时探针 - dev 模式默认 --pure 跳过外部插件加载 - AGENTS.md 模板:追加 AirCoding 多 Agent 专项段落 - architect prompt + plugin:强化 AGENTS.md 产出验证
51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
import { Effect } from "effect"
|
|
import { Snapshot } from "../../../snapshot"
|
|
import { effectCmd } from "../../effect-cmd"
|
|
import { cmd } from "../cmd"
|
|
|
|
export const SnapshotCommand = cmd({
|
|
command: "snapshot",
|
|
describe: "snapshot debugging utilities",
|
|
builder: (yargs) => yargs.command(TrackCommand).command(PatchCommand).command(DiffCommand).demandCommand(),
|
|
async handler() {},
|
|
})
|
|
|
|
const TrackCommand = effectCmd({
|
|
command: "track",
|
|
describe: "track current snapshot state",
|
|
handler: Effect.fn("Cli.debug.snapshot.track")(function* () {
|
|
const out = yield* Snapshot.Service.use((svc) => svc.track())
|
|
console.log(out)
|
|
}),
|
|
})
|
|
|
|
const PatchCommand = effectCmd({
|
|
command: "patch <hash>",
|
|
describe: "show patch for a snapshot hash",
|
|
builder: (yargs) =>
|
|
yargs.positional("hash", {
|
|
type: "string",
|
|
description: "hash",
|
|
demandOption: true,
|
|
}),
|
|
handler: Effect.fn("Cli.debug.snapshot.patch")(function* (args) {
|
|
const out = yield* Snapshot.Service.use((svc) => svc.patch(args.hash))
|
|
console.log(out)
|
|
}),
|
|
})
|
|
|
|
const DiffCommand = effectCmd({
|
|
command: "diff <hash>",
|
|
describe: "show diff for a snapshot hash",
|
|
builder: (yargs) =>
|
|
yargs.positional("hash", {
|
|
type: "string",
|
|
description: "hash",
|
|
demandOption: true,
|
|
}),
|
|
handler: Effect.fn("Cli.debug.snapshot.diff")(function* (args) {
|
|
const out = yield* Snapshot.Service.use((svc) => svc.diff(args.hash))
|
|
console.log(out)
|
|
}),
|
|
})
|