BlueSky & more on desktop
lazurite.stormlightlabs.org/
tauri
rust
typescript
bluesky
appview
atproto
solid
Contributing to Lazurite Desktop#
Thanks for helping improve Lazurite.
Setup#
- Install prerequisites:
- Node.js 20+
- pnpm
- Rust stable toolchain (for Tauri/backend work)
- Install dependencies:
pnpm install
For Rust/Tauri development:
cd src-tauri
cargo check && cargo build
- Run the app:
# Frontend only
pnpm dev
# Full desktop app (Tauri + frontend)
pnpm tauri dev
Before Opening a Pull Request#
Run the following from the repository root:
pnpm typecheck
pnpm test
pnpm lint
pnpm format
If your changes touch Rust code, also run:
cd src-tauri
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
Project Conventions#
- Use pnpm for frontend workflows.
- Keep Tauri commands in
src-tauri/src/commands.rsand keep command handlers thin. - Put business logic in focused Rust modules, then call those from commands.
- Follow Solid patterns used in this repo (for example,
Show/For/Indexwhere appropriate). - Follow the design system in
docs/design.mdfor UI work. - Do not ignore lint rules.
- Frontend errors should be human-readable; logs should be detailed and technical.
Pull Request Expectations#
- Keep changes focused and scoped.
- Link related issues (for example,
Closes #123). - Include screenshots or short recordings for visible UI changes.
- Update docs/specs when behavior or architecture changes.
- Add or update tests when practical.
Security#
Please do not open public issues for security vulnerabilities. Contact the maintainers privately.
License#
By contributing, you agree that your contributions are licensed under the MIT License.