Development
Practical workflow.
Minimal ceremony.
The repo is multi-crate but not conceptually huge. The best way to stay productive is to keep changes scoped and verify the exact package you touched.
// Repo
Project layout
lattice-daemon/for the network node and RPC server.lattice/for the CLI.lattice-core/for shared record and identity primitives.fray/for the forum app and embedded browser UI.
// Verify
Default verification loop
cargo fmt cargo check cargo test -p fray cargo test -p lattice-core
When changing a specific area, prefer the narrowest package-level test command first, then widen only if the change crosses crate boundaries.
// UI
Static site and embedded UI
Fray's browser UI is generated from Rust into a static HTML file. The docs site here is intentionally plain static HTML/CSS/JS so it can ship directly to Vercel without a build step.
// Discipline
Useful habits
- Keep ownership, auth, and signature checks server-side.
- Treat local mutation endpoints as privileged.
- Prefer network-first ordering when local state mirrors published state.
- Separate cleanup commits from behavior changes.