Load and save Wi-Fi networks in networks.toml (0600) instead of writing PSKs back into breadcrumbs.toml. The password field is write-only. Replace the generic argv runner with typed bakery/pacman/fwupd commands and set a real Tauri CSP. Add Lock, Screenshots, Monitors, and Help panels. Pin bread-theme and bread-utils to bread-ecosystem v0.7.1. bread-screenshots is not on that tag, so --screenshot calls grim locally. bakery.toml lists webkitgtk-4.1 deps; README/CLAUDE.md match Tauri 2 + Svelte 5 and single-trunk main.
2 KiB
CLAUDE.md — Repo hygiene
Scope: this file covers repo hygiene — branching, remotes, CI, cleanup. It is not project documentation.
This repo is a Tauri 2 + Svelte 5 settings app, bakery-distributed. It follows the branch/release workflow in CONTRIBUTING.md — read and follow it for any git, branch, or release work here (the single-trunk model, feature/x/fix/x branch naming, how RC tags work, etc). Don't improvise a different workflow. The short version: there is one long-lived branch, main — no dev or beta branch exists. main auto-publishes a bakery dev-track build on every push. "Beta" and "stable" are both just tags, not branches: push a vX.Y.Z-rc.N tag to publish a beta-track build, push a plain vX.Y.Z tag to cut the signed stable release. "Freezing" for stabilization means pausing pushes to main, not moving a branch.
This is not a GTK4 app. There is no package.yml pacman workflow here; bakery is the distribution channel.
Layout
frontend/— Svelte 5 + SvelteKit (static adapter) + TypeScriptsrc/— Tauri 2 Rust crate (bos-settings). Commands live insrc/src/commands/.- Config edits are non-destructive (
toml_edit/bread_utils::tomlcfg) except for JSON files that have no comments to preserve.
Remotes
origin— Forgejo (git.breadway.devvia Hestia, SSH) — authoritative.github— GitHub mirror. Pushoriginonly; the github remote auto-mirrors.
CI
dev-release.yml— push tomain.rc-release.yml—vX.Y.Z-rc.Ntags.release.yml— otherv*tags (signed stable).
No build/lint/test CI runs on ordinary commits or PRs to main beyond the dev-track workflow above.
Don't
- Don't commit
frontend/node_modules. - Don't embed credentials in remote URLs — SSH or a credential helper only.
- Don't write Wi-Fi passwords back into
breadcrumbs.toml. Networks live in~/.config/breadcrumbs/networks.toml(0600). - Don't expose a generic argv runner to the webview. Streaming updates are typed commands (
bakery_update,pacman_system_update,fwupd_*).