Skip to content

Roadmap: a frictionless, exemplary, current Go starter #67

@devantler

Description

@devantler

🤖 Generated by the Daily AI Assistant

Roadmap: a frictionless, exemplary, current Go starter

go-template's first strategy review (it had no roadmap, labels, or milestones before this). The goal of this repo is to be the clean baseline every new devantler-tech Go project starts from — minimal, idiomatic, current. It is already in good shape on the things that matter most: PRs are validated by the org‑required reusable workflows (validate-go-project → build / test / golangci‑lint / mega‑linter / dead‑code / coverage / tidy, plus CodeQL and zizmor), releases run through GoReleaser on v* tags, and the AI‑maintenance conventions (AGENTS.md + the maintain skill) are in place.

This roadmap captures the small, high‑value gaps between "a working repo" and "a polished starter someone reaches for." The bias stays minimal, idiomatic, current — no product features (per the template's AGENTS.md).

Theme & directions

  1. Frictionless to adopt — the repo is named/topic'd/described as a template but is not marked as a GitHub template repository, so the "Use this template" button is missing. → Enable the GitHub template-repository setting ("Use this template") #68
  2. Exemplary by example — the scaffold ships zero tests and a no‑op main.go, so the required 🧪 Test / 📊 Code Coverage jobs validate nothing and a new project inherits no testing pattern. Its sibling dotnet-template ships an ExampleClass + an ExampleClassTests. → Ship a minimal tested example package (test/coverage have nothing to run) #69
  3. Accurate, helpful docsAGENTS.md says the module "targets Go 1.24" while go.mod now floors go 1.25.10; the README doesn't mention the template‑usage flow, the bundled tooling/CI, or the AI‑maintenance setup. → Fix Go-version drift in AGENTS.md and enrich the README #70

Cross-cutting lens — parity with dotnet-template

The two templates should align where it makes sense (per the templates product card). The clearest divergence today is the missing example+test (direction 2). Other differences (dotnet has CODEOWNERS, .editorconfig, renovate.json; go uses dependabot.yaml + cspell.json + .golangci.yml/.mega-linter.yml) are mostly deliberate per‑ecosystem choices — not all worth forcing into lockstep. Revisit broader parity once the example+test lands.

Explicitly out of scope (deliberate, not gaps)

  • No local validate-go-project.yaml caller — validation runs via the org‑required Require workflows ruleset (from devantler-tech/reusable-workflows), so a local caller is unnecessary. Not a CI gap.
  • No product features — this is a scaffold; keep it empty and idiomatic.

Size

Whole roadmap is S — three small, independently shippable children. Each is a good good first issue‑grade change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    roadmapStrategic roadmap item

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions