easy-cheese-setup
Register the durable `cheese-durable` Hallouminate corpus. Repair the durable corpus when its configuration changes. Register the repository tenant. Repair the repository tenant when its configuration changes. Use this skill when the user requests durable corpus setup or repair.
Install
npx skills add https://github.com/paulnsorensen/easy-cheese/tree/main/skills/easy-cheese-setup
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install paulnsorensen-easy-cheese@llmmart
git clone https://github.com/paulnsorensen/easy-cheese.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole paulnsorensen/easy-cheese collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
/easy-cheese-setup
Register the durable cheese-durable Hallouminate corpus. The corpus makes each project's XDG artifacts searchable across sessions.
Register the current repository as a Hallouminate tenant when the user requests it. This process is idempotent. It does not delete data.
The engine is a self-contained bundle at skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz. It has three commands. Each command changes data only with --apply. Without this option, each command only reports.
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 doctor [--apply] # both legs
At installation, install.sh calls global --apply when --mcp includes hallouminate. This skill controls the interactive process.
Flow
Run doctor without --apply first. It reports the planned actions for both legs without changes. Show the report as evidence. Ask the user for confirmation. Apply only the approved legs.
Global leg — durable corpus
Create the directory from
paths.corpus_home()if it does not exist. This action prevents Hallouminate issue #101.Insert or replace the marked
[[corpus]]block in the Hallouminate configuration file.Read
config_path()for that file. Its default is~/.config/hallouminate/config.toml.HALLOUMINATE_CONFIGandXDG_CONFIG_HOMEoverride that default. Do not assume the default path.Use
# >>> easy-cheese:cheese-durableas the start marker.Use
# <<< easy-cheese:cheese-durableas the end marker. Write the identifier in both markers.An end marker without the identifier does not close the block. The rewrite then replaces the rest of the file.
Point the block at
corpus_home(). A secondglobal --applyleaves the file unchanged.Use
--applyto correct a marked block that points elsewhere.Legacy migration requires user interaction. An unmarked
cheese-global → ~/.cheeseblock is stale. Show the report. Ask the user for confirmation. Then use the explicit migration option. The installer never uses this option:python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz global --migrate-legacy --applyLeave a
cheese-globalblock unchanged if it points anywhere except~/.cheese.
Local leg — repository tenant
- Run
hallouminate init-repo <name> --path <main-root>when both required conditions are true. The repository must have.cheese/artifacts. It must not have a Hallouminate tenant. - Register the main repository root. Do not register a worktree. This rule prevents a temporary path from replacing the tenant identity.
Rules
- Detect the current state. Report proposed changes. Ask the user for confirmation. Require
--applyfor each operation that changes data. - Use the imported
paths.corpus_home()as the only source for the durable root. Do not hardcode~/.cheeseor an XDG path. - Do not delete data by default.
global --applyrewrites the marked block. It also creates the corpus directory.- Remove a legacy block only after user confirmation.
See the generated bundle command inventory in references/commands.md.
Files (easy-cheese)
-
references
-
commands.md 745 B
# `/easy-cheese-setup` bundle commands `scripts/render_generated_regions.py` generates this file from the static `COMMANDS` manifest in `src/easy_cheese/skills/easy_cheese_setup/commands.py`. Do not edit this file. Run each command as `python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz <command> [args...]`. Each command returns an integer exit status. Pass `--help` to a command for its arguments and output format. Keep worked examples in the skill instructions. | Command | Purpose | Subcommands | | --- | --- | --- | | `doctor` | Run both the global and local registration legs | | | `global` | Register or repair the durable Hallouminate corpus | | | `local` | Register or repair this repository's Hallouminate tenant | |
-
-
scripts
-
easy-cheese-setup.pyz 1.9 MB · in bundle
-
-
SKILL.md 3.9 KB
--- name: easy-cheese-setup description: > Register the durable `cheese-durable` Hallouminate corpus. Repair the durable corpus when its configuration changes. Register the repository tenant. Repair the repository tenant when its configuration changes. Use this skill when the user requests durable corpus setup or repair. Use it when the user requests repository tenant registration. Also use it when the user invokes /easy-cheese-setup. Use the wiki skills for general Hallouminate wiki work. Use scripts/install.sh to install the MCP server. license: MIT --- # /easy-cheese-setup Register the durable `cheese-durable` Hallouminate corpus. The corpus makes each project's XDG artifacts searchable across sessions. Register the current repository as a Hallouminate tenant when the user requests it. This process is idempotent. It does not delete data. The engine is a self-contained bundle at `skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz`. It has three commands. Each command changes data only with `--apply`. Without this option, each command only reports. ``` 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 doctor [--apply] # both legs ``` At installation, `install.sh` calls `global --apply` when `--mcp` includes `hallouminate`. This skill controls the interactive process. ## Flow Run `doctor` without `--apply` first. It reports the planned actions for both legs without changes. Show the report as evidence. Ask the user for confirmation. Apply only the approved legs. ### Global leg — durable corpus - Create the directory from `paths.corpus_home()` if it does not exist. This action prevents Hallouminate issue #101. - Insert or replace the marked `[[corpus]]` block in the Hallouminate configuration file. - Read `config_path()` for that file. Its default is `~/.config/hallouminate/config.toml`. - `HALLOUMINATE_CONFIG` and `XDG_CONFIG_HOME` override that default. Do not assume the default path. - Use `# >>> easy-cheese:cheese-durable` as the start marker. - Use `# <<< easy-cheese:cheese-durable` as the end marker. Write the identifier in both markers. - An end marker without the identifier does not close the block. The rewrite then replaces the rest of the file. - Point the block at `corpus_home()`. A second `global --apply` leaves the file unchanged. - Use `--apply` to correct a marked block that points elsewhere. - **Legacy migration requires user interaction.** An unmarked `cheese-global → ~/.cheese` block is stale. Show the report. Ask the user for confirmation. Then use the explicit migration option. The installer never uses this option: ```bash python3 skills/easy-cheese-setup/scripts/easy-cheese-setup.pyz global --migrate-legacy --apply ``` Leave a `cheese-global` block unchanged if it points anywhere except `~/.cheese`. ### Local leg — repository tenant - Run `hallouminate init-repo <name> --path <main-root>` when both required conditions are true. The repository must have `.cheese/` artifacts. It must not have a Hallouminate tenant. - Register the main repository root. Do not register a worktree. This rule prevents a temporary path from replacing the tenant identity. ## Rules - Detect the current state. Report proposed changes. Ask the user for confirmation. Require `--apply` for each operation that changes data. - Use the imported `paths.corpus_home()` as the only source for the durable root. Do not hardcode `~/.cheese` or an XDG path. - Do not delete data by default. - `global --apply` rewrites the marked block. It also creates the corpus directory. - Remove a legacy block only after user confirmation. See the generated bundle command inventory in [`references/commands.md`](references/commands.md).
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.