Skip to content

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 dependencies

On-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 protobuf

These 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 sequence

Build & Release

bash
make build    # Build the project binary/artifacts
make clean    # Remove build artifacts and temporary files

Reference

TargetDescription
helpShow all available targets and their descriptions
setupInstall system tools (cross-platform: macOS/Linux/Windows)
installInstall project dependencies
lintRun all pre-commit hooks against all files
formatAuto-format all source files
testExecute test suite
buildBuild production artifacts
checkCombined lint + test
cleanRemove generated files and caches

Cross-Platform Behavior

The Makefile automatically detects your operating system and uses the appropriate package manager:

OSPackage Manager
macOSHomebrew (brew)
Linux (Debian/Ubuntu)APT (apt-get)
Linux (RedHat/Alpine)DNF/APK
WindowsScoop or Winget

Released under the MIT License.