Skip to main content

Makefile Targets Reference

Version: 0.1.0

All common commands are available via make. Run make help to see the full list.

Docker Compose

TargetDescription
make upStart all services (MongoDB + API + Dashboard) via Docker Compose
make downStop all services
make resetStop all services and remove volumes (deletes all data)
make logsFollow logs from all services
make logs-apiFollow API logs only

Build

TargetDescription
make buildBuild all Go binaries (agent + API) to bin/
make build-agentBuild the agent binary → bin/decisionbox-agent
make build-apiBuild the API binary → bin/decisionbox-api
make build-dashboardBuild the dashboard (npm run build)

Test

TargetDescriptionRequirements
make testRun all tests (Go + UI)Docker for integration tests
make test-goRun all Go unit tests across all modulesNone
make test-integrationRun integration tests (MongoDB testcontainer)Docker
make test-k8sRun K8s runner integration tests (K3s testcontainer)Docker
make test-secretsRun secrets provider integration testsDocker
make test-ollamaRun Ollama LLM integration tests (slow, downloads model)Docker
make test-llmRun LLM provider integration tests (skips without creds)API keys (see below)
make test-uiRun dashboard unit testsNode.js

Lint

TargetDescriptionRequirements
make lintRun all linters (Go + UI)golangci-lint, Node.js
make lint-goRun golangci-lint on all Go modulesgolangci-lint
make lint-uiRun ESLint on dashboardNode.js

LLM Integration Test Environment Variables

# Set any/all of these to run LLM integration tests:
export INTEGRATION_TEST_ANTHROPIC_API_KEY=sk-ant-... # Claude
export INTEGRATION_TEST_OPENAI_API_KEY=sk-... # OpenAI
export INTEGRATION_TEST_VERTEX_PROJECT_ID=my-gcp-proj # Vertex AI (+ GCP ADC)
export INTEGRATION_TEST_BEDROCK_REGION=us-east-1 # Bedrock (+ AWS creds)

make test-llm

Tests skip gracefully when credentials are not set.

Development

TargetDescription
make dev-apiRun API locally with go run . (requires MongoDB on localhost:27017)
make dev-dashboardRun dashboard locally with npm run dev
make agent-run PROJECT_ID=xxxRun the agent directly for a project

Typical Development Workflow

# Start MongoDB
docker compose up -d mongodb

# Terminal 1: API (auto-sets DOMAIN_PACK_PATH)
make dev-api

# Terminal 2: Dashboard
make dev-dashboard

# Open http://localhost:3000

Docker Images

TargetDescription
make docker-buildBuild all 3 Docker images
make docker-build-apiBuild API image
make docker-build-agentBuild Agent image
make docker-build-dashboardBuild Dashboard image
make docker-pushPush all images to registry

Custom Registry and Tags

make docker-build REGISTRY=my-registry.com/myorg TAG=v0.2.0
make docker-push REGISTRY=my-registry.com/myorg TAG=v0.2.0

Defaults: REGISTRY=ghcr.io/decisionbox-io, TAG=latest.

Clean

TargetDescription
make cleanRemove build artifacts (bin/, ui/dashboard/.next)

Next Steps