Thank you for your interest in contributing to this repository! This guide will help you get started.
This project is maintained by Code to Cloud
- Code of Conduct
- How to Contribute
- Development Setup
- Coding Standards
- Pull Request Process
- Documentation
This project follows the Microsoft Open Source Code of Conduct. By participating, you agree to abide by its terms.
- Check existing issues before creating a new one
- Use the issue templates when available
- Provide detailed information:
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Python/Node version, etc.)
- Open an issue with the "enhancement" label
- Describe the use case and expected benefit
- Include examples if possible
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
# Required tools
- Git
- Python 3.10+
- Azure CLI
- Azure Developer CLI (azd)# Clone your fork
git clone https://github.com/YOUR-USERNAME/azure-agentic-engineering.git
cd azure-agentic-engineering
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # or `.venv\Scripts\activate` on Windows
# Install dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit installCreate a .env file (never commit this):
# Copy the example
cp .env.example .env
# Edit with your values
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com- Follow PEP 8
- Use type hints
- Write docstrings for all public functions
- Maximum line length: 100 characters
async def create_agent(
name: str,
instructions: str,
tools: list[Callable] | None = None
) -> Agent:
"""
Create a new AI agent.
Args:
name: The agent's name
instructions: System instructions for the agent
tools: Optional list of tool functions
Returns:
Configured Agent instance
Raises:
ValueError: If name is empty
"""
...- Use modules for reusable components
- Include descriptions for all parameters
- Follow naming conventions from the Azure Cloud Adoption Framework
- Use clear, concise language
- Include code examples
- Keep README files up to date
-
Test your changes
# Run tests pytest tests/ # Run linting ruff check . mypy .
-
Update documentation if needed
-
Ensure commits are clean
# Squash if needed git rebase -i main
- Clear title and description
- Links to related issues
- Tests for new functionality
- Documentation updates
- No secrets or credentials
- Passes CI checks
type(scope): description
Examples:
- feat(agents): add streaming support
- fix(docs): correct SDK installation instructions
- docs(security): add RBAC best practices
- chore(infra): update Bicep modules
- A team member will review within 2-3 business days
- Address any feedback
- Once approved, a maintainer will merge
- Place in appropriate
docs/subdirectory - Update navigation in README if needed
- Include practical examples
- Must be runnable (or clearly marked as pseudocode)
- Include all necessary imports
- Add comments explaining key concepts
- Open a discussion in the repository
- Visit the Code to Cloud organization
- Check other projects in the org for related resources
Thank you for contributing! 🎉