Contributing
ShadowSync is a cross-platform utility with file movement, caching, packaging, and tray UX all tied together. Keep changes scoped and document behavior changes in the same patch.
Quick Checklist
- Keep platform-specific behavior explicit
- Preserve the documented sync model unless you are intentionally changing it
- Add or update tests when sync logic changes
- Update the docs when config fields, workflows, packaging, or tray behavior change
Useful Commands
cargo test
cargo build --release
python -m pip install -r requirements-docs.txt
python -m mkdocs build --strict
Areas That Deserve Extra Care
src/sync_engine.rs: sync direction, delete semantics, manifest handlingsrc/app.rs: tray behavior, status, startup flow, config recoverysrc/wizard.rs: cross-platform setup experience.github/workflows/: release and documentation automationtools/reset/: local cleanup and reset behavior