mcpField
E
easy-cheese-setup

easy-cheese-setup

github.com/paulnsorensenAgent 工作流19495 次安装6 天前更新
代码仓库

关于 easy-cheese-setup

easy-cheese-setup 是用于交互式注册 Hallouminate 持久语料库和仓库租户的技能,面向需要跨会话搜索项目产物的用户。它先报告计划变更,再经确认后应用。

主要功能

  1. 01使用 doctor 预览变更
  2. 02注册持久语料库
  3. 03注册仓库租户
  4. 04索引 .cheese 产物目录
  5. 05变更需确认并使用 --apply

适用场景

  1. 01设置可跨会话搜索的语料库
  2. 02注册含有 .cheese 产物的仓库
  3. 03将产物目录加入机器级语料库
  4. 04应用前检查计划中的注册修复

MCP 相关

该技能要求先安装 Hallouminate MCP 服务,并负责交互式注册流程。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/paulnsorensen/easy-cheese --skill easy-cheese-setup

安装后在 Claude Code 中输入/easy-cheese-setup确认已加载。

附带文件references/commands.mdwedge.toml

详细介绍

/easy-cheese-setup

注册持久化的 cheese-durable Hallouminate 语料库。该语料库会让每个项目的 XDG 产物可跨会话搜索。

用户提出请求时,将当前仓库注册为 Hallouminate 租户。此流程具有幂等性,不会删除数据。

引擎是一个自包含的捆绑包,位于 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz。它有四个命令。每个命令只有在使用 --apply 时才会更改数据。未使用此选项时,每个命令只会生成报告。

python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz global    [--apply]                     # durable-corpus registration/repair
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz local     [--apply]                     # per-repository tenant registration
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz artifacts [--apply] [--root PATH ...]    # register every .cheese dir as one corpus
python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz doctor    [--apply]                     # all three legs

请先安装 Hallouminate MCP 服务。参见 README.md § Installing MCP servers。此技能负责交互式注册流程。

流程

先运行不带 --apply 的 doctor。它会报告三个部分计划执行的操作,但不会进行更改。将报告作为依据展示给用户,并征求确认。只应用用户批准的部分。

全局部分 — 持久化语料库
  • 如果目录不存在,则根据 paths.corpus_home() 创建目录。此操作可避免 Hallouminate issue #101。

  • 在 Hallouminate 配置文件中插入或替换带标记的 [[corpus]] 块。

  • 使用 config_path() 读取该文件。默认路径为 ~/.config/hallouminate/config.toml。

  • HALLOUMINATE_CONFIG 和 XDG_CONFIG_HOME 会覆盖此默认路径。不要假定使用默认路径。

  • 使用 # >>> easy-cheese:cheese-durable 作为起始标记。

  • 使用 # <<< easy-cheese:cheese-durable 作为结束标记。在两个标记中都写入标识符。

  • 不含标识符的结束标记不会关闭该块。此时重写会替换文件的其余内容。

  • 将该块指向 corpus_home()。第二次运行 global --apply 不会更改文件。

  • 使用 --apply 修正指向其他位置的带标记块。

  • 旧版迁移需要用户交互。 未带标记的 cheese-global → ~/.cheese 块已过时。展示报告并征求用户确认,然后使用显式迁移选项。安装程序绝不会使用此选项:

    python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz global --migrate-legacy --apply
    

    如果 cheese-global 块指向 ~/.cheese 以外的任何位置,则保持不变。

本地部分 — 仓库租户
  • 仅当以下两个必要条件都满足时,运行 hallouminate init-repo <name> --path <main-root>:仓库必须有 .cheese/ 产物,且尚未拥有 Hallouminate 租户。
  • 注册主仓库根目录。不要注册工作树。此规则可防止临时路径替换租户身份。
产物部分 — 机器范围的 .cheese 语料库

在新仓库积累了值得搜索的 .cheese 产物后,运行 artifacts。 Hallouminate 只有在 paths 条目直接指定该目录时,才会为被 git 忽略的 .cheese 目录编制索引,因此该块应列出每个 .cheese 目录,而不是共享的父目录。 磁盘上已不存在的 paths 条目会导致守护进程发出警告并跳过整个语料库。 完整扫描会移除不存在的条目;不完整扫描则会报告错误并保持该块不变。 如果 --apply 更改了文件,请运行 hallouminate daemon restart,然后运行 hallouminate index --corpus cheese-artifacts。

规则

  • 检测当前状态。报告拟议的更改。征求用户确认。每项会更改数据的操作都必须使用 --apply。
  • 仅使用导入的 paths.corpus_home() 作为持久化根目录的来源。不要硬编码 ~/.cheese 或任何 XDG 路径。
  • 默认情况下不要删除数据。
  • global --apply 会重写带标记的块,也会创建语料库目录。
  • 只有在用户确认后,才能移除旧版块。

参见生成的捆绑包命令清单,见 references/commands.md。

评论

支持 Markdown