Overview
We welcome contributions to ZeroStarter! This guide outlines the process for contributing code, documentation, and other improvements to the project. Following these guidelines helps ensure a smooth review process and maintains code quality.By contributing, you agree to the MIT license and the project’s Code of Conduct.
Quick Start
Ready to contribute? Here’s the fastest path:Fork and clone
Fork the ZeroStarter repository and clone it locally:
Branch Naming Convention
Use descriptive branch names that indicate the type and purpose of your changes:| Type | Example | Use for |
|---|---|---|
feat/ | feat/stripe-integration | New features |
fix/ | fix/auth-redirect-loop | Bug fixes |
docs/ | docs/update-readme | Documentation updates |
refactor/ | refactor/api-error-handling | Code refactoring |
test/ | test/add-auth-tests | Adding tests |
chore/ | chore/update-dependencies | Maintenance tasks |
Development Workflow
1. Set up your development environment
Follow the Installation guide to set up ZeroStarter locally:2. Make your changes
Write clean, well-documented code following the existing code style. Code style guidelines:- Use TypeScript for all new code
- Use
@/for imports where applicable - Follow existing patterns in the codebase
- Keep functions small and focused
- Use descriptive variable and function names
3. Run quality checks
Before submitting your PR, ensure all checks pass:All of these checks must pass for your PR to be merged. Fix any errors before submitting.
4. Test your changes
While ZeroStarter doesn’t currently have automated tests, you should:- Manually test your changes thoroughly
- Test in both development and production builds:
- Test edge cases and error scenarios
- Verify existing functionality still works
5. Commit your changes
Use Conventional Commits format:feat: New featurefix: Bug fixdocs: Documentation changesrefactor: Code refactoring (no functionality change)test: Adding or updating testschore: Maintenance tasks (dependencies, configs, etc.)perf: Performance improvementsstyle: Code style changes (formatting, not CSS)
Pull Request Guidelines
Before submitting
- ✅ All quality checks pass (
build,check-types,format,lint) - ✅ Changes are tested manually
- ✅ Commit messages follow conventional commits
- ✅ Branch is up to date with
mainorcanary - ✅ No unnecessary files committed (build artifacts,
.env, etc.)
PR description template
Provide a clear description of your changes:Review process
- Automated checks run on your PR (type checking, linting)
- Maintainer review - we’ll review your code and provide feedback
- Address feedback - make requested changes
- Approval and merge - once approved, your PR will be merged
Types of Contributions
Bug Fixes
Found a bug?
- Check if an issue already exists
- Open a new issue if needed
- Create a PR with the fix
- Link the issue in your PR description
- Identify the root cause
- Write a fix that addresses the cause
- Verify the fix doesn’t break other functionality
- Test edge cases
- Document the fix in the commit message
New Features
Feature contribution checklist:- Open an issue to discuss the feature
- Get approval from maintainers
- Implement the feature following existing patterns
- Update documentation
- Add examples if applicable
- Ensure backward compatibility (or document breaking changes)
Documentation
Documentation improvements are always welcome! Documentation contributions:- Fix typos or unclear explanations
- Add missing documentation
- Improve examples
- Add troubleshooting guides
- Translate documentation (if supported)
README.md- Project overviewweb/next/content/docs/- Full documentation (if using Fumadocs)
Integrations
Planning to add an integration from the roadmap?Check the roadmap
See the roadmap for planned integrations and their priority.
Code Review Guidelines
When reviewing others’ contributions:Focus on substance
Focus on substance
- Is the code correct and bug-free?
- Does it follow existing patterns?
- Is it well-structured and maintainable?
- Are there edge cases to consider?
Be constructive
Be constructive
- Explain why something should change
- Suggest alternatives
- Acknowledge good work
- Be respectful and professional
Test the changes
Test the changes
- Pull the branch and test locally
- Verify the changes work as described
- Check for unintended side effects
Getting Help
Need help contributing?Ask in Issues
Open an issue with your question.
Check Documentation
Review the full documentation.
FAQ
Check frequently asked questions.
Follow Updates
Follow @nrjdalal for updates.
Code of Conduct
Our Standards
We are committed to providing a welcoming and inclusive environment:- Be respectful - Value differing opinions and experiences
- Be collaborative - Work together toward the best solution
- Be professional - Keep discussions focused and constructive
- Be open - Welcome newcomers and help them learn
Unacceptable Behavior
- Harassment or discriminatory language
- Personal attacks or insults
- Trolling or inflammatory comments
- Publishing others’ private information
- Other conduct inappropriate in a professional setting
License
By contributing to ZeroStarter, you agree that your contributions will be licensed under the MIT License. This means:- Your code can be used freely by anyone
- No warranty or liability
- Attribution to original authors is preserved
Recognition
All contributors are recognized in the repository:Amazing Contributors
See all contributors who have helped build ZeroStarter.
Thank You!
Thank you for contributing to ZeroStarter! Every contribution, no matter how small, helps make the project better for everyone.