Contributing Bicep files
July 13, 2026 · View on GitHub
Purpose
This is the primary doc for writing and modifying the .bicep files in Radius — the recipes and deployment templates that describe infrastructure, plus the Bicep test fixtures. It is reference material for anyone authoring Bicep. The detailed, rule-by-rule conventions live in the Bicep instruction file, which Copilot applies automatically to any .bicep file you edit; this doc gives the map of where the Bicep files live and how to keep them consistent.
Not the same as Bicep types. Generating the Radius Bicep type extension is part of the TypeSpec → Swagger → Go pipeline — see the schema changes guide. This doc is about authoring
.bicepsource (recipes, deployment templates, and test data).
Where these files live
- Recipe and deployment-template
.bicepfiles are spread across the tree, includingtest/fixtures andpkg/**/testdata/. - Radius Bicep extensions are built from
bicep-tools/; the CLI downloads them viarad bicep download.
Conventions
Follow the Bicep instruction file. Its emphasis for Radius:
- Naming — use the Radius resource naming and parameter conventions consistently.
- Deployment patterns — follow the established recipe/deployment-template structure so resources compose predictably.
- Parameterize, don't hard-code — expose environment- and application-specific values as parameters.
Verification
- The file compiles with the Radius Bicep extension (
rad bicep downloadfirst if you have not). - Any test that consumes the fixture still passes (see testing).
Related docs
- Schema changes — generate and locally publish the Radius Bicep type extension.
- Documentation index — every contributing doc.