-
Notifications
You must be signed in to change notification settings - Fork 1
contributing
BrunoV21 edited this page Apr 11, 2025
·
1 revision
Thank you for considering contributing to Git Recap! We welcome all forms of contributions, including bug reports, feature requests, documentation improvements, and code contributions.
- Python 3.10+ (for backend development)
- Node.js 18+ (for frontend development)
- Docker (optional, for containerized development)
- Git
-
Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/git-recap.git cd git-recap -
Set up backend:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt pip install -e .
-
Set up frontend (if working on UI):
cd app/git-recap npm install -
Run the development environment:
- Backend:
uvicorn app.api.main:app --reload
- Frontend:
npm run dev
- Backend:
-
Create a branch for your changes:
git checkout -b feat/your-feature-name
-
Make your changes following the existing code style:
- Python: Follow PEP 8 guidelines
- TypeScript: Use strict typing and React best practices
- Document new features with docstrings/markdown
-
Write tests for new functionality:
- Backend: Add pytest tests in
tests/directory - Frontend: Add Jest/React Testing Library tests
- Backend: Add pytest tests in
-
Commit your changes with descriptive messages:
git commit -m "feat: add new provider integration" -
Push your branch and open a Pull Request:
git push origin feat/your-feature-name
- New Git Providers: Add support for additional version control platforms
- Performance Improvements: Optimize API calls and data processing
- UI Enhancements: Improve the user experience and visual design
- Documentation: Improve guides, examples, and API references
- Testing: Increase test coverage and add integration tests
- Bug Fixes: Check the issue tracker for known issues
- Follow PEP 8 style guide
- Use type hints for all function signatures
- Keep functions small and focused
- Document public APIs with docstrings
- Use FastAPI best practices for endpoints
- Use strict TypeScript typing
- Follow React hooks best practices
- Keep components small and reusable
- Use functional components with hooks
- Follow the existing UI component patterns
- All new features must include tests
- Bug fixes should include regression tests
- Maintain at least 80% test coverage
- Run tests before submitting PR:
pytest # Backend tests npm test # Frontend tests
- Keep PRs focused on a single feature/bugfix
- Include a clear description of changes
- Reference related issues
- Ensure all tests pass
- Update documentation if needed
- Join our [Discord/Slack channel] for discussions
- Be respectful and inclusive in all communications
- Follow the Code of Conduct
We appreciate your contributions and look forward to collaborating with you!