Installed layout¶
Stockroom installs as a Plugin into your chosen harness, but it has some surprises:
- it carries a whole python app inside the
sr-searchskill - The setup (
sr-initializeskill) will put some things on your machine:- a
stockroomCLI on your PATH - a
warehouse.duckdbfile in$XDG_DATA_HOME/stockroom(~/.local/share/stockroomby default) - (optional) a
crontaborlaunchdschedule entry for nightly ingest + embed
- a
Plugin payload¶
This all lands in wherever your chosen harness stores plugin data:
| Path | Role |
|---|---|
.cursor-plugin/plugin.json / .claude-plugin/plugin.json |
Harness manifests; same skills tree underneath |
skills/sr-* |
Skill wrappers (SKILL.md) agents invoke |
skills/sr-search/ |
Python engine (uv project, warehouse, dashboard, CLI) |
hooks/ |
Session-start hooks (dashboard + shim rectify — never ingest/migrate) |
Runtime home¶
After sr-initialize, machine-local state lives under stockroom home — $XDG_DATA_HOME/stockroom or ~/.local/share/stockroom, overridable with STOCKROOM_HOME:
| Path | What it is |
|---|---|
$STOCKROOM_HOME/warehouse.duckdb |
DuckDB warehouse: session/message/tool/embedding tables |
$STOCKROOM_HOME/torch-requirements.txt |
Torch freeze: hashed requirements so heal can reinstall the same wheel (Torch) |
$STOCKROOM_HOME/torch-index |
Torch index sidecar: https wheel index URL used when the freeze was written (Torch) |
$XDG_CONFIG_HOME/stockroom/config.toml (or ~/.config/stockroom/config.toml by default) |
Optional settings: distinct from data home; today additive Cursor ai_tracking_dbs pins for model enrichment (Harness Sources) and state_vscdb, the legacy store path for backfill |
~/.local/bin/stockroom |
On-path shim: bakes the correct uv invocation to run Stockroom + Torch offline, from the plugin payload directory |
Shim / PATH failures: Troubleshooting · Installed layout.