notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit 3d7c8907fea7c4b86f3058bff602710394ac60b5
parent 86887680298c80648aa5372d056be5625f6af287
Author: William Casarin <jb55@jb55.com>
Date:   Sun, 25 Jan 2026 13:14:23 -0800

agents: mention `cargo lint`

Signed-off-by: William Casarin <jb55@jb55.com>

Diffstat:
MAGENTS.md | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -74,12 +74,12 @@ This document captures the current architecture, coding conventions, and design ## Coding Conventions & Practices +- Run `cargo lint` when you're done your work, ensure that all lints are fixed before committing. - Rust 2021, edition-lints are strict; clippy `disallowed_methods` is denied at crate root to enforce API hygiene (`crates/notedeck/src/lib.rs`). - Prefer module-level organization over monolithic files; each feature (accounts, decks, timelines, media) lives in its own module tree. - Use `tracing` macros for structured logging and `profiling` scopes where hot paths exist (Columns' relay/event loop). - Mark performance-critical functions with `#[profiling::function]` for visibility in the puffin profiler. - UI code embraces egui idioms: builder chains, closures returning `Response`, `ui.vertical`/`horizontal` for layout. -- Persist state via `TimedSerializer::try_save` to avoid blocking the frame; batch mutations with `SettingsHandler::update_batch`. - Tests live alongside modules (e.g., `JobPool`), often using `#[tokio::test]` when async behavior is involved. - Localization updates: run `python3 scripts/export_source_strings.py` after changing user-facing strings; translators rely on the generated Fluent files.