Skip to content

feat: scaffold CODEOWNERS and AWS OIDC example in cascade init#237

Merged
joshua-temple merged 1 commit into
mainfrom
feat/cascade-init-scaffold
Jun 21, 2026
Merged

feat: scaffold CODEOWNERS and AWS OIDC example in cascade init#237
joshua-temple merged 1 commit into
mainfrom
feat/cascade-init-scaffold

Conversation

@joshua-temple

Copy link
Copy Markdown
Collaborator

Problem

cascade init already scaffolds a starter manifest plus build/deploy callback stubs and self-checks them through the real generator, but issue #4's acceptance list also calls for a starter .github/CODEOWNERS and an AWS OIDC role example, and the verifying-starter property (init then generate leaves verify clean) was never proven in a test.

Fix

  • internal/scaffold: every scaffold now also emits .github/CODEOWNERS (catch-all review rule with a placeholder team) and .github/aws-oidc-role.example.json (an IAM trust-policy example for GitHub Actions OIDC, matching the documented configure-aws-credentials role-to-assume format, with placeholder account/org/repo). Both shapes (release-only and multi-env) get both files. Content is static and deterministic.
  • New integration test internal/initcmd/verify_clean_test.go: runs the real init into a temp dir for the no-env and four-env shapes, generates the planned workflows the way generate-workflow does, then asserts verify.Run returns nil (no drift, no orphans). This is the verifying-starter proof.
  • Unit tests for presence, valid JSON, determinism, and a guardrail scan of scaffolded content.
  • Docs: cli-reference init section and README quick-start note the new files and the verifying-starter property.

Verification

  • go build ./cmd/... ./internal/...: OK
  • go test ./...: green except the documented local-only TestNormalizeWorkflowPath_ActionlintClean flake in internal/generate (actionlint resolves reusable-workflow paths against the real repo root; untouched by this change, passes in CI).
  • golangci-lint run ./...: 0 issues.

Closes #4.

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple joshua-temple enabled auto-merge (squash) June 21, 2026 08:06
@joshua-temple joshua-temple merged commit 6a9a860 into main Jun 21, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: starter template / cascade init scaffold

1 participant