Thank you for your interest in contributing! Whether you're fixing bugs, improving documentation, or proposing new features — we appreciate your efforts.
All contributors are expected to follow our Code of Conduct.
Look for issues labeled good first issue or help wanted.
Before starting work on a significant change, open an issue to discuss your proposal and wait for feedback from maintainers.
-
Fork and clone the repository:
git clone https://github.com/<your-username>/react-starter-kit.git cd react-starter-kit git remote add upstream https://github.com/kriasoft/react-starter-kit.git
-
Install dependencies:
bun install
-
Start the development server:
bun dev # Start all apps (web + api + app) # Or individually: bun web:dev # Marketing site bun app:dev # Main application bun api:dev # API server
-
Verify your setup:
bun test # Run tests (Vitest) bun lint # ESLint bun typecheck # TypeScript
See AGENTS.md for the full monorepo layout, tech stack, and available commands.
-
Create a feature branch from
main:git checkout main git pull upstream main git checkout -b feature/your-feature-name
-
Make focused changes — one PR per concern. Follow existing patterns in the codebase.
-
Verify before pushing:
bun test && bun lint && bun typecheck
-
Write clear commit messages using conventional commits:
type(scope): descriptionTypes:
feat,fix,docs,style,refactor,test,chore -
Open a pull request against
mainwith a clear description. Reference related issues and include screenshots for UI changes.
- Maintainers will review your PR within a few days
- Address requested changes promptly
- Keep your branch up to date with
main
- Use functional components and hooks
- Prefer named exports over default exports
- Use TypeScript strict mode — avoid
anyand unnecessary type assertions - Write tests for new features (Vitest)
- Prefer explicit, readable code over clever patterns
- See
AGENTS.mdfor the full design philosophy
This project uses the Developer Certificate of Origin (DCO) version 1.1.
By contributing, you certify that you wrote the contribution yourself (or have the right to submit it) and agree to license it under the MIT License.
All commits must include a sign-off line:
git commit -s -m "feat(auth): add passkey support"Contributions without a sign-off may be rejected by automated checks.
AI tools may be used to help produce contributions. By submitting, you certify that you have reviewed and understand the code and that it does not include material you lack the right to submit under the MIT License.
The use of AI tools does not change the DCO requirements. The contributor remains the author of record and is responsible for the contribution.
- Discord — Community server
- GitHub Issues — Bug reports and feature requests
- GitHub Discussions — Questions and community discussions
By contributing, you agree that your contributions will be licensed under the MIT License.