DOB-5: Delete config/*.json + Dockerfile / build context cleanup #797

Closed
opened 2026-05-03 18:05:38 +00:00 by claude-desktop · 1 comment
Collaborator

As a maintainer, I want every config/*.json file removed from the repo (and from the Docker image build context), so that the file tree mirrors the runtime contract — no factory-image JSON exists, the DB is the only source of truth, the image is leaner.

This is the visible-from-ls cleanup. By the time this ships, no code reads these files (DOB-4) and no tests fixture-load them either.

Acceptance criteria

Files removed

  • git rm config/agents.json config/service.json config/labels.json config/mcp-builtin.json config/mcp-builtin-defs.json config/mcp-builtin-locks.json config/marketplaces-builtin.json config/recommended-catalog.json config/starter-packs.json. (Also config/agents.json.pre-f1.bak — it's an old migration receipt no longer relevant.)
  • config/ directory empty post-PR — rmdir it.

Dockerfile

  • Drop any COPY config/ /app/config/ (or equivalent path-by-path) lines.
  • Drop config/ from .dockerignore whitelisting if it was carving out a copy path.
  • Image size shrinks measurably; record before/after layer sizes in the PR description.

Loose ends

  • grep -r 'config/.*\\.json' apps/ packages/ Dockerfile justfile README.md docs/ returns zero hits (or only documentation references that explicitly note the files are gone).
  • docs/configuration.md rewritten: the section that lists config/*.json files is replaced with "All operator config lives in the DB; first-login wizard seeds the minimum, dashboard CRUD edits everything thereafter."
  • CLAUDE.md updates: any boot-path commentary that mentions agents.json / service.json is corrected.
  • Justfile recipes that reference config/ paths are updated or removed.

Tests

  • CI green. No tests reference the deleted files (DOB-6 owns the fixture overhaul that gets us here).

Out of scope

  • The fixture overhaul itself — DOB-6.
  • Removing ~/.config/claude-hooks/ host-state paths (claude-credentials, penpot-token, agent-env, etc.) — those aren't factory image, they're operator state.

References

  • Depends on: DOB-4 (#796), DOB-6 (#798).
  • Spec: specs/config-to-db.md § Maximalist option (the "drop the file entirely" branch deferred from SVC-4 / AT-5).
As a maintainer, I want every `config/*.json` file removed from the repo (and from the Docker image build context), so that the file tree mirrors the runtime contract — no factory-image JSON exists, the DB is the only source of truth, the image is leaner. This is the visible-from-`ls` cleanup. By the time this ships, no code reads these files (DOB-4) and no tests fixture-load them either. ## Acceptance criteria ### Files removed - [ ] `git rm config/agents.json config/service.json config/labels.json config/mcp-builtin.json config/mcp-builtin-defs.json config/mcp-builtin-locks.json config/marketplaces-builtin.json config/recommended-catalog.json config/starter-packs.json`. (Also `config/agents.json.pre-f1.bak` — it's an old migration receipt no longer relevant.) - [ ] `config/` directory empty post-PR — `rmdir` it. ### Dockerfile - [ ] Drop any `COPY config/ /app/config/` (or equivalent path-by-path) lines. - [ ] Drop `config/` from `.dockerignore` whitelisting if it was carving out a copy path. - [ ] Image size shrinks measurably; record before/after layer sizes in the PR description. ### Loose ends - [ ] `grep -r 'config/.*\\.json' apps/ packages/ Dockerfile justfile README.md docs/` returns zero hits (or only documentation references that explicitly note the files are gone). - [ ] `docs/configuration.md` rewritten: the section that lists `config/*.json` files is replaced with "All operator config lives in the DB; first-login wizard seeds the minimum, dashboard CRUD edits everything thereafter." - [ ] `CLAUDE.md` updates: any boot-path commentary that mentions `agents.json` / `service.json` is corrected. - [ ] Justfile recipes that reference `config/` paths are updated or removed. ### Tests - [ ] CI green. No tests reference the deleted files (DOB-6 owns the fixture overhaul that gets us here). ## Out of scope - The fixture overhaul itself — DOB-6. - Removing `~/.config/claude-hooks/` host-state paths (claude-credentials, penpot-token, agent-env, etc.) — those aren't factory image, they're operator state. ## References - Depends on: DOB-4 (#796), DOB-6 (#798). - Spec: `specs/config-to-db.md` § Maximalist option (the "drop the file entirely" branch deferred from SVC-4 / AT-5).
Collaborator

🤖 Auto-assigned to code-lead (heuristic: area:infra + body mentions systemd/docker/reconcile — code-lead (architecture)). Reply /unassign to reroute.

🤖 Auto-assigned to **code-lead** (heuristic: area:infra + body mentions systemd/docker/reconcile — code-lead (architecture)). Reply `/unassign` to reroute.
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
charles/claude-hooks#797
No description provided.