Brick Work

0001. Standalone app

Context

Brick Work started as part of a private home setup. A public release has to work for anyone who installs it, without any private service next to it. The first public snapshot must hold no private integration code, token, route or naming.

Options considered

  1. Standalone app with its own surfaces — the app calls BrickLink, Rebrickable and Brickset itself with the user's own keys, and offers an API, a CLI and later an MCP server. Outside tools plug into those surfaces.
  2. Keep a private integration inside the app — not recorded as an option that was weighed.

Recommendation at the time: option 1, surface first (CLI plus an app-owned API, documented, with the MCP server as a thin layer over the same functions). Ulf confirmed the plan.

Decision

The app runs completely standalone on the user's own BrickLink, Rebrickable and Brickset keys. Integrations use only the app's own API, CLI and MCP server. A private client of this API uses the same standard API as everyone else.

Consequences

API contract: docs/brickwork/api-v1.md (sections 0 and 10). Related: ADR 0002, 0003, 0005, 0007, 0008.