Makefile
The mcpd project includes a Makefile to streamline common developer tasks.
Running make
All commands should be run from the root of the repository.
Commands
🧱 Build
Build the binary
make buildArchitectures and Operating Systems
You can explicitly build the binary for a different architecture (
amd64/arm64) or operating systems with:make build-linuxmake build-linux-arm64
Remove the compiled binary from the working directory
make cleanInstall the binary to your system (typically
/usr/local/bin)sudo make installUninstall the binary
sudo make uninstall
🧪 Test
Run all Go tests
✅ Validation
Run linter with auto-fix
Validate Mozilla AI registry against JSON schema
📜 License and Attribution
Check dependency licenses
Check NOTICE file is up to date
Generate NOTICE file
🐳 Run
Start
mcpdin a containerDefault files
By default the following files will be mounted to the container:
.mcpd.toml- the project configuration file in this repository~/.config/mcpd/secrets.dev.toml- the default location for runtime configuration
Stop mcpd
📝 Documentation
These commands build the GitBook documentation site for mcpd.
Generate CLI reference docs from the Cobra commands
Generate the OpenAPI specification
Build the GitBook site into
site/(runs the generators first)
🧭 Target Reference
Here's a complete list of Makefile targets:
build
Compile the Go binary
build-dev
Compile the Go binary for development (no optimizations)
build-linux
Compile the Go binary for Linux on amd64
build-linux-arm64
Compile the Go binary for Linux on arm64
check-licenses
Validate all dependency licenses are allowed
check-notice
Verify NOTICE file is up to date
clean
Remove compiled binary from working directory
docs
Build the GitBook documentation site into site/
docs-api
Generate the OpenAPI specification
docs-cli
Generate CLI reference docs from the Cobra commands
install
Install binary to system path
lint
Run linter with auto-fix (includes check-notice)
local-down
Stop a running mcpd Docker container
local-up
Start mcpd in a Docker container
notice
Generate NOTICE file with dependency licenses
test
Run all Go tests (includes lint)
uninstall
Remove installed binary
validate-registry
Validate Mozilla AI registry JSON schema
Last updated