How to: install the BREAD stack packages
The BREAD stack's published packages install from the public npm registry. BATCH is published from its own repository. GRAIN, MILL, PROOF, and CRUMB are published from the GRAIN monorepo; its workspace-only grain-mcp package is not published.
Install only the layers your app uses. To add the full stack with Bun, run these commands:
bun add @tjakoen/batch @tjakoen/grain
bun add @tjakoen/mill @tjakoen/proof
bun add @tjakoen/crumbWith npm, run the equivalent commands:
npm install @tjakoen/batch @tjakoen/grain
npm install @tjakoen/mill @tjakoen/proof
npm install @tjakoen/crumbThe packages resolve from the public npm registry. Installing PROOF also fetches its current BATCH dependency from a pinned public GitHub commit. That fetch needs network access to GitHub, but no GitHub token. A new project needs no .npmrc or npm registry token.
The shape
The package manager writes the resolved versions to your package manifest and lockfile. To update them later, use bun update or npm update. Publishing a package release is a separate maintainer action. PROOF's pinned BATCH dependency changes only when a new PROOF release updates it.
Why this, specifically
- MILL can render Markdown from an installed package.
packageDocsSourceresolves a published Markdown file through the package's exports. The portfolio's layer guides live in this repository'sdocs/<layer>/folders and are served withdirSource; they are not part of the published packages. Seepackages/mill/serve.ts. bun updatepicks up versions that maintainers have already published. Each package remains responsible for its own release.- GRAIN itself only needs three things from a host (an
OpChannel, a compatible renderer, a filesystem) — seegrain/README.md§1. It names no concrete dependency beyond that.
Next steps
GETTING-STARTED.md(this layer) and../../grain/docs/GETTING-STARTED.mdfor what you get once installed.- The GRAIN monorepo README lists its published packages and explains its workspace layout.