About easy-cheese-setup
easy-cheese-setup is a skill for interactively registering the Hallouminate durable corpus and repository tenants. It is intended for users setting up searchable project artifacts across sessions, with a report-first, confirmation-based process for changes.
Key features
- 01Previews changes with doctor
- 02Registers the durable corpus
- 03Registers repository tenants
- 04Indexes .cheese artifact directories
- 05Requires confirmation and --apply for changes
Use cases
- 01Set up a searchable corpus across sessions
- 02Register a repository containing .cheese artifacts
- 03Add artifact directories to the machine-wide corpus
- 04Review planned registration repairs before applying
MCP support
The skill requires the Hallouminate MCP server to be installed; it controls the interactive registration process.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ paulnsorensen/ easy-cheese --skill easy-cheese-setupAfter installing, type/easy-cheese-setupin Claude Code to confirm it loaded.
Bundled filesreferences/commands.mdwedge.toml
Details
From the project README/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 four 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 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
Install the Hallouminate MCP server first. See README.md § Installing MCP servers. This skill controls the interactive registration process.
Flow
Run doctor without --apply first. It reports the planned actions for all three 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.
Artifacts leg — machine-wide .cheese corpus
Run artifacts after new repositories accumulate .cheese artifacts worth searching.
Hallouminate indexes a gitignored .cheese dir only when a paths entry names that dir directly, so the block lists each .cheese directory, not a shared parent root.
A paths entry that no longer exists on disk makes the daemon skip the whole corpus with a warning.
A complete scan removes missing entries; an incomplete scan reports an error and leaves the block unchanged.
After an --apply that changes the file, run hallouminate daemon restart, then hallouminate index --corpus cheese-artifacts.
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.