30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# Development
|
|
|
|
- Prefer simple, idiomatic Rust; reuse existing code and dependencies before adding abstractions or crates.
|
|
- Keep changes focused, handle errors explicitly, and add the smallest useful test for non-trivial behavior.
|
|
- Preserve `rustfmt` output and keep Clippy warning-free.
|
|
- This is not a GitHub project. Use direct `git` commands for version control and the `tea` CLI for forge operations; do not use GitHub tools or workflows.
|
|
- Issues are managed with the command "tea" run from the project directory.
|
|
|
|
## Visual language
|
|
|
|
- Follow the Codex macOS dark UI: near-black backgrounds, subtly raised surfaces, quiet borders, rounded corners, and restrained contrast.
|
|
- Present overviews as one bordered panel with divided rows, a clear primary label, muted supporting text, and compact trailing actions.
|
|
- Reuse the shared surface and action-button styles in `src/app/view.rs`; keep button shape, padding, typography, hover, and disabled states consistent across windows. Destructive actions may differ by color only, while navigation controls may remain flat.
|
|
- Prefer generous spacing and clear hierarchy over decoration; avoid one-off colors, card stacks, oversized controls, and screen-specific button styling.
|
|
|
|
## Commit gates
|
|
|
|
Run before every commit:
|
|
|
|
```sh
|
|
cargo fmt --all -- --check
|
|
cargo clippy --all-targets --all-features -- -D warnings
|
|
make bundle
|
|
cargo test --all-features
|
|
```
|
|
|
|
## Commit messages
|
|
|
|
Use a short, imperative subject describing one change. Skip prefixes and bodies unless they add necessary context.
|