We welcome contributions! Here's how you can help.
- Fork the repository
- Create a feature branch from
main:git checkout main && git pull origin main && git checkout -b feature/amazing-feature - Install pre-commit hook (recommended):
cp scripts/pre-commit .git/hooks/ && chmod +x .git/hooks/pre-commit - Make your changes
- Run tests and linting:
bun run lint bun run build cd src-tauri && cargo check
- Commit your changes:
git commit -m 'feat: add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request with
mainas the base branch
- Always branch from the latest
mainbefore starting work. - Use a focused branch name, such as
feature/browser-extension-docsorfix/download-path. - Keep your branch up to date with
mainwhile working if the PR becomes stale. - When opening a Pull Request, select
mainas the base branch and your feature/fix branch as the compare branch. - Do not merge directly into
main; use a Pull Request so changes can be reviewed.
We follow Conventional Commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
- Run
bun run tauri devfor hot-reloading development - Frontend changes reflect immediately
- Rust changes require recompilation (automatic in dev mode)
- Use TypeScript for frontend code
- Follow existing code patterns and conventions
- Use Biome for linting and formatting
- Keep components small and focused
- Keep PRs focused on a single feature or fix
- Write clear commit messages following the convention
- Update documentation if needed
- Test your changes thoroughly before submitting