Issue tracker for the bread ecosystem
  • Rust 60.2%
  • Svelte 25.7%
  • TypeScript 4.7%
  • JavaScript 4.7%
  • Shell 3%
  • Other 1.7%
Find a file
Breadway 2a538f089a
All checks were successful
dev release / build (push) Has been skipped
GitHub mirror / mirror (push) Has been skipped
check / check (push) Successful in 1m18s
Merge pull request #98: mirror markdown imports to Forgejo (provider slice)
2026-10-19 02:39:03 +08:00
.forgejo/workflows Merge pull request 'Prepare bakery distribution for breadboard CLI and desktop' (#62) from feature/bb-60-bakery-distribution into main 2026-10-02 12:00:54 +08:00
apps fix: make markdown import repair idempotent 2026-10-18 09:17:34 +08:00
crates fix: make markdown import repair idempotent 2026-10-18 09:17:34 +08:00
migrations Add project defaults to cycles 2026-10-14 12:53:43 +08:00
modules Milestone 7: notifications + breadd hooks 2026-09-04 14:32:20 +08:00
packages/api-client fix: make markdown import repair idempotent 2026-10-18 09:17:34 +08:00
packaging Merge pull request 'Prepare bakery distribution for breadboard CLI and desktop' (#62) from feature/bb-60-bakery-distribution into main 2026-10-02 12:00:54 +08:00
scripts fix: serialize bakery client publication 2026-10-01 15:28:05 +08:00
xtask fix: return JSON from reconcile endpoint and tolerate empty/204 body in clients 2026-10-13 21:16:47 +08:00
.gitignore fix: enable Litestream continuous backup for breadboard.db 2026-09-09 19:48:54 +08:00
.mcp.json packaging: Containerfile builds api-client dist + copies apps/mcp manifest 2026-09-04 14:59:43 +08:00
AGENTS.md docs: remove em dashes from code and docs 2026-09-09 11:50:39 +08:00
bakery.toml docs: remove em dashes from code and docs 2026-09-09 11:50:39 +08:00
breadboard.toml feat: daily notification digest job 2026-09-09 20:03:20 +08:00
Cargo.lock fix: return JSON from reconcile endpoint and tolerate empty/204 body in clients 2026-10-13 21:16:47 +08:00
Cargo.toml Scaffold breadboard: workspace, core types, server, CLI, web 2026-09-03 22:28:26 +08:00
CONTRIBUTING.md ci: prepare signed bakery client distribution tracks 2026-09-30 23:51:53 +08:00
Documentation.md fix: make markdown import repair idempotent 2026-10-18 09:17:34 +08:00
LICENSE Scaffold breadboard: workspace, core types, server, CLI, web 2026-09-03 22:28:26 +08:00
package-lock.json Repair cycle project defaults: numeric selector with rollback, external import inheritance 2026-10-15 12:19:27 +08:00
package.json MCP server (apps/mcp) 2026-09-04 14:57:47 +08:00
README.md docs: remove em dashes from code and docs 2026-09-09 11:50:39 +08:00

breadboard

Issue tracker for the bread ecosystem: a Linear-lite planning layer that sits on top of Forgejo (git.breadway.dev).

Forgejo stays the place issues are filed and discussed. breadboard adds what a per-repo issue list can't give you:

  • cross-repo epics: one epic spans bread, breadbar, bos, …
  • a board that spans every repo: every in-flight task in one place
  • cycles (the sprint concept), priorities, estimates
  • a roadmap view for native (non-repo) planning items

…and keeps breadboard and Forgejo in bidirectional sync (webhooks in, API writeback, periodic reconcile, per-field last-write-wins with an append-only audit log).

Philosophy

Deliberately not Jira. The things it refuses to become:

Avoids Instead
Slow, heavy UI sub-100ms interactions, optimistic updates, keyboard-first, cmd-k
Configuration sprawl one global workflow, one settings page, no custom fields
Notification noise nothing pings by default; opt in per channel; optional daily digest
Process theater create a card with just a title; cycles and estimates are optional

The one global workflow: Backlog → Todo → Doing → Review → Done.

Layout

crates/
  breadboard-core     shared domain types (serde + chrono only)
  breadboard-server   axum service: REST + SSE, Forgejo sync, SQLite (WAL) + Litestream
  breadboard-client   Rust API client (used by the CLI/TUI)
  breadboard-cli      `breadboard`: CLI + TUI
apps/
  web                 Svelte 5 SPA (Vite): the primary UI
  desktop             Tauri 2 shell wrapping the web build
packages/
  api-client          generated TypeScript client
migrations/           sqlx migrations
xtask/                `cargo run -p xtask -- check-docs`

Development

cargo build --workspace
cargo test --workspace
cargo run -p breadboard-cli -- ping

Full stack (API + hot-reloading UI) in one command:

npm install
BREADBOARD_DEV_LOGIN=1 scripts/dev.sh      # UI on :5280, API on :7280

Open http://127.0.0.1:5280. With BREADBOARD_DEV_LOGIN=1 the sign-in screen has a "dev login" box, so you can skip the Forgejo OAuth round-trip locally.

Config: ~/.config/breadboard/breadboard.toml (server) and ~/.config/breadboard/cli.toml (CLI). Every key is optional; secrets can also come from BREADBOARD_* env vars.

Deployment

One container (packaging/Containerfile): a Rust server that also serves its built SPA, behind a TLS-terminating reverse proxy. The Rust build runs in a rust:1-bookworm stage, so the host needs no toolchain. See packaging/DEPLOY.md.

CLI is distributed through bakery. See Documentation.md for the API and event contract.

Part of the bread ecosystem. MIT licensed.