-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Mark Keller edited this page Nov 11, 2025
·
1 revision
- Rust (2021 edition)
- SQLite
- Diesel CLI (optional if you only run embedded migrations)
cargo buildcargo test- Tests should not launch editors or touch real data. When running the app locally (or in tests), isolate data and disable editor interactions:
WORKINGON_DATA_DIR="$(mktemp -d)" EDITOR="-" cargo run -- listWORKINGON_DATA_DIR="$(mktemp -d)" EDITOR="-" cargo run -- <subcommand>- Uses SQLite via Diesel; migrations are embedded and run on startup.
- Additive migrations are preferred; include both
up.sqlanddown.sql. - To test migrations, run the binary once to apply pending migrations.
- Subcommands live in
src/cli.rs. - Business logic and DB ops live in
src/lib.rs. - Preserve backward compatibility and provide helpful errors/nonzero exit codes.
- Consider intuitive aliases (e.g.,
lsforlist,rmfordelete).
- Ensure all tests pass.
- Update help text and docs when changing flags/behaviors.
- Include tests for new features.
- Small, coherent commits following conventional commits.