55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
# AGENTS.md — Repo hygiene
|
|
|
|
Scope: this file covers *repo hygiene* — branching, remotes, CI, cleanup. It is not project documentation. Product shape is [README.md](README.md).
|
|
|
|
## What this repo is
|
|
|
|
ISO + Calamares + skel. **No Cargo workspace. No `bos-settings/` member.**
|
|
bos-settings (Tauri 2 + Svelte) and breadhelp are standalone bakery
|
|
products. breadlock is the only bread\* pacman package.
|
|
|
|
Live skel is `iso/airootfs/etc/skel`. `dotfiles/` is stale.
|
|
|
|
## Branch model
|
|
|
|
Single-trunk:
|
|
|
|
- `main` — integration + release trunk. Land work via short-lived
|
|
`feature/*` / `fix/*` branches, then merge.
|
|
- `stable` — marker only. CI fast-forwards it to the latest non-RC release
|
|
tag. Never merge into it by hand.
|
|
|
|
There is no `dev` integration branch.
|
|
|
|
## Remotes
|
|
|
|
- `origin` — Forgejo (`ssh://git@100.66.238.26:2222/Breadway/bos.git`) — authoritative.
|
|
- `github` — GitHub (`https://github.com/Breadway/bos.git`) mirror. Push
|
|
origin (and github when mirroring).
|
|
|
|
`origin` is **not** GitHub.
|
|
|
|
## CI
|
|
|
|
- `.forgejo/workflows/*.yml` trigger on `push: tags: ['v*']` (or
|
|
path-scoped packaging triggers) — ordinary pushes to `main` run nothing
|
|
except those path filters. Tag a release to build the ISO.
|
|
- `stable` is moved by the release-iso workflow, not by humans.
|
|
- No build/lint/test CI runs on ordinary commits or PRs — test locally
|
|
before merging to `main`.
|
|
|
|
## Cleanup
|
|
|
|
- Delete feature/fix branches (local + remote) once merged. Check with
|
|
`git branch --merged main`.
|
|
- Don't let merged branches accumulate.
|
|
|
|
## Don't
|
|
|
|
- Don't embed credentials in remote URLs — SSH or a credential helper only.
|
|
- Don't leave the default branch pointed at a feature branch on
|
|
GitHub/Forgejo.
|
|
- Don't bake an ISO (`sudo ./build-local.sh`) unless asked — lockfile/docs
|
|
work does not require it.
|
|
- Don't tell users to `snapper rollback` blindly; GRUB pins
|
|
`rootflags=subvol=@`. Recovery is grub-btrfs reboot.
|