Thanks for your interest in Waller. This project follows a small set of conventions so contributions stay easy to review and align with the Wallpaper Session seam.
- Read
README.md,docs/INDEX.md, andsrc/CONTEXT.mdfirst. - Use the project vocabulary: Monitor, Wallpaper Source, Wallpaper Draft, Wallpaper Session, Profile, Preview, and Identify Overlay.
- Waller is Windows-only by design. Do not introduce fake cross-platform abstractions unless a task explicitly requires them.
Requirements:
- Windows 10/11
- Bun
1.3.x - Stable Rust toolchain (
x86_64-pc-windows-msvc) - Microsoft Visual C++ Build Tools if your environment is not already set up for native crates
bun install
bun run devFor code changes:
bun run verifyFor dependency changes, run the alignment check first and then verify:
bun run deps:tauri:check
bun run verifyFor packaging or release-sensitive work, also run:
bun run buildUseful entry points:
src/hooks/useWallpaperSession.tsandsrc/lib/wallpaperSession.ts— frontend seamsrc/lib/tauri.ts— typed Tauri IPC adaptersrc-tauri/src/lib.rs— backend command boundarysrc-tauri/src/wallpaper.rsandsrc-tauri/src/wallpaper_value.rs— native logicsrc-tauri/src/profiles.rs— local profile persistence
- Tests cover the change. Add or update the closest seam-level test
(
src/lib/*.test.tsorsrc-tauri/src/*). - Both sides of the JS/Rust boundary stay aligned for any change in Wallpaper Source, fit mode, Profile, Preview, or Identify Overlay semantics.
-
bun run verifypasses locally. -
README.md,docs/INDEX.md, and the relevantdocs/*.mdfiles are still accurate. - No new tracked build output, editor-specific config, secrets, or local absolute paths.
Use GitHub Issues. Include:
- Waller version (from
src-tauri/tauri.conf.json) - Windows build number
- Reproducible steps and expected vs. actual behavior
- Relevant log lines from the View Logs modal or
%APPDATA%/WallpaperManager/logs/app.log
Be respectful. This is a small, focused desktop tool — we value clarity, traceability, and reversible decisions over speed.