Thank you for your interest in contributing to the Azure Local AVD project. Contributions are welcome — especially around testing across different Azure Local versions, AVD configurations, and session host scenarios.
- Read the README for an overview of the project
- This project deploys Azure Virtual Desktop infrastructure on Azure Local — test all changes in a non-production environment
- Check open issues and pull requests to avoid duplicate work
Use the bug report issue template. Include:
- Azure Local version (22H2, 23H2, etc.)
- AVD host pool and session host configuration
- Which script or template failed and at which step
- Full error message and relevant log output
Use the feature request issue template. Describe the use case, not just the solution.
Use the documentation issue template for missing, incorrect, or unclear docs.
- Fork the repo and create a branch from
main - Name branches using conventional types:
feat/session-host-scaling,fix/host-pool-config,docs/deployment-guide - Keep changes focused — one logical change per PR
- Update the README and relevant
docs/pages if your change affects usage or prerequisites - Add an entry to CHANGELOG.md under
[Unreleased] - Test your changes against at least one real Azure Local environment before submitting
- Fill out the pull request template completely
This project uses Conventional Commits:
<type>(<scope>): <description>
| Type | When |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
infra |
CI/CD, workflows, config |
chore |
Maintenance |
refactor |
Code improvement, no behavior change |
test |
Tests |
Examples:
feat(bicep): add session host auto-scalingfix(terraform): correct network security group rulesdocs(guides): add AVD deployment walkthrough
- Use approved PowerShell verbs (
Get-,Set-,New-,Remove-, etc.) - Include
[CmdletBinding()]andparam()blocks on all scripts - Use
Write-Verbosefor diagnostic output,Write-Warningfor non-fatal issues,Write-Errorfor failures - Guard destructive operations with
-WhatIf/-Confirmwhere practical
- Terraform, Bicep, and ARM templates should follow the conventions in
standards/ - Use variables for all environment-specific values — no hardcoded IPs, names, or paths
- Test against a real Azure Local environment before submitting
- Describe your test environment and results in the PR
This project follows the org-wide AzureLocal standards documented at azurelocal.cloud/standards. Key references:
- Repository Structure — Required files, directories, labels, branch naming
- Scripting Standards — PowerShell conventions
- Solution Development — IaC conventions
- Documentation Standards — Writing and formatting
- Variable Management — Config file patterns
- Fictional Company Policy — Use IIC, never Contoso
Be respectful and constructive. Keep discussions on-topic and collaborative.