Skip to content

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 docs folder
  • Create PR or commit to main branch
  • Verify package deployment on PyPI stream

📚 Detailed Guides

For comprehensive information on specific aspects of contributing:

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:

Pro Tip

Start small! Consider improving documentation or fixing a small bug as your first contribution to get familiar with our process.