Contributing to CLOE Toolbox¶
Welcome to the CLOE Toolbox contribution guide! This guide will help you contribute effectively to our modular suite of building blocks and tools.
🎯 Overview¶
The CLOE Toolbox is a modular ecosystem of reusable building blocks designed to accelerate development and standardize practices across our organization. By contributing, you're helping to:
- Accelerate Development: Reusable components reduce time-to-market
- Standardize Practices: Consistent development patterns across teams
- Enable Collaboration: Shared tools that benefit the entire organization
- Ensure Quality: Built-in testing, security, and best practices
graph TB
    A[💡 Idea] --> B{New Package?}
    B -->|Yes| C[� Request Repository]
    B -->|No| D[🔍 Find Existing Package]
    C --> E[🏗️ Setup Development]
    D --> E
    E --> F[💻 Develop & Test]
    F --> G[� Document]
    G --> H[🔄 Create PR]
    H --> I[✅ Review & Deploy]� Getting Started¶
Prerequisites¶
Before you begin contributing, ensure you have:
- Development Environment: VSCode with devcontainer
- Version Control: Git configured with your Azure DevOps credentials
- Python Environment: Python 3.11+ with uv for package management
- Azure DevOps Access: Permissions to create work items and repositories
Choose Your Contribution Path¶
flowchart TD
    A[What do you want to contribute?] --> B{New Tool/Package}
    A --> C{Enhance Existing Package}
    A --> D{Fix Bug/Issue}
    B --> E[📝 Request New Repository]
    C --> F[🔍 Find Package Repository]
    D --> F
    E --> G[🏗️ Setup New Project]
    F --> H[🔄 Fork & Branch]
    G --> I[💻 Develop & Test]
    H --> I
    I --> J[📚 Document Changes]
    J --> K[🔄 Submit PR]📋 Quick Reference¶
Creating a New Package¶
- Create feature in Azure DevOps board
- Request repository setup from Product Management
- Clone repository to local environment (VSCode recommended)
- Use appropriate package template for initialization
-  Set package version and owner in pyproject.toml
- Write comprehensive tests
-  Create documentation in docsfolder
- Create PR or commit to main branch
- Verify package deployment on PyPI stream
📚 Detailed Guides¶
For comprehensive information on specific aspects of contributing:
- Development Workflow - Step-by-step development process, branching strategy, and code review
- Git & Conventional Commits - Git workflow, commit standards, and Azure DevOps integration
- Documentation Guidelines - How to write effective documentation with MkDocs
- Python Development - Python-specific coding standards and best practices
For information about our three-tier building blocks architecture, see the Building Blocks page.
Ready to Contribute?
Choose your path from the detailed guides above and start contributing to the CLOE Toolbox ecosystem!
Remember to start with a clear plan, follow our guidelines, and don't hesitate to ask for help when needed.
📞 Getting Help¶
💬 Communication Channels¶
- 👨💼 Product Manager: Repository setup, concept questions, strategic questions
- 👥 Developer Chat: Microsoft Teams for technical discussions
- 📋 Work Items: Azure DevOps for bug reports and feature requests
- 📚 Documentation: Comprehensive guides for self-service help
🆘 Common Questions¶
Q: How do I request a new repository? A: Contact Product Management with your project proposal and requirements.
Q: Which building block type should I create? A: See our Building Blocks to understand the different types.
Q: How do I link my commits to work items?
A: Include the work item ID in your commit message: feat: new feature #1234
Q: Where can I see if my package was published? A: Check our PyPI stream for published packages.
🎉 Ready to Contribute?¶
Choose your path and start contributing to the CLOE Toolbox ecosystem:
- 
 Master our Git workflow and conventional commit standards 
- 
 Create clear, helpful documentation for your contributions 
- 
 Follow Python-specific coding standards and best practices 
Pro Tip
Start small! Consider improving documentation or fixing a small bug as your first contribution to get familiar with our process.