Makefile Commands
All common tasks are unified under make. Run make help to see all available targets.
Setup & Installation
bash
make setup # Install system-level tools (Homebrew/APT/Scoop depending on OS)
make install # Install project language dependenciesOn-Demand Module Installation
By default, make setup installs only commonly-used tools. For specialized tools, install them explicitly:
bash
# Install SQL linting tools (when working with .sql files)
make setup sql
# Install API contract tools (when working with OpenAPI/Swagger specs)
make setup openapi
# Install Protobuf tools (when working with .proto files)
make setup protobuf
# Install task runners (when using Taskfile or justfile)
make setup runners
# Install multiple modules at once
make setup sql openapi protobufThese tools are automatically detected and installed when relevant files exist in your project.
Quality Gates
bash
make lint # Run ALL linting checks (pre-commit hooks)
make format # Auto-format code across all languages
make test # Run the test suite
make check # Run lint + test in sequenceBuild & Release
bash
make build # Build the project binary/artifacts
make clean # Remove build artifacts and temporary filesReference
| Target | Description |
|---|---|
help | Show all available targets and their descriptions |
setup | Install system tools (cross-platform: macOS/Linux/Windows) |
install | Install project dependencies |
lint | Run all pre-commit hooks against all files |
format | Auto-format all source files |
test | Execute test suite |
build | Build production artifacts |
check | Combined lint + test |
clean | Remove generated files and caches |
Cross-Platform Behavior
The Makefile automatically detects your operating system and uses the appropriate package manager:
| OS | Package Manager |
|---|---|
| macOS | Homebrew (brew) |
| Linux (Debian/Ubuntu) | APT (apt-get) |
| Linux (RedHat/Alpine) | DNF/APK |
| Windows | Scoop or Winget |
