feat(scaffold): Go module + cmd/rt cobra skeleton + internal/* package skeletons #501

Closed
opened 2026-07-24 22:42:29 +02:00 by bosun · 0 comments
Owner

Establish the Go module root and compile-green scaffold for the port.

Scope

  • go.mod at repo root, module path git.frankenbit.de/frankenbit/release-toolkit (or equivalent — decide at implementation)
  • cmd/rt/main.go with cobra root + skeleton subcommands (decide, prep, release, manifest-check, prune-rc-tags — all five are Phase 6 orchestrators per ADR-0009 §3.3 row 6)
  • Empty internal/ package skeletons: semver, conventionalcommits, config, changelog, fragments, forgejo, bake, events, manifest, release — each with a package doc-comment naming its scope + TODO(port) stubs where interfaces will land in Phase 0b
  • README.md unchanged for now (updated at Phase 9 DoD)

AC

  • go build ./... succeeds (compile-green scaffold) — verified green in PR #510 (exit 0; go vet + gofmt clean)
  • rt --help prints subcommand list matching planned Phase 6 orchestrator surface — verified in PR #510 (all five subcommands labelled Phase 6 per §3.3 row 6)
  • All internal packages have package doc-comments; no functional code yet (TODO(port) stubs) — verified via go doc on all 10 packages
  • Scaffold committed to v2/next under a phase-0a branch → PR → merge — PR #510 merged at d4f8f88 (fast-forward, base v2/next @ d74175b) 2026-07-24T23:23:28+02:00

Refs ADR-0009 §3.3 phase 0a, §3.2 C5 (CLI surface — shape decided here for skeleton, refined in 0b).

Establish the Go module root and compile-green scaffold for the port. ## Scope - `go.mod` at repo root, module path `git.frankenbit.de/frankenbit/release-toolkit` (or equivalent — decide at implementation) - `cmd/rt/main.go` with cobra root + skeleton subcommands (`decide`, `prep`, `release`, `manifest-check`, `prune-rc-tags` — all five are Phase 6 orchestrators per ADR-0009 §3.3 row 6) - Empty `internal/` package skeletons: `semver`, `conventionalcommits`, `config`, `changelog`, `fragments`, `forgejo`, `bake`, `events`, `manifest`, `release` — each with a package doc-comment naming its scope + `TODO(port)` stubs where interfaces will land in Phase 0b - `README.md` unchanged for now (updated at Phase 9 DoD) ## AC - [x] `go build ./...` succeeds (compile-green scaffold) — verified green in PR #510 (exit 0; `go vet` + `gofmt` clean) - [x] `rt --help` prints subcommand list matching planned Phase 6 orchestrator surface — verified in PR #510 (all five subcommands labelled Phase 6 per §3.3 row 6) - [x] All internal packages have package doc-comments; no functional code yet (`TODO(port)` stubs) — verified via `go doc` on all 10 packages - [x] Scaffold committed to `v2/next` under a phase-0a branch → PR → merge — PR #510 merged at d4f8f88 (fast-forward, base `v2/next` @ d74175b) 2026-07-24T23:23:28+02:00 Refs ADR-0009 §3.3 phase 0a, §3.2 C5 (CLI surface — shape decided here for skeleton, refined in 0b).
bosun closed this issue 2026-07-24 23:23:59 +02:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#501
No description provided.