Contributing
We welcome contributions to FocusFlow! Whether you're fixing a bug, improving documentation, or adding a new feature, your help is appreciated.
Development Workflow
- Fork the Repository: Create a personalized copy of the project on GitHub.
- Clone Locally:
git clone https://github.com/YOUR_USERNAME/focus_flow_cloud.gitcd focus_flow_cloud
- Create a Branch:
git checkout -b feature/my-new-feature
Code Style & Standards
Rust (Backend)
- Formatting: Verify with
just backend-fmt-check. - Linting: Run
just backend-lintto catch common mistakes. - Testing: Ensure all tests pass with
just backend-test. - All-in-one: Run
just backend-checkto run all verification steps.
SvelteKit + Tauri (App)
- Type checking: Run
bun run checkinsideapp/(usessvelte-check). - Build: Run
bun run buildto verify the SvelteKit production build compiles cleanly. - All-in-one: Run
just app-checkto run all verification steps. - Tauri desktop: Run
just app-tauri-devto test the full native app.
Commit Guidelines
We strictly follow Conventional Commits to manage versioning and changelogs automatically.
Format
<type>(<scope>): <subject>
Common Types
feat: A new feature (Minor version bump)fix: A bug fix (Patch version bump)docs,chore,refactor,test: Other changes (no version bump)
Breaking Changes
If your changes break backward compatibility, you MUST indicate it to trigger a MAJOR version bump.
Exclamation Mark
feat!: remove legacy API endpoints
Pull Request Process
- Update Documentation: If you changed APIs or features, update the relevant docs in
doc/. - Open PR: Submit your pull request against the
masterbranch. - CI Checks: Ensure all GitHub Action checks pass (backend CI + app CI).
Reporting Issues
If you find a bug, please open an issue on GitHub with:
- Steps to reproduce.
- Expected vs. actual behavior.
- Environment details (OS, app version, backend version).