| name | federalavd-bicep-maintenance |
| description | Modify and validate FederalAVD Bicep templates, generated ARM JSON, parameters, and uiFormDefinition files. Use when changing deployment resources, adding parameters or outputs, synchronizing Bicep with JSON, publishing Template Specs, or debugging portal form behavior. |
| argument-hint | [deployment folder or Bicep file] |
FederalAVD Bicep Maintenance
Use this workflow for templates under deployments/ and policy/bicep/.
Procedure
-
Read the complete entry template and the nearest module that directly controls the behavior.
-
Before editing Bicep, obtain current Bicep best practices and the authoritative resource type
schema for each resource being changed. Do not rely on old generated ARM JSON as a schema.
-
Trace affected parameters, outputs, module calls, example parameter files, documentation, and
deployment scripts. Preserve existing public parameter names unless a breaking change is
explicitly required.
-
Make the smallest source change in .bicep. Do not hand-edit generated ARM JSON.
-
Build the changed Bicep immediately and resolve new errors. Known repository warnings must be
distinguished from warnings introduced by the change.
-
When a same-name .json exists beside the entry Bicep, always regenerate the tracked ARM JSON
with Azure CLI before running the sync test. The sync test only builds a temporary comparison
file; it does not update the tracked JSON.
az bicep build `
--file deployments/<component>/<component>.bicep `
--outfile deployments/<component>/<component>.json
& .github/skills/federalavd-bicep-maintenance/scripts/Test-BicepArmSync.ps1 `
-BicepPath deployments/<component>/<component>.bicep
-
When adding or changing a user-facing parameter, review the sibling uiFormDefinition.json,
example parameter files, docs/parameters.md, and deployment documentation.
-
Validate UI forms against the current Microsoft schema and Form View documentation. Dropdown
defaultValue must match the option label, not its submitted value.
-
Review cross-solution dependencies before changing files under deployments/.
-
Run the narrowest deployment validation available, then inspect the focused diff for generated
changes that are larger than expected.
See UI form rules for repository-specific failure modes.