Contributing to Agentic InfraOps¶
Thank you for your interest in contributing! Agentic InfraOps revolutionizes how IT Pros build Azure environments through coordinated AI agents.
This file is the quick contributor entrypoint. For the agent orchestration workflow, see Agent Architecture.
What We're Looking For¶
High-Priority Contributions¶
- Agent Improvements
- Enhancements to existing agents (
.github/agents/*.agent.md) - Better prompts and handoff patterns
-
Additional validation checks
-
Documentation
- Workflow improvements (
workflow.md) - Better examples and use cases
-
Troubleshooting guides
-
Best Practices
- Bicep and Terraform patterns and templates
- Azure Verified Module usage examples (Bicep and AVM-TF)
- Security and compliance guidance
Contribution Guidelines¶
Before You Start¶
- Check existing issues - Someone might already be working on it
- Open an issue - Discuss your idea before investing time
Branching and PRs (Canonical)¶
Protected main branch
Direct pushes to main are blocked. All changes must go through a pull request
with passing status checks and at least one approval.
This repo uses a protected main branch.
Contributions land via pull requests with required checks and review.
- Agent orchestration reference: Agent and Skill Workflow
Code Standards¶
Bicep:
// Use consistent naming conventions
// Include parameter descriptions
// Add output values
// Follow Azure naming best practices
Terraform:
# Use consistent naming conventions (CAF)
# Variables in variables.tf with descriptions and validation
# Outputs in outputs.tf
# AVM-TF modules preferred over raw resources
# Provider pinned to ~> 4.0 (AzureRM)
Documentation Standards¶
- Use clear, concise language
- Include code examples
- Document prerequisites
- Use Mermaid for diagrams
Markdown Linting¶
This repository uses markdownlint for consistent formatting.
Running the linter:
# Check for issues
npm run lint:md
# Check links (docs/ only)
npm run lint:links
# Auto-fix issues
npm run lint:md:fix
Contribution Process¶
1. Fork & Clone¶
Contributing to the upstream project
For using Agentic InfraOps, create your own repo from the Accelerator template. The instructions below are for contributing back to this upstream project.
git clone https://github.com/YOUR-USERNAME/azure-agentic-infraops.git
cd azure-agentic-infraops
git remote add upstream https://github.com/jonathan-vella/azure-agentic-infraops.git
2. Create a Branch¶
3. Make Your Changes¶
- Follow the guidelines above
- Test any Bicep changes with
bicep buildandbicep lint - Test any Terraform changes with
terraform fmt -check,terraform validate, andnpm run validate:terraform - Validate markdown and links with
npm run lint:mdandnpm run lint:links
For the full local-to-PR flow, see:
4. Commit & Push¶
git add .
git commit -m "feat: add diagram generator improvements"
git push origin feature/your-feature-name
Note: commit message format is enforced by hooks and CI.
Commit Message Format (Required)¶
Enforced by commitlint
Commit messages are validated automatically before each commit. Non-conforming messages will be rejected with a helpful error.
This repository uses Conventional Commits with automated enforcement.
Format¶
Types¶
| Type | Description | Version Bump |
|---|---|---|
feat |
New feature | Minor (1.x.0) |
fix |
Bug fix | Patch (1.0.x) |
docs |
Documentation only changes | None |
style |
Code style (formatting, semicolons) | None |
refactor |
Code refactoring (no functional change) | None |
perf |
Performance improvements | None |
test |
Adding or updating tests | None |
build |
Build system or dependencies | None |
ci |
CI/CD configuration | None |
chore |
Maintenance tasks | None |
revert |
Reverting a previous commit | None |
Breaking Changes¶
For breaking changes, add ! after the type or include BREAKING CHANGE: in the footer:
# Breaking change indicator
git commit -m "feat!: redesign agent workflow architecture"
# Or with footer
git commit -m "feat: new output structure
BREAKING CHANGE: agent outputs now go to agent-output/ folder"
Breaking changes trigger a major version bump (x.0.0).
Examples¶
# Feature (minor version bump)
git commit -m "feat: add terraform validation agent"
git commit -m "feat(bicep): add diagnostic settings module"
# Bug fix (patch version bump)
git commit -m "fix: correct resource naming in Key Vault module"
git commit -m "fix(docs): update broken quickstart links"
# No version bump
git commit -m "docs: update workflow documentation"
git commit -m "chore: update dev container configuration"
git commit -m "refactor: simplify agent handoff logic"
Validation¶
Commits are automatically validated by the commit-msg hook. If your commit message doesn't follow the format, you'll see a helpful error with examples.
5. Create Pull Request¶
- Go to your fork on GitHub
- Click "New Pull Request"
- Fill out the PR template
- Link related issues
Pull Request Checklist¶
Before submitting:
- [ ] Code follows repository standards
- [ ] Documentation updated if needed
- [ ] Markdown files pass linting (
npm run lint:md) - [ ] Docs links pass checks (
npm run lint:links) - [ ] Bicep templates validate (
bicep build+bicep lint) if applicable - [ ] Terraform configs validate (
terraform validate+terraform fmt -check) if applicable - [ ] No hardcoded secrets or subscription IDs
- [ ] Links work correctly
Community Standards¶
Code of Conduct¶
- Be respectful and inclusive
- Welcome newcomers
- Focus on constructive feedback
- No harassment or discrimination
Getting Help¶
- Questions: GitHub Discussions
- Issues: GitHub Issues
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping improve the Azure infrastructure workflow!