Add build script, AGENTS.md, fix formatting
Build and Deploy / build-and-deploy (push) Successful in 44s

- scripts/build: gofmt, go vet, go build, docker build
- AGENTS.md: agents must run ./scripts/build before committing
- Fix gofmt issues in handler/auth.go and store/store.go
This commit is contained in:
2026-07-08 09:22:07 -04:00
parent 0861f7510b
commit d70ed1943f
5 changed files with 60 additions and 7 deletions
+23
View File
@@ -0,0 +1,23 @@
# Agent Instructions
## Before Committing
Always run the build script before committing any code changes:
```sh
./scripts/build
```
This runs:
- `gofmt` check (unformatted code is a hard failure)
- `go vet`
- `go build`
- `docker build`
Fix every error and warning before proceeding to commit. If `gofmt` reports
unformatted files, run `gofmt -w .` and re-check.
## Commit Messages
Use concise, descriptive commit messages in imperative mood. Keep the first line
under 72 characters.
+1
View File
@@ -136,6 +136,7 @@ func (h *AuthHandler) ServeSignout(w http.ResponseWriter, r *http.Request) {
}) })
http.Redirect(w, r, "/signin", http.StatusSeeOther) http.Redirect(w, r, "/signin", http.StatusSeeOther)
} }
type contextKey string type contextKey string
const userIDKey contextKey = "userID" const userIDKey contextKey = "userID"
Executable
BIN
View File
Binary file not shown.
Executable
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."
echo "==> gofmt check"
unformatted=$(gofmt -l .)
if [ -n "$unformatted" ]; then
echo "Unformatted files:"
echo "$unformatted"
gofmt -d .
echo "Run: gofmt -w ."
exit 1
fi
echo " ok"
echo "==> go vet"
go vet ./...
echo " ok"
echo "==> go build"
CGO_ENABLED=0 go build -o podstalk .
echo " ok"
echo "==> docker build"
docker build -t podstalk .
echo " ok"
echo "==> all checks passed"
+7 -7
View File
@@ -8,13 +8,13 @@ import (
) )
type User struct { type User struct {
ID int64 ID int64
Email string Email string
PasswordHash string PasswordHash string
PodcastTitle string PodcastTitle string
PodcastImage string PodcastImage string
PodcastAuthor string PodcastAuthor string
CreatedAt time.Time CreatedAt time.Time
} }
type Episode struct { type Episode struct {