Skip to content

keel v0.7.0: 优雅退出(keel deinit)

Choose a tag to compare

@shiftu shiftu released this 11 Sep 10:24
· 1 commit to main since this release

新增

  • keel deinit [--purge] [--dry-run]:init 的逆操作,从仓库里优雅退出。
    只带走 keel 自己写过的东西——所有权唯一来源是 generated.yaml 的 digest/owned_json
    和 git hook 里的 # keel:begin 标记,不猜、不按文件名或路径推测。

    顺序是 init 的严格倒序,先撤依赖 .keel/ 的部分,最后才碰 .keel/:

    1. 工具侧产物:技能副本、.claude/rules/keel.md 这类整文件删掉;CLAUDE.md /
      AGENTS.md / .codex/config.toml 只去掉标记块;.claude/settings.json /
      .codex/hooks.json / .mcp.json 只撤 keel 写过的那几条。块外内容、你自己的
      hook 条目、别的字段一律原样保留,去掉 keel 的部分后什么都不剩才删文件。
    2. git hook:含 keel 标记的才动。--adopt-hooks 串联过的把原脚本从
      .keel-local 换回去;不含标记的是别人的,一个字节不碰。
    3. .keel/cache/ 清掉。
    4. .keel/ 默认保留——决策、规则、记忆、证据是项目的记录,不是工具的产物。

    托管内容被人手改过就报冲突、一个文件都不写,退出码 1,和 sync 同一条规则。
    --purge 才连 .keel/ 一起删,且要求它在 git 里是干净的,没有跳过开关。

    退出后 keel init 能原地接回来:keel.yaml 没动过,tools 和 mcp 都还在。

升级

keel update

或者重新跑一次安装脚本:

curl -fsSL https://raw.githubusercontent.com/shiftu/keel/main/install.sh | bash

校验

sha256sum -c SHA256SUMS --ignore-missing