Welcome Contributors
We’re excited you want to contribute to VoiceTypr! This guide will help you get started with the contribution process.Ways to Contribute
- Report bugs - Submit detailed bug reports
- Suggest features - Propose new functionality
- Fix issues - Pick up issues from GitHub
- Improve docs - Enhance documentation
- Write tests - Increase test coverage
- Review PRs - Help review pull requests
Getting Started
1
Fork the Repository
Fork VoiceTypr on GitHub to your account.
2
Clone Your Fork
3
Set Up Development Environment
Follow the development setup guide to install dependencies and configure your environment.
4
Create a Feature Branch
feat/add-model-exportfix/recording-crashdocs/update-readme
Branch Workflow
Branch Naming Convention
Use prefixes that match commit types:feat/- New featuresfix/- Bug fixesdocs/- Documentation changesrefactor/- Code refactoringtest/- Adding testschore/- Maintenance tasks
Example Workflow
Commit Conventions
We follow Conventional Commits specification:Commit Format
Commit Types
- feat - New feature
- fix - Bug fix
- docs - Documentation changes
- refactor - Code refactoring (no functional changes)
- test - Adding or updating tests
- chore - Maintenance tasks (dependencies, config)
- perf - Performance improvements
- style - Code style changes (formatting, semicolons)
Examples
Commit Guidelines
- Use present tense (“add feature” not “added feature”)
- Keep first line under 72 characters
- Reference issues/PRs when applicable
- Explain why not just what in the body
Pull Request Process
1
Run Quality Checks
Before creating a PR, ensure all checks pass:This runs:
- TypeScript type checking
- ESLint
- Frontend tests (Vitest)
- Backend tests (Cargo test)
2
Push Your Branch
3
Create Pull Request
- Go to VoiceTypr repository
- Click “New Pull Request”
- Select your branch
- Fill out the PR template
4
Address Review Feedback
Respond to code review comments and push updates:
Pull Request Template
Code Review Expectations
For Contributors
- Be responsive - Reply to feedback within 2-3 days
- Be open - Consider reviewer suggestions
- Ask questions - Clarify unclear feedback
- Keep PRs focused - One feature/fix per PR
For Reviewers
- Be constructive - Suggest improvements, don’t just criticize
- Be specific - Explain why changes are needed
- Be timely - Review within 3-5 days
- Approve when ready - Don’t block on minor style issues
Review Checklist
- Code follows style guidelines
- Tests are included and passing
- Documentation is updated
- No breaking changes (or properly documented)
- Performance impact is acceptable
- Security concerns are addressed
Development Guidelines
Before Committing
Always run quality checks:Pre-Commit Checklist
- Code is properly formatted (
pnpm format) - No TypeScript errors (
pnpm typecheck) - No linting errors (
pnpm lint) - Tests pass (
pnpm test:all) - Commit message follows conventions
- Changes are documented
Git Best Practices
Issue Guidelines
Reporting Bugs
Include:- VoiceTypr version - Check in app settings
- Operating system - macOS version or Windows 10/11
- Steps to reproduce - Clear, numbered steps
- Expected behavior - What should happen
- Actual behavior - What actually happens
- Logs - Check
~/Library/Logs/VoiceTypr/(macOS)
Suggesting Features
Include:- Use case - Why is this needed?
- Proposed solution - How should it work?
- Alternatives - Other approaches considered
- Examples - Similar features in other apps
Communication
Where to Get Help
- GitHub Discussions - General questions and ideas
- GitHub Issues - Bug reports and feature requests
- Pull Request Comments - Code-specific discussions
Response Times
- Issues - Response within 3-5 days
- Pull Requests - Initial review within 5-7 days
- Urgent bugs - Response within 1-2 days
License
By contributing to VoiceTypr, you agree that your contributions will be licensed under the GNU Affero General Public License v3.0.Recognition
All contributors are recognized in:- GitHub contributors list
- Release notes for significant contributions
- Special thanks in major version releases
Next Steps
- Review code style guidelines
- Check architecture overview
- Read testing documentation
- Browse open issues
Thank you for contributing to VoiceTypr!