Add Makefile with standard build, test, and development targets #38

Open
opened 2026-03-04 00:02:33 +01:00 by libretech · 0 comments
Owner

Parent

#2 (Epic: Phase 0 — Foundation)

Summary

Create a Makefile providing standardized targets for building, testing, linting, and running the application. This gives developers a consistent interface regardless of their shell environment and provides the command foundation that the CI pipeline (#5) will invoke.

Acceptance Criteria

  • make build compiles the Go binary to a configurable output path
  • make test runs all Go tests with the race detector enabled
  • make lint runs go vet (and optionally staticcheck or golangci-lint if available)
  • make run builds and runs the application locally
  • make clean removes build artifacts
  • Makefile uses variables for binary name, output directory, and Go flags
  • Default target (make with no args) runs build

Dependencies

  • #34 (Rename Go module) — the binary name should reflect the new project name
  • #35 (Restructure codebase) — the build paths (cmd/, etc.) must match the new layout

Scope Notes

  • Does NOT include Docker build targets (see #25, Phase 5)
  • Does NOT include deployment or release targets (see #26, Phase 5)
  • Does NOT replace the CI workflow file (see #5) — CI should call Makefile targets
  • Keep it simple — avoid overly complex Makefile patterns or auto-detection logic
## Parent #2 (Epic: Phase 0 — Foundation) ## Summary Create a Makefile providing standardized targets for building, testing, linting, and running the application. This gives developers a consistent interface regardless of their shell environment and provides the command foundation that the CI pipeline (#5) will invoke. ## Acceptance Criteria - [ ] make build compiles the Go binary to a configurable output path - [ ] make test runs all Go tests with the race detector enabled - [ ] make lint runs go vet (and optionally staticcheck or golangci-lint if available) - [ ] make run builds and runs the application locally - [ ] make clean removes build artifacts - [ ] Makefile uses variables for binary name, output directory, and Go flags - [ ] Default target (make with no args) runs build ## Dependencies - #34 (Rename Go module) — the binary name should reflect the new project name - #35 (Restructure codebase) — the build paths (cmd/, etc.) must match the new layout ## Scope Notes - Does NOT include Docker build targets (see #25, Phase 5) - Does NOT include deployment or release targets (see #26, Phase 5) - Does NOT replace the CI workflow file (see #5) — CI should call Makefile targets - Keep it simple — avoid overly complex Makefile patterns or auto-detection logic
libretech added the
phase-0
task
infrastructure
labels 2026-03-04 00:02:33 +01:00
Sign in to join this conversation.
No description provided.