Skip to content

contributing

BrunoV21 edited this page Apr 11, 2025 · 1 revision

Contributing to Git Recap

Thank you for considering contributing to Git Recap! We welcome all forms of contributions, including bug reports, feature requests, documentation improvements, and code contributions.

Getting Started

Prerequisites

  • Python 3.10+ (for backend development)
  • Node.js 18+ (for frontend development)
  • Docker (optional, for containerized development)
  • Git

Development Setup

  1. Fork and clone the repository:

    git clone https://github.com/YOUR_USERNAME/git-recap.git
    cd git-recap
  2. Set up backend:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    pip install -e .
  3. Set up frontend (if working on UI):

    cd app/git-recap
    npm install
  4. Run the development environment:

    • Backend:
      uvicorn app.api.main:app --reload
    • Frontend:
      npm run dev

Contribution Workflow

  1. Create a branch for your changes:

    git checkout -b feat/your-feature-name
  2. 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
  3. Write tests for new functionality:

    • Backend: Add pytest tests in tests/ directory
    • Frontend: Add Jest/React Testing Library tests
  4. Commit your changes with descriptive messages:

    git commit -m "feat: add new provider integration"
  5. Push your branch and open a Pull Request:

    git push origin feat/your-feature-name

Key Areas for Contribution

High Priority Areas

  • 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

Other Contribution Opportunities

  • Documentation: Improve guides, examples, and API references
  • Testing: Increase test coverage and add integration tests
  • Bug Fixes: Check the issue tracker for known issues

Code Standards

Python (Backend)

  • 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

TypeScript (Frontend)

  • 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

Testing Requirements

  • 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

Pull Request Guidelines

  • 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

Community

  • 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!

Clone this wiki locally