@@ -47,13 +47,17 @@ Build the second layer early, not after the repo gets messy.
4747- ` README.md `
4848- ` CONTRIBUTING.md `
4949- ` SECURITY.md `
50+ - ` CODE_OF_CONDUCT.md ` for public/community-facing templates
51+ - ` LICENSE ` for public templates
5052- ` AGENTS.md ` or equivalent internal guidance
53+ - tool-specific agent guidance only if you actively maintain it
5154- short roadmap file like ` soon.md `
5255
5356### Root Commands
5457
5558- ` dev `
5659- ` check `
60+ - ` e2e ` if the repo ships real browser or full-stack user flows
5761- ` check:contract ` if generated artifacts exist
5862- ` check:images ` if the repo ships deployable containers
5963- ` check:workflows `
@@ -68,15 +72,17 @@ Build the second layer early, not after the repo gets messy.
6872- license reporting when dependency visibility matters
6973- SBOM generation for source or publishable artifacts when relevant
7074- app verification
75+ - browser E2E or integration coverage when the template markets real user flows
7176- cross-platform check if relevant
7277- packaging or Docker build check if relevant
7378
7479### Release Layer
7580
76- - release drafter
81+ - release drafter or release-please
7782- semver labels
7883- label sync
7984- publish workflow
85+ - managed changelog and version files if your release tool owns them
8086- provenance attestations for published artifacts when possible
8187- attach SBOMs to releases when you publish installable artifacts or images
8288- release smoke test
@@ -113,13 +119,16 @@ Generic takeaway:
113119- every serious starter should have a contributor guide
114120- every serious starter should have an internal or agent-facing rules file
115121- every public starter should have a security reporting path
122+ - every public starter should usually ship a code of conduct and explicit license
123+ - tool-specific AI guidance should be optional and maintained, not sprayed everywhere by default
116124
117125### Root Script Layer
118126
119127Keep:
120128
121129- ` scripts/dev.mjs `
122130- ` scripts/check.mjs `
131+ - ` scripts/e2e.mjs `
123132- ` scripts/check-contract-drift.mjs `
124133- ` scripts/check-docker-builds.mjs `
125134- ` scripts/check-release-smoke.mjs `
@@ -139,6 +148,7 @@ Generic takeaway:
139148
140149- keep a root ` dev ` command
141150- keep a root ` check ` command
151+ - add a root ` e2e ` command when the product story depends on real user flows
142152- add small focused helper scripts instead of giant shell blobs in workflows
143153- prefer reusable scripts that can run locally and in CI
144154
@@ -229,8 +239,10 @@ What it should cover:
229239- draft releases from merged PRs
230240- path-based autolabeling
231241- semver bump guidance through labels
232- - tag-triggered release workflow
242+ - one clear release spine such as release-please or draft-plus-publish
243+ - tag-triggered release workflow or release PR merge flow
233244- package or image publishing
245+ - managed changelog and version files when the release tool owns them
234246- provenance attestations for published artifacts
235247- attached SBOM release assets for published source and runtime artifacts
236248- release smoke test against published artifacts
@@ -246,6 +258,7 @@ Why it matters:
246258Generic takeaway:
247259
248260- if the repo is public and meant to last, release automation is worth it
261+ - pick one release automation path and document it clearly instead of mixing multiple half-systems
249262- release smoke tests are especially valuable because they test the thing users actually consume
250263- provenance attestations strengthen trust in published artifacts without requiring manual signing steps
251264- attaching SBOMs directly to releases makes supply-chain metadata easier for downstream users to consume
@@ -325,6 +338,25 @@ Generic takeaway:
325338
326339- if a repo relies on Actions, lint the workflows
327340
341+ ### Browser E2E Or Full-Stack Smoke Coverage
342+
343+ Keep when relevant:
344+
345+ - ` scripts/e2e.mjs `
346+ - browser smoke workflow
347+ - stable seeded test account or fixture data
348+
349+ Why it matters:
350+
351+ - verifies real user journeys before release, not just units and builds
352+ - catches auth, routing, startup, and environment-wiring regressions
353+ - makes a public starter feel much more trustworthy
354+
355+ Generic takeaway:
356+
357+ - if the template markets login, dashboard, forms, or other full-stack flows, ship at least one browser E2E smoke path
358+ - keep it focused on stable happy-path journeys rather than UI trivia
359+
328360### Post-Release Smoke Testing
329361
330362Keep when relevant:
@@ -390,6 +422,8 @@ For a strong public starter, this is a good baseline:
390422README.md
391423CONTRIBUTING.md
392424SECURITY.md
425+ CODE_OF_CONDUCT.md
426+ LICENSE
393427AGENTS.md
394428soon.md
395429.github/CODEOWNERS
@@ -410,6 +444,7 @@ soon.md
410444.github/workflows/codeql.yml
411445scripts/dev.mjs
412446scripts/check.mjs
447+ scripts/e2e.mjs
413448scripts/check-actionlint.mjs
414449scripts/check-secrets.mjs
415450scripts/report-licenses.mjs
@@ -426,6 +461,13 @@ docs/openapi.yaml
426461tests/fixtures/*
427462tests/snapshots/*
428463src/app/docs-preview/*
464+ CHANGELOG.md
465+ version.txt
466+ release-please-config.json
467+ .release-please-manifest.json
468+ .github/copilot-instructions.md
469+ .cursor/rules/*
470+ CLAUDE.md
429471```
430472
431473## Suggested Template Blueprint
@@ -437,13 +479,15 @@ For most future non-domain-specific starters, preserve this rough shape:
437479- strong README
438480- contributor guide
439481- security policy
482+ - code of conduct and license for public templates
440483- agent guidance
441484- roadmap file
442485
443486### Local DX
444487
445488- root ` dev `
446489- root ` check `
490+ - root ` e2e ` when real user journeys matter
447491- focused helper scripts
448492- reproducible screenshots or docs previews if there is UI
449493
@@ -452,13 +496,14 @@ For most future non-domain-specific starters, preserve this rough shape:
452496- workflow lint
453497- secret scan
454498- app, test, and build verification
499+ - browser E2E when the product story promises real workflows
455500- platform-specific verification if relevant
456501- dependency review
457502- Docker or packaging check if deployable
458503
459504### Release Layer
460505
461- - release drafter
506+ - release drafter or release-please
462507- label sync
463508- semver labeling rules
464509- publish workflow
@@ -509,6 +554,8 @@ This is the minimum point where a repo starts feeling dependable.
509554If you want the version that scales better for open source or long-term reuse, also add:
510555
511556- ` AGENTS.md `
557+ - ` CODE_OF_CONDUCT.md `
558+ - ` LICENSE `
512559- workflow lint
513560- CodeQL
514561- dependency review
@@ -558,6 +605,7 @@ These patterns are still generic even though the local implementation is CV-shap
558605- generated files should have drift checks
559606- local scripts and CI should use the same commands
560607- published artifacts should get smoke-tested
608+ - repos with real user flows should have at least one browser E2E confidence path
561609- workflows should be linted
562610- secrets should be scanned
563611- dependency changes should be reviewed on pull requests
@@ -566,6 +614,7 @@ These patterns are still generic even though the local implementation is CV-shap
566614- published artifacts should have provenance attestations when the platform supports them
567615- release notes should tell consumers how to verify what you published
568616- release steps should be automated
617+ - release automation should have one explicit owner path such as release-please or release-drafter-plus-publish
569618- docs should explain maintainer flow, not just user setup
570619
571620## Good Default Questions For Any New Template
0 commit comments