You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Roadmap: keep go-template a minimal, current, low-friction Go scaffold
First strategy review for go-template (the repo had no roadmap label and no open issues). This epic sets the north-star and tracks the small set of theme-level work; actionable children link back here with Fixes #N.
Reconciled 2026-06-23 (strategy review #2). Themes 1 and 2 have shipped since this epic was filed — the original "→ child issue" prose below is kept for history but annotated with current status. Theme 3 (template-suite parity) is the lone open theme and is a portfolio-level holistic concern rather than a single-repo fix. See the reconciliation comment for evidence.
Where the product is
A deliberately minimal, batteries-included Go scaffold: no-op main.go, conventional cmd//internal//pkg/ layout, one tested pkg/example unit, golangci-lint v2 + MegaLinter, a validate-go-project ruleset gate (build/test/lint/dead-code/coverage), GoReleaser cd.yaml, daily Dependabot with the internal-dep cooldown exemption, and agent tooling (AGENTS.md + .claude/skills/maintain). It is healthy and current (Go floor 1.25.10, tooling-driven).
Where it should be
The bias is minimal, idiomatic, current — not feature-rich. So "advancing" this product means reducing friction and drift, never adding product features. Three themes:
Onboarding friction. — ✅ DELIVERED (feat(scripts): add rename-placeholders.sh for one-shot module-path onboarding #107, 2026-06-10).scripts/rename-placeholders.sh now does one-shot personalisation: it repoints the module path across go.mod, Go imports, and the README badge URLs (deriving the path from origin's GitHub remote, or taking it as an argument), runs go mod tidy, and deliberately leaves the upstream Use this template links intact. It is documented in both the README §"Use this template" and AGENTS.md. (Original ask: creating a project still required manual go mod edit -module … + fixing README references; gitops-tenant-template already shipped a scripts/rename-placeholders.sh and go-template had no equivalent.)
Toolchain & scaffold currency. — ✅ DELIVERED (documented policy + recurring freshness check in AGENTS.md). The Go floor is the single source of truth in go.mod (today 1.25.10); the tooling-driven rationale is now captured in the AGENTS.mdToolchain-floor policy section ("equals the highest minimum the house tooling requires — today Go 1.25 because the shared Dead Code Analysis step installs deadcode; bump only when forced, never speculatively, record the trigger in the PR body"), and a recurring Toolchain-floor freshness item lives in the Maintenance task menu. Nothing hard-codes a second copy of the version (copilot-setup-steps.yml reads go-version-file: go.mod; the README points at go.mod) so it cannot drift. A CI version-check job was deliberately not added — that would be feature-creep against the minimal-by-design constraint; an agent-cadence freshness check is the right weight for a template. (Original ask: the rationale lived only in prose and risked drifting → a small documented policy + a recurring freshness check.)
Template-suite parity (portfolio concern). — 🔄 OPEN (the lone remaining theme). go-template, dotnet-template, and the other templates should stay aligned on what they can share — agent files, label sets, Dependabot/cooldown policy, CI structure, README shape. Progress so far: .github/CODEOWNERS was added for parity (chore: add .github/CODEOWNERS for template-suite parity #117). Remaining parity reconciliation is a cross-template (holistic) effort and lands as additive PRs; it may graduate to a monorepo holistic-review item rather than living only here. Note: the sync-labels.yaml workflow (currently still present) is slated for org-wide retirement under devantler-tech/.github #58 now that declarative IssueLabels (chore(deps): Bump devantler-tech/reusable-workflows/.github/workflows/scan-for-todo-comments.yaml from 3.1.3 to 3.1.4 #57) has merged — that cutover is coordinated there, not in this epic.
Rough size
Small. The 2–3 focused children were Themes 1–2 (both now shipped); only the ongoing parity theme remains. No large structural change. Respect the minimal-by-design constraint — reject feature-creep proposals here.
Roadmap: keep go-template a minimal, current, low-friction Go scaffold
First strategy review for
go-template(the repo had noroadmaplabel and no open issues). This epic sets the north-star and tracks the small set of theme-level work; actionable children link back here withFixes #N.Where the product is
A deliberately minimal, batteries-included Go scaffold: no-op
main.go, conventionalcmd//internal//pkg/layout, one testedpkg/exampleunit, golangci-lint v2 + MegaLinter, avalidate-go-projectruleset gate (build/test/lint/dead-code/coverage), GoReleasercd.yaml, daily Dependabot with the internal-dep cooldown exemption, and agent tooling (AGENTS.md+.claude/skills/maintain). It is healthy and current (Go floor1.25.10, tooling-driven).Where it should be
The bias is minimal, idiomatic, current — not feature-rich. So "advancing" this product means reducing friction and drift, never adding product features. Three themes:
scripts/rename-placeholders.shnow does one-shot personalisation: it repoints the module path acrossgo.mod, Go imports, and the README badge URLs (deriving the path from origin's GitHub remote, or taking it as an argument), runsgo mod tidy, and deliberately leaves the upstream Use this template links intact. It is documented in both the README §"Use this template" andAGENTS.md. (Original ask: creating a project still required manualgo mod edit -module …+ fixing README references;gitops-tenant-templatealready shipped ascripts/rename-placeholders.shand go-template had no equivalent.)AGENTS.md). The Go floor is the single source of truth ingo.mod(today1.25.10); the tooling-driven rationale is now captured in theAGENTS.mdToolchain-floor policy section ("equals the highest minimum the house tooling requires — today Go 1.25 because the shared Dead Code Analysis step installsdeadcode; bump only when forced, never speculatively, record the trigger in the PR body"), and a recurring Toolchain-floor freshness item lives in the Maintenance task menu. Nothing hard-codes a second copy of the version (copilot-setup-steps.ymlreadsgo-version-file: go.mod; the README points atgo.mod) so it cannot drift. A CI version-check job was deliberately not added — that would be feature-creep against the minimal-by-design constraint; an agent-cadence freshness check is the right weight for a template. (Original ask: the rationale lived only in prose and risked drifting → a small documented policy + a recurring freshness check.).github/CODEOWNERSwas added for parity (chore: add .github/CODEOWNERS for template-suite parity #117). Remaining parity reconciliation is a cross-template (holistic) effort and lands as additive PRs; it may graduate to a monorepo holistic-review item rather than living only here. Note: thesync-labels.yamlworkflow (currently still present) is slated for org-wide retirement underdevantler-tech/.github#58 now that declarativeIssueLabels(chore(deps): Bump devantler-tech/reusable-workflows/.github/workflows/scan-for-todo-comments.yaml from 3.1.3 to 3.1.4 #57) has merged — that cutover is coordinated there, not in this epic.Rough size
Small. The 2–3 focused children were Themes 1–2 (both now shipped); only the ongoing parity theme remains. No large structural change. Respect the minimal-by-design constraint — reject feature-creep proposals here.