Skip to content

Contributing

Development Workflow

  1. Fork & Clone

    git clone https://github.com/YOUR_USERNAME/draftforge.git
    

  2. Setup Environment

    ./dev  # Installs just, creates venv, installs deps
    

  3. Create Branch

    git checkout -b feature/your-feature
    

  4. Start Development

    just dev::debug
    

  5. Run Tests

    just test::setup
    just test::pw::headless
    

  6. Commit & Push

    git add .
    git commit -m "feat: your feature description"
    git push origin feature/your-feature
    

  7. Create Pull Request

Code Standards

Python (Backend)

  • Follow PEP 8
  • Use type hints
  • Run with DISABLE_CACHE=true for management commands

TypeScript (Frontend)

  • Use Zod for API validation
  • Use Shadcn UI components
  • Follow hook naming: <what><action>Hook.tsx
  • Use getLogger() for logging

Commit Messages

Follow conventional commits:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • refactor: Code refactoring
  • test: Adding tests
  • chore: Maintenance

Pull Request Guidelines

  • Include description of changes
  • Reference related issues
  • Ensure tests pass
  • Update documentation if needed