Background
The catalog harness now syncs eight upstream JSON artifacts into catalog/*.json, all wired through the read_catalog Tauri command:
| Catalog |
Records |
UI consumer today |
settings.json |
many |
✅ Inspector rows + drawer header (description / type / default) |
env-vars.json |
220 |
✅ EnvVarsPanel + drawer cross-ref for env.<VAR> |
permissions.json |
6 modes |
✅ Drawer value-conditional annotation for permissions.defaultMode |
hooks.json |
events + handlers + per-event schemas + commonInput |
❌ none |
mcp.json |
3 scopes |
❌ none (managed-mcp pill exists but doesn't read mcp.scopes) |
sub-agents.json |
16 frontmatter fields |
❌ none |
keybindings.json |
20 contexts |
❌ none |
cli-reference.json |
20 commands + 63 flags |
❌ none |
Five catalogs sync on the cron and round-trip through read_catalog but never reach the user. A demo-day question — "you sync the keybindings catalog, where do I see it?" — has no good answer today.
Tracking, not a single piece of work
This is an umbrella for several distinct UI surfaces. Each catalog has its own natural shape and shouldn't be jammed into a one-size-fits-all view:
hooks.json (highest-value next)
The hooks.events array is already the load-bearing target for the next drawer cross-reference (already in roadmap Next-up candidates + Inspector polish § Open work). That work covers hooks.<EventName> rows in the inspector — but the catalog also carries handlers (5 handler types with their fields), commonInput (8 shared fields), and per-event inputFields / inputExample / outputFields. None of that surfaces yet.
Likely shape: extend the existing drawer plan to include a collapsible "event detail" section, plus a top-level Hooks reference panel reachable from the topbar (modeled on HelpView / ErrorPanel / EnvVarsPanel).
mcp.json (lower-bar follow-up)
The 3-record scopes array (Local / Project / User, each with loadsIn / shared / storedIn) is already called out in roadmap as a candidate enrichment for the existing managed-mcp pill (tooltip / popover). Smaller surface — pick up only if there's a clear UX win.
cli-reference.json (load-bearing for the deferred CLI layer)
The 20 commands + 63 flags catalog is parked for the deferred "CLI layer via process argv" plan — each documented flag is a candidate input the eventual flag-name → settings-key mapping will draw on (parallel to catalog/env-settings-map.json). Likely no standalone UI consumer until the CLI layer ships; a reference panel similar to EnvVarsPanel is one option but probably premature.
keybindings.json
The 20 contexts enumerate every value the context field accepts inside a bindings block of ~/.claude/keybindings.json. The natural consumer is a drawer cross-reference for ~/.claude/keybindings.json entries — but knobs.cc doesn't read keybindings.json today (only settings.json layers), so a UI consumer requires a new read path first.
sub-agents.json
The 16 frontmatter fields enumerate what's accepted in a sub-agent definition file. Same situation as keybindings: knobs.cc doesn't enumerate sub-agent files, so a UI consumer requires a new read surface.
Ask
Decide per-catalog: ship a UI consumer (and what shape), or de-scope the catalog from cron sync until a consumer exists. The current state — "sync but don't consume" — costs maintenance (cron CI runs, occasional drift PRs, schema rot) without paying users back.
Recommended starting move: pick hooks.json first (already on the roadmap) and mcp.json second (smallest surface). Defer cli-reference to the deferred CLI layer plan. For keybindings and sub-agents, decide whether to add the prerequisite read paths or de-scope the catalogs.
Related
spec/roadmap.md § "Catalog sync" (shipped catalogs) and § "Inspector polish — Open work" (the hooks drawer plan + the managed-mcp pill enrichment).
- Deferred CLI layer plan:
~/.claude/plans/1-is-interesting-did-steady-seahorse.md.
Background
The catalog harness now syncs eight upstream JSON artifacts into
catalog/*.json, all wired through theread_catalogTauri command:settings.jsonenv-vars.jsonenv.<VAR>permissions.jsonpermissions.defaultModehooks.jsonmcp.jsonmcp.scopes)sub-agents.jsonkeybindings.jsoncli-reference.jsonFive catalogs sync on the cron and round-trip through
read_catalogbut never reach the user. A demo-day question — "you sync the keybindings catalog, where do I see it?" — has no good answer today.Tracking, not a single piece of work
This is an umbrella for several distinct UI surfaces. Each catalog has its own natural shape and shouldn't be jammed into a one-size-fits-all view:
hooks.json(highest-value next)The
hooks.eventsarray is already the load-bearing target for the next drawer cross-reference (already in roadmapNext-up candidates+Inspector polish § Open work). That work covershooks.<EventName>rows in the inspector — but the catalog also carrieshandlers(5 handler types with their fields),commonInput(8 shared fields), and per-eventinputFields/inputExample/outputFields. None of that surfaces yet.Likely shape: extend the existing drawer plan to include a collapsible "event detail" section, plus a top-level Hooks reference panel reachable from the topbar (modeled on
HelpView/ErrorPanel/EnvVarsPanel).mcp.json(lower-bar follow-up)The 3-record
scopesarray (Local / Project / User, each withloadsIn/shared/storedIn) is already called out in roadmap as a candidate enrichment for the existing managed-mcp pill (tooltip / popover). Smaller surface — pick up only if there's a clear UX win.cli-reference.json(load-bearing for the deferred CLI layer)The 20 commands + 63 flags catalog is parked for the deferred "CLI layer via process argv" plan — each documented flag is a candidate input the eventual flag-name → settings-key mapping will draw on (parallel to
catalog/env-settings-map.json). Likely no standalone UI consumer until the CLI layer ships; a reference panel similar to EnvVarsPanel is one option but probably premature.keybindings.jsonThe 20 contexts enumerate every value the
contextfield accepts inside abindingsblock of~/.claude/keybindings.json. The natural consumer is a drawer cross-reference for~/.claude/keybindings.jsonentries — but knobs.cc doesn't readkeybindings.jsontoday (onlysettings.jsonlayers), so a UI consumer requires a new read path first.sub-agents.jsonThe 16 frontmatter fields enumerate what's accepted in a sub-agent definition file. Same situation as keybindings: knobs.cc doesn't enumerate sub-agent files, so a UI consumer requires a new read surface.
Ask
Decide per-catalog: ship a UI consumer (and what shape), or de-scope the catalog from cron sync until a consumer exists. The current state — "sync but don't consume" — costs maintenance (cron CI runs, occasional drift PRs, schema rot) without paying users back.
Recommended starting move: pick
hooks.jsonfirst (already on the roadmap) andmcp.jsonsecond (smallest surface). Defercli-referenceto the deferred CLI layer plan. Forkeybindingsandsub-agents, decide whether to add the prerequisite read paths or de-scope the catalogs.Related
spec/roadmap.md§ "Catalog sync" (shipped catalogs) and § "Inspector polish — Open work" (the hooks drawer plan + the managed-mcp pill enrichment).~/.claude/plans/1-is-interesting-did-steady-seahorse.md.