
Edit Catalog
Catalog edits in Go.
Install
npx skills add ajnart/self-host --skill edit-catalog -g -a claude-code -y- Repository
- ajnart/self-host1.5k
- Category
- AI and agents
- Updated
- 3d ago
- License
- Apache-2.0
- Context cost
- Lightabout 979 tokens
- Runs scripts
- No, instructions only
What it does
Catalog edits in Go. Use for any task that adds an App, changes an App's image, port, Compose, env, notes or StandaloneGuide (even a one-line image bump), changes a Recipe, or hides or unhides an App. Each of these changes generated site and DCM data and hand-kept App counts. DCM-only Containers go to add-container; Homarr wiring goes to docs/agents/homarr-integrations.md.
Edit the Catalog
Read CONTEXT.md for App, Recipe and Catalog, and docs/agents/generated-data.md for what is derived from what and which counts are hand-kept. For a new App, copy the shape of the last one: git show --stat ca78641b (Cleanuparr).
Pick the branch, then run its steps in order:
- New App: steps 1 to 8.
- Change an App: steps 1, 2, 6 and 8, plus 5 when its repository or icon changes. Edit the App's package under
internal/apps/; its directory is the id without hyphens or a shorter name (paperless-ngxlives inpaperlessngx), so find it withgrep -rl 'ID: "<id>"' internal/apps. - Change a Recipe: edit
registerRecipesininternal/catalog/batch_recipes.go, then steps 6, 7 and 8. - Hide or unhide an App: edit
unavailableininternal/catalog/catalog.gowith the reason and the issue that tracks the way back, then steps 6, 7 and 8.
1. Resolve upstream facts
Take the image, tag, ports, volumes and env from the project's own docs or registry page, not from memory or an aggregator.
Done: each fact has a source URL you can put in the PR body.
2. Find an existing home
Search internal/apps/, internal/catalog/, dcm/src/tools/ and ALIASES in dcm/src/lib/selfhost.ts for the product under every spelling (actualbudget against actual-budget).
Done: no hit, so you add one App, or you edit the existing App and add none. Every Container for the same product in dcm/src/tools has the App's id or an ALIASES key for it; otherwise DCM lists the product twice. Add the missing ALIASES entry in the same change.

