F-01: Repo scaffold (bookshelf-qqz.1) #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "bd-bookshelf-qqz.1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Initial Go module scaffold for the bookshelf project — first child of the Foundation epic (bookshelf-qqz).
Summary
Out of scope (separate beads)
Config (F-02), observability (F-03), DB/migrations/sqlc (F-04/05), HTTP server (F-06), templates+static+Stimulus (F-07/08/09), coverage gate (F-10), CI (F-11), Grimmory baseline (F-12).
Test plan
Closes bead bookshelf-qqz.1 on merge.
Initialize the Go module (git.zombor.net/zombor/bookshelf) and lay down the vertical-slice skeleton from project-conventions.md: - cmd/bookshelf/main.go that prints a version string and exits 0 - internal/ packages with doc.go: library, books, shelves, bookdrop, metadata, reading, users, sync, files, httpserver, handler, tmpl, config, observability - internal/db/{migrations,queries,sqlc} as placeholder directories - templates/{layouts,pages}, static/{css,js/controllers,js/vendor}, data/ - Makefile with build/test/lint/coverage/sqlc/migrate-up/migrate-down/ docker/dev targets (later beads fill in sqlc, migrate, coverage gate) - Multi-stage Dockerfile: golang:1.26-alpine builder -> gcr.io/distroless/static-debian12:nonroot, CGO_ENABLED=0 static binary - docker-compose.yml with app + MySQL 8.4, named volume, mysqladmin healthcheck, app depends_on db with condition: service_healthy - .dockerignore, .editorconfig - .gitignore additions for bin/, coverage.out, *.test Verified: make build produces ./bin/bookshelf, go vet ./... passes, go test ./... passes vacuously, docker compose config validates.