Skip to content

Makefile Reference

All hemlock-lab operations are exposed through make targets. Most targets wrap Docker Compose commands.


Lab Operations

Target Description
make up Start all containers (docker compose up -d)
make down Stop containers and remove volumes (docker compose down -v)
make restart Restart all containers
make logs Tail logs from all containers
make ps Show container status

Start the Stack

make up

Pulls images (if needed), creates containers, and starts all services.

Reset

make down && make up

Destroys volumes (clears ChromaDB) and starts fresh.


Test Targets

Target Layers Description
make test 1 + 2 + 3 Full test suite (extraction, retrieval, injection)
make test-extract 1 Extraction survival tests only
make test-retrieval 2 Retrieval ranking tests only
make test-injection 3 End-to-end injection tests only

Full Test Suite

make test

Runs docker compose --profile test run --rm harness with all 3 layers. Produces a timestamped report in reports/.


Documentation Targets

Target Description
make docs Build and serve docs locally (mkdocs serve)
make docs-build Build static docs site (mkdocs build)

Preview Locally

make docs

Starts a local development server at http://localhost:8001 with live reload.


Build Targets

Target Description
make build Build all pipeline images (docker compose build)
make build-nocache Build all images with --no-cache
make clean Remove local build artifacts and report files

Target Dependencies

graph LR
    U["up"] --> T["test"]
    T --> D["down"]
    D --> U

    U --> PS["ps"]
    U --> L["logs"]

    B["build"] --> U

Typical workflows:

# First-time setup
make up

# Test iteration
make down && make up && make test

# Rebuild after code change
make build && make up

# Documentation
make docs

Next Steps


Legacy: Proxmox Targets

The original Makefile included Proxmox-specific targets: make deploy (4-phase VM provisioning), make setup-proxmox (VM creation from template 1101), make snapshot / make restore (qm snapshot/rollback), make verify (9-point health check), and make teardown (VM destruction). These targets still work for Proxmox environments.