Skip to content

feat(core): built-in /dag-init and /dag-auto commands #308

Description

@LeXwDeX

目标

/dag-init/dag-auto 编译进单体二进制,确保只安装 opencode 即可跑通全链路(grilling 共识:内置保底、用户文件同名覆盖)。

/dag-init — 平台握手与就绪检查

  • 仅 GitHub/GitLab(含自建);其他 host 探测后硬拒绝
  • 默认绑 origin;origin≠upstream 时一问记录
  • 探针:issue 读、push、CI 存在性、rulesets —— 全过才写 .opencode/dag-init.json(唯一本地状态,连接配置非工作流状态,可提交)
  • 幂等:已存在则刷新

/dag-auto — 超流入口

  • 分类器是本命令内化的方法论(处置分类、模板优先、路由留父对话),不调用任何外部 skill
  • 宽泛请求→六积木超流全组装;窄请求→单积木跑完即止
  • 六积木:探索→设计→开发→测试验收→编译释放(可选)→汇总;积木间检查点(路线见 opencode-dag-config#11)
  • 自动契约:不问"继续";唯一打断=用户型决策(spec 确认点/product-dpc/发布人工门/上限击穿)
  • 监听只认 issue-closed/PR-merged/CI checks;远端真相、重入对账续跑

实现位置(既有先例)

  • packages/core/src/plugin/command/ 新增两个模板文件(DagFlowContent 同款通道)
  • packages/core/src/plugin/command.ts:导入+导出+Plugin draft.update
  • packages/opencode/src/command/index.ts:Default 注册表 + commands 登记
  • 测试:core command.test.ts 内容断言 + 注册表断言

验收

bun typecheck + 包内测试全绿;新会话命令可用。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions