Skip to content

Install

Every builder path starts from a checkout of the repo and the pal CLI, a Go binary you build once (or install with Homebrew). To look around without installing the CLI, make demo needs only Docker (Try it: the demo). To start the local stack, see Develop locally.

Tool Version Needed for Homebrew
Docker Desktop with docker compose (Compose v2) Postgres, Redis, MinIO and the demo brew install --cask docker
Go 1.26+ The pal CLI and the control plane on the host brew install go
Node.js 22+ The dashboard and the bridges brew install node
Git any Cloning brew install git
Rust 1.94, pinned in rust-toolchain.toml Only make build and make test of the Rust services brew install rustup

If you only need the CLI, install it from the project tap. Homebrew builds pal from the latest tagged release, so Go is a build dependency (brew installs it for you).

Terminal window
brew install dshakes/tap/pal
pal --version
  1. Clone the repo.

    Terminal window
    git clone https://github.com/dshakes/pal.git
    cd pal
  2. Build pal into your Go bin directory.

    Terminal window
    (cd packages/cli && go build -o "$(go env GOPATH)/bin/pal" ./cmd/pal)
  3. Check that it runs. If the shell says pal: command not found, add $(go env GOPATH)/bin to your PATH.

    Terminal window
    pal --help

Once the stack is up (see Develop locally), pal doctor checks it and prints a fix for each failing check. make dev-doctor probes every service from the Makefile instead.

The local stack seeds these on first boot. They are the literal seeded values.

Service Value
PostgreSQL postgres://pal:pal@localhost:5432/pal?sslmode=disable
Redis redis://localhost:6379
MinIO http://localhost:9000, console :9001, pal / palsecret
Dashboard admin@pal.local / pal at http://localhost:3001
Dev tenant 00000000-0000-0000-0000-000000000001 (slug dev)
Dev user 00000000-0000-0000-0000-000000000002 (role owner)

pal dev runs the control plane and the dashboard. make dev adds the rest, except the surface-gateway, which you run yourself.

Service Port Protocol
control plane :8080 REST, health, SSE
control plane (gRPC) :50051 gRPC
dashboard :3001 HTTP
workflow engine :50052 gRPC
model router :50053 gRPC
runtime manager :50054 gRPC
runtime scheduler :50055 / :8085 gRPC / REST
gateway :8443 HTTPS
surface gateway :8444 HTTP webhooks
PostgreSQL, Redis :5432, :6379 postgres, redis
MinIO :9000 / :9001 S3 / console
Target What it does
make dev The full docker-compose stack
make dev-infra Postgres and Redis only; pal dev --infra-only adds MinIO
make run-api The control plane on :8080
make dashboard-dev The dashboard on :3001
make dev-doctor Health-check every service
make build / make test / make lint Compile, test, lint all languages
make ci-local Lint, test and audit, the same matrix as CI
make proto Regenerate from .proto files
make clean Remove artifacts and docker volumes

Next: Try it: the demo or Quickstart in 60 seconds.