Semi-automated package updating mechanism via pacman for dependencies which want or need bleeding edge updates from repo/source.
Find a file
Austin Schaefer 388096264b Set up project tooling to match the rest of ~/dev's Rust fleet
Surveyed sporah/doubleo7/feedsignal/uy-immigration-watcher/notif-picker
for conventions and replicated the current dominant pattern rather than
inventing a new one:

- Forgejo CI (.forgejo/workflows/ci.yml): build/test/audit jobs on the
  rust-ci runner label, cargo+sccache caching, cargo fmt --check, cargo
  clippy --all-targets -- -D warnings, cargo audit. Matches
  sporah/doubleo7/feedsignal/uy-immigration-watcher; notif-picker's
  docker-label/manual-toolchain-install variant looks like an earlier
  iteration superseded by this one.
- Makefile.toml with format/format-check/lint/test/audit/build tasks and
  a `ci` task chaining them — copied from notif-picker's clean version,
  the only project that had this pattern. `cargo make ci` now runs the
  same checks locally that CI runs.
- Explicit empty [workspace] in Cargo.toml (doubleo7's pattern) so a
  nested git-worktree checkout can't accidentally inherit an ancestor
  directory's workspace manifest.
- rustfmt: no rustfmt.toml, matching every sibling project — default
  style is the established convention here, not an oversight.

New for this fleet, since nothing else in ~/dev has it: a git-native
pre-commit hook (.githooks/pre-commit, activated via `cargo make
install-hooks` / `git config core.hooksPath .githooks`) that runs `cargo
fmt` and re-stages whatever it reformats. Chose git's native hooksPath
over the pre-commit(.com) framework or cargo-husky — no extra runtime
dependency, hook is tracked and shareable, and nothing else here needs
Python. Kept to formatting only; clippy/audit stay in CI, which already
covers them and can run heavier checks than a commit hook should.

Fixed one clippy finding (useless format! in checker.rs) and reformatted
the existing code to match the now-enforced default rustfmt style.
`cargo make ci` passes clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A2FEut5tVMNjeVjqhgVZbr
2026-09-11 10:13:29 +02:00
.forgejo/workflows Set up project tooling to match the rest of ~/dev's Rust fleet 2026-09-11 10:13:29 +02:00
.githooks Set up project tooling to match the rest of ~/dev's Rust fleet 2026-09-11 10:13:29 +02:00
packages.d First working iteration: check -> fetch -> verify for a real package 2026-09-11 10:04:48 +02:00
src Set up project tooling to match the rest of ~/dev's Rust fleet 2026-09-11 10:13:29 +02:00
.gitignore First working iteration: check -> fetch -> verify for a real package 2026-09-11 10:04:48 +02:00
Cargo.lock First working iteration: check -> fetch -> verify for a real package 2026-09-11 10:04:48 +02:00
Cargo.toml Set up project tooling to match the rest of ~/dev's Rust fleet 2026-09-11 10:13:29 +02:00
Makefile.toml Set up project tooling to match the rest of ~/dev's Rust fleet 2026-09-11 10:13:29 +02:00
SPEC.md First working iteration: check -> fetch -> verify for a real package 2026-09-11 10:04:48 +02:00