- Create
terraform/modules/<noun>-<noun>/
- Add
main.tf, variables.tf, outputs.tf — no backend block
- Add
README.md describing inputs, outputs, and example usage
- Reference the module from the appropriate
terraform/stacks/<layer>/main.tf
- Wire inputs in the relevant
terragrunt/environments/<env>/<stack>/terragrunt.hcl
- Run
bash tests/validate/run.sh — must pass before committing
- Add
mock_outputs in any Terragrunt dependency {} blocks that reference new outputs
- Commit with
feat(terraform): add <module-name> module