bread/AGENTS.md
Breadway 6063eb901c
All checks were successful
dev release / build (push) Successful in 1m29s
State engine applies bread.hyprland.* and snapshots compositor topology
Match both legacy and namespaced Hyprland events so flipping
legacy_hyprland_event_names no longer freezes monitors/workspace/window.
On event-socket connect, query socket1 and emit bread.hyprland.snapshot
to populate RuntimeState (including workspaces). API 1.7.1.
Track AGENTS.md instead of gitignored CLAUDE.md.
2026-08-15 22:03:30 +08:00

1.6 KiB

AGENTS.md — Repo hygiene

This repo follows the branch/release workflow in CONTRIBUTING.md. Read that before any git, branch, or release work. Do not invent a different workflow.

Day-to-day: one long-lived branch (main). New work goes on feature/<name> or fix/<name>, then back into main. There is no dev or beta branch — those names are bakery tracks, published from main (dev) and from tags (vX.Y.Z-rc.N = beta, vX.Y.Z = stable).

API surface, event names, and IPC contracts live in Documentation.md (kept honest by api-schema.toml + cargo run -p xtask -- check-docs). Treat that file, not this one, as the source of truth.

Remotes

  • origin — Forgejo (git.breadway.dev) — authoritative.
  • github — mirror. Push tags/releases per CONTRIBUTING.md; day-to-day work pushes to origin only.

CI

  • dev-release.yml — push to main (includes check-docs).
  • rc-release.ymlvX.Y.Z-rc.N tag.
  • release.yml — other v* tags.

All three run on the self-hosted hestia runner. Nothing else runs on plain commits or PRs. Distribution is bakery, not a PKGBUILD.

Local architecture (still true)

  • breadd — daemon (adapters → normalizer → state engine → Lua / IPC).
  • bread — CLI over $XDG_RUNTIME_DIR/bread/breadd.sock.
  • bread-emit — fire-and-forget IPC emit (hooks + command bus).
  • bread-module-host — sandboxed out-of-process module runtime.
  • Known-app registry and reserved domains: bread-shared/src/apps.rs.

Don't

  • Don't embed credentials in remote URLs — SSH or a credential helper only.
  • Don't commit straight to main.