Context
The current architecture-paths defaults in `require-agdr-for-arch-changes.sh` catch Terraform (`*.tf`), Docker Compose, Dockerfiles, and GitHub Actions workflows. Rex's review of PR #24 flagged that several other common IaC shapes are missing from the defaults:
- Serverless Framework — `serverless.yml` / `serverless.yaml`
- Helm charts — `Chart.yaml`, `values.yaml`
- AWS SAM — `template.yaml` / `template.yml`
The question is purely about which patterns are universally common enough to justify being in the framework's defaults (low false-positive risk across any fork), vs which should stay as project-config overrides.
Decision criteria (framework-agnostic)
| Pattern |
Industry prevalence |
Ambiguity risk |
Default candidate? |
| `(^ |
/)serverless\.ya?ml$` |
Common (Serverless Framework) |
Very low — "serverless" as a filename has no non-IaC meaning |
| `(^ |
/)Chart\.ya?ml$` |
Common (Helm) |
Low — `Chart.yaml` is Helm-specific naming |
| `(^ |
/)template\.ya?ml$` |
Common (SAM, CFN) |
High — Jekyll, Hugo, Rails generators, many frameworks use `template.yaml` for unrelated things |
| K8s manifests (`*-deployment.yaml`, etc.) |
Common (Kubernetes) |
High — too many naming patterns, no single regex is safe |
No — project override |
Acceptance Criteria
Non-goals
- No consumer-project-specific changes. This is a framework-level decision based on industry prevalence and false-positive rates, not on any specific project's stack.
- Projects that use SAM `template.yaml` should add `(^|/)template\.ya?ml$` to their own `.architecture_paths` in project-config.json.
Links
Context
The current architecture-paths defaults in `require-agdr-for-arch-changes.sh` catch Terraform (`*.tf`), Docker Compose, Dockerfiles, and GitHub Actions workflows. Rex's review of PR #24 flagged that several other common IaC shapes are missing from the defaults:
The question is purely about which patterns are universally common enough to justify being in the framework's defaults (low false-positive risk across any fork), vs which should stay as project-config overrides.
Decision criteria (framework-agnostic)
Acceptance Criteria
Non-goals
Links