First off, thank you for considering contributing to CheckMVP! 🎉
We built this tool to help founders, and we're excited that you want to help make it even better. Here's how you can contribute.
- Fork the repo
- Clone your fork
- Create a new branch (
git checkout -b feature/amazing-idea
) - Make your changes
- Run tests (
make test
) - Commit (
git commit -m 'Add amazing feature'
) - Push (
git push -u origin feature/amazing-idea
) - Open a Pull Request
# Copy environment file
cp .env.example .env.development
# The .env.development file will be automatically copied to .env during setup
# You may want to adjust some values in .env.development to match your local environment
# Install dependencies
make setup
# Run redis
make redis-start
# Run development server
make dev
# Run tests
make test
Note: The
.env.development
file will be used as your local configuration. Make sure to update any necessary values likeDATABASE_URL
,OPENAI_API_KEY
, etc. to match your local setup. Never commit your.env
or.env.development
files to version control.
To test the production build in your local environment:
# 1. Copy environment file for production
cp .env.example .env.production
# 2. Build the production Docker image
make prod-docker-build
# 3. Start the application
make prod-docker-start
# 4. Apply database migrations
make prod-docker-db-migrate
# 5. Open in browser
# Visit localhost:3000 (or your custom port defined in .env.production)
# 6. View application logs (optional)
make prod-docker-logs
# 7. Stop the application when done
make prod-docker-stop
Note: Make sure to update necessary values in
.env.production
such asDATABASE_URL
,OPENAI_API_KEY
, etc. The.env.production
file will be automatically copied to.env
during the build process.
- Keep PRs small and focused on a single feature or fix
- Update documentation if needed
- Add tests for new features
- Follow the existing code style
- Describe your changes in the PR description
- Check if it's already reported in Issues
- If not, open a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
We love new ideas! Before coding:
- Open an issue to discuss the feature
- Tag it with
enhancement
- Wait for feedback from maintainers
- Be kind and respectful
- Welcome newcomers
- Help others learn
- Focus on what's best for the community
- Open an issue with
question
label - Reach out on Twitter (X)
- Check our documentation
By contributing, you agree that your contributions will be licensed under the MIT License.
Remember: every contribution matters, no matter how small! 💪