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 .bicep source (recipes, deployment templates, and test data).

Where these files live

  • Recipe and deployment-template .bicep files are spread across the tree, including test/ fixtures and pkg/**/testdata/.
  • Radius Bicep extensions are built from bicep-tools/; the CLI downloads them via rad 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 download first if you have not).
  • Any test that consumes the fixture still passes (see testing).