关于 easy-cheese-setup
easy-cheese-setup 是用于交互式注册 Hallouminate 持久语料库和仓库租户的技能,面向需要跨会话搜索项目产物的用户。它先报告计划变更,再经确认后应用。
主要功能
- 01使用 doctor 预览变更
- 02注册持久语料库
- 03注册仓库租户
- 04索引 .cheese 产物目录
- 05变更需确认并使用 --apply
适用场景
- 01设置可跨会话搜索的语料库
- 02注册含有 .cheese 产物的仓库
- 03将产物目录加入机器级语料库
- 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。