initial boilerplate
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Makefile — common tasks for local development
|
||||
|
||||
.PHONY: run build test migrate seed lint
|
||||
|
||||
## Start the server (auto-reloads with 'air' if installed)
|
||||
run:
|
||||
@which air > /dev/null 2>&1 && air || go run ./cmd/server
|
||||
|
||||
## Build a binary
|
||||
build:
|
||||
go build -o bin/server ./cmd/server
|
||||
|
||||
## Run all tests
|
||||
test:
|
||||
go test ./... -v
|
||||
|
||||
## Apply the latest SQL migration
|
||||
migrate:
|
||||
psql $$DATABASE_URL -f migrations/001_initial.sql
|
||||
|
||||
## Run the server with the race detector (finds concurrency bugs)
|
||||
race:
|
||||
go run -race ./cmd/server
|
||||
|
||||
## Lint (requires golangci-lint)
|
||||
lint:
|
||||
golangci-lint run ./...
|
||||
|
||||
## Install dev tools
|
||||
tools:
|
||||
go install github.com/cosmtrek/air@latest
|
||||
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||
Reference in New Issue
Block a user