Development Workflow¶
This guide covers the step-by-step development process for contributing to the CLOE Toolbox.
Branch Strategy¶
We follow a feature branch workflow optimized for Azure DevOps:
graph LR
A[main] --> B[feature/add-new-tool]
B --> C[Initial setup]
C --> D[Add core functionality]
D --> E[Add tests]
E --> F[Update docs]
F --> G[merge to main]
G --> H[Released v1.1.0]
Repository Setup Process¶
-
Plan Your Contribution
- Create a feature/user story in Azure DevOps board
- Define clear acceptance criteria and scope
-
Repository Setup (for new packages)
- Contact Product Management for repository creation
- Repository will be pre-configured with:
- CI/CD Azure Pipelines
- SonarCloud integration
- Branch protection policies
- Required PR settings
-
Local Development Setup
-
Use Package Templates
- Refer to Building Blocks for available templates
- Templates include:
- Project structure
- CI/CD configurations
- Testing frameworks
- Documentation templates
Step-by-Step Development Process¶
-
Create Feature Branch
-
Develop Your Feature
- Follow the coding standards and guidelines in our Python guide
- Use appropriate building blocks to avoid redundant development
- Implement features incrementally with regular commits
-
Write Comprehensive Tests
- Use
pytestfor Python projects - Aim for >80% code coverage
- Include unit, integration, and end-to-end tests
- Place tests in the
tests/folder
- Use
-
Update Documentation
- Document new features in the
docs/folder - Update API documentation
- Add usage examples and tutorials
- Follow our documentation guide
- Document new features in the
-
Commit Changes with Conventional Commits
We use Conventional Commits for clear commit history:
# Feature commits git commit -m "feat: add user authentication module #1234" # Bug fixes git commit -m "fix: resolve memory leak in data processor #1234" # Documentation git commit -m "docs: add API reference for new endpoints #1234"Work Item Linking
Always include the Azure DevOps work item ID (e.g.,
#1234) to automatically link commits to your user story or task. -
Create Pull Request
- Push your branch to Azure DevOps
- Create a detailed PR description including:
- Summary of changes
- Testing performed
- Breaking changes (if any)
- Screenshots/demos (if applicable)
-
Code Review & Deployment
- Address reviewer feedback promptly
- Ensure CI/CD pipeline passes
- Once approved, PR will be merged automatically
- Monitor deployment to ensure successful release