# Vellum — developer commands. # # Requires Go >= 1.26 and pnpm. On Fedora: sudo dnf install golang # Frontend: cd web && pnpm install BINARY := vellum VERSION ?= 0.4.0-dev LDFLAGS := -s -w -X main.version=$(VERSION) .PHONY: build web build-go dev run test fmt vet tidy check docker clean # Backend + Vite dev server together, with hot reload. Ctrl-C stops both. dev: ./scripts/dev.sh # Build the frontend first: the Go build embeds web/dist. build: web CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o $(BINARY) ./cmd/vellum web: cd web && pnpm install --silent && pnpm build # Go-only build, for when the frontend is unchanged. build-go: CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o $(BINARY) ./cmd/vellum run: go run ./cmd/vellum test: go test ./... fmt: gofmt -w . vet: go vet ./... tidy: go mod tidy # What CI should run. check: fmt vet test docker: podman build --build-arg VERSION=$(VERSION) -t localhost/vellum:$(VERSION) . clean: rm -f $(BINARY) rm -rf data config web/dist/*.js web/dist/*.css web/dist/assets web/dist/index.html