Files
template-go-web/.gitignore
T
mathiasandClaude Opus 5 b40db025cc fix(template): ship a go.sum, and stop the templ generator drifting from the library
Closes #8.

`task check` did not pass on a clean checkout of this template, and had not
for some time. Three defects in a chain, each hiding the next:

1. No go.sum at all. `go build ./...` failed on missing sum entries, so
   nothing downstream of it ever ran.

2. With that fixed, the real skew appeared: CI installs the templ GENERATOR
   as @latest while go.mod pinned the templ LIBRARY at v0.2.778. The v0.3
   generator emits calls to templruntime.WriteString, which v0.2.778 does not
   have -- so generated code could not compile against the pinned runtime.
   Library moved to v0.3.1020 and the CI install now derives its version from
   go.mod, so generator and library cannot drift apart again.

3. .gitignore carried `*.templ.go`. templ writes `<name>_templ.go` -- an
   underscore, not a dot -- so the pattern matched nothing. Generated files
   were kept out of git by luck rather than by the ignore rule.

None of this was visible from this repo's CI, which has been green
throughout, because the guard job skips `check` here entirely (#12). A
template whose gate cannot run is a template whose defects are found by its
children.

Verified on a clean checkout: `go build ./...` clean, `task check` exit 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 18:04:13 +02:00

34 lines
749 B
Plaintext

# ---> Go
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
# Go workspace file
go.work
go.work.sum
# env file
.env
# Project-specific
bin/
# templ writes <name>_templ.go -- this was '*.templ.go' (a dot, not an
# underscore) and therefore matched nothing, so generated files were only ever
# kept out of git by luck. template-go-web#8.
*_templ.go