Skip to content

Development Workflow

This project follows GitHub Flow, a lightweight, branch-based workflow.

GitHub Flow

  1. Main Branch
  2. The main branch is always deployable
  3. All feature development and fixes branch from main
  4. Merges to main trigger deployments

  5. Feature Branches

  6. Create a branch for each feature/fix
  7. Use descriptive names with prefixes:

    • feature/ for new features
    • fix/ for bug fixes
    • docs/ for documentation
    • refactor/ for code refactoring
  8. Development Process

    # Create a new branch
    git checkout -b feature/new-feature
    
    # Make changes and commit
    git add .
    git commit -m "feat: add new feature"
    
    # Push changes
    git push origin feature/new-feature
    

  9. Pull Requests

  10. Create a PR when your feature is ready
  11. Fill in the PR template
  12. Request reviews from team members
  13. Address review comments

  14. CI/CD Pipeline

  15. Automated checks run on every PR:
    • Code linting
    • Tests
    • Documentation build
  16. Successful checks required for merge

  17. Deployment

  18. Merges to main trigger:
    • Docker image build and push
    • Documentation deployment
    • Package publication

Best Practices

  1. Commits
  2. Use conventional commit messages
  3. Keep commits focused and atomic
  4. Write clear commit descriptions

  5. Code Quality

  6. Run linters locally before pushing
  7. Add tests for new features
  8. Update documentation

  9. Reviews

  10. Review PRs promptly
  11. Provide constructive feedback
  12. Test changes locally if needed

  13. Documentation

  14. Update docs with code changes
  15. Keep README current
  16. Add inline code comments