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 dotnet-template a minimal, current, low-friction .NET scaffold
First strategy review for dotnet-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 and close with Fixes #N. It deliberately mirrors the sibling go-template roadmap epic #104 — the two scaffolds should advance in lockstep.
Where the product is
A deliberately minimal, batteries-included .NET scaffold: an Example.slnx solution wiring one library project (src/Example, a single documented ExampleClass.Add member) to a matching xUnit test project (tests/Example.Tests, on xunit.v3), the house defaults baked into every project (Nullable, ImplicitUsings, AnalysisMode=All, EnforceCodeStyleInBuild, GenerateDocumentationFile, TreatWarningsAsErrors), a ci.yaml required-checks aggregator with the actual build/test enforced by the org-required reusable workflow, semantic-release → NuGet publish on v* tags, daily Dependabot, and agent tooling (AGENTS.md + .claude/skills/maintain). It is healthy and current (net10.0, SDK floor 10.0.300 with rollForward: latestFeature).
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. Creating a project from the template still requires manual, error-prone steps: the README asks the adopter to rename the solution, the library project, the namespace, and the test project from Example, then replace ExampleClass. ✅ DELIVERED on main — scripts/rename-placeholders.sh (a two-pass type-then-project rename) personalises the scaffold in one shot, and the README Use this template section documents the adopt-and-delete checklist (direct parity with go-template #107).
Toolchain & scaffold currency. The SDK floor (global.json10.0.300, rollForward: latestFeature) and the net10.0 TFM are bumped ad-hoc; the rationale (why this floor, when to raise it) lives nowhere. ✅ DELIVERED on main — AGENTS.md carries the Toolchain-floor policy section and the Toolchain-floor freshness maintenance task (parity with go-template chore(deps): Bump devantler-tech/reusable-workflows/.github/workflows/ci-dotnet-test.yaml from 1.31.1 to 1.32.0 #106); the SDK floor lives only in global.json as the single source of truth.
Template-suite parity (portfolio concern). 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, and onboarding ergonomics. Divergence is drift. Tracked here as a theme; concrete reconciliation lands as additive PRs (and may graduate to a monorepo holistic-review item). In flight:PR #242 adds the copilot-setup-steps workflow for parity with go-template/platform-template (both already ship it; dotnet-template and gitops-tenant-template did not).
Rough size
Small. 2–3 focused children, each independently shippable; no large structural change. Respect the minimal-by-design constraint — reject feature-creep proposals here.
Refreshed 2026-06-23 (strategy review against live main): themes 1 (onboarding script) and 2 (toolchain-floor policy + freshness) marked delivered — the body previously implied they were unstarted (the 319th stale-roadmap trap). The stale .github/copilot-instructions.md reference was dropped (no longer maintained — Copilot reads AGENTS.md directly). Theme 3 (suite parity) is the lone open direction; PR #242 is its first reconciliation.
Roadmap: keep dotnet-template a minimal, current, low-friction .NET scaffold
First strategy review for
dotnet-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 and close withFixes #N. It deliberately mirrors the siblinggo-templateroadmap epic #104 — the two scaffolds should advance in lockstep.Where the product is
A deliberately minimal, batteries-included .NET scaffold: an
Example.slnxsolution wiring one library project (src/Example, a single documentedExampleClass.Addmember) to a matching xUnit test project (tests/Example.Tests, on xunit.v3), the house defaults baked into every project (Nullable,ImplicitUsings,AnalysisMode=All,EnforceCodeStyleInBuild,GenerateDocumentationFile,TreatWarningsAsErrors), aci.yamlrequired-checks aggregator with the actual build/test enforced by the org-required reusable workflow, semantic-release → NuGet publish onv*tags, daily Dependabot, and agent tooling (AGENTS.md+.claude/skills/maintain). It is healthy and current (net10.0, SDK floor10.0.300withrollForward: latestFeature).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:
Example, then replaceExampleClass. ✅ DELIVERED onmain—scripts/rename-placeholders.sh(a two-pass type-then-project rename) personalises the scaffold in one shot, and the README Use this template section documents the adopt-and-delete checklist (direct parity with go-template #107).global.json10.0.300,rollForward: latestFeature) and thenet10.0TFM are bumped ad-hoc; the rationale (why this floor, when to raise it) lives nowhere. ✅ DELIVERED onmain—AGENTS.mdcarries the Toolchain-floor policy section and the Toolchain-floor freshness maintenance task (parity with go-template chore(deps): Bump devantler-tech/reusable-workflows/.github/workflows/ci-dotnet-test.yaml from 1.31.1 to 1.32.0 #106); the SDK floor lives only inglobal.jsonas the single source of truth.copilot-setup-stepsworkflow for parity withgo-template/platform-template(both already ship it;dotnet-templateandgitops-tenant-templatedid not).Rough size
Small. 2–3 focused children, each independently shippable; no large structural change. Respect the minimal-by-design constraint — reject feature-creep proposals here.
Refreshed 2026-06-23 (strategy review against live
main): themes 1 (onboarding script) and 2 (toolchain-floor policy + freshness) marked delivered — the body previously implied they were unstarted (the 319th stale-roadmap trap). The stale.github/copilot-instructions.mdreference was dropped (no longer maintained — Copilot readsAGENTS.mddirectly). Theme 3 (suite parity) is the lone open direction; PR #242 is its first reconciliation.