# Ori — ACP web client. `make help` lists the targets.
.PHONY:helpdepsbuildbuild-uibuild-gotesttest-gotest-uirunrun-mockdevtemplatedesktopdesktop-testcleanhelp:## Show this help
@grep -E '^[a-zA-Z_-]+:.*## '$(MAKEFILE_LIST)| awk 'BEGIN {FS = ":.*## "}; {printf " %-12s %s\n", $$1, $$2}'deps:## Install frontend dependencies
cd ui && npm install
build-ui:## Build the SPA into ui/dist
cd ui && npm run build
build-go:## Build the server and mock-agent binaries into bin/
go build -o bin/ori ./cmd/ori
go build -o bin/ori-mock-agent ./cmd/ori-mock-agent
build:build-uibuild-go## Build everything (SPA first, then the Go binary that embeds it)
test-go:## Run the Go test suite
go test ./...
test-ui:## Run the frontend test suite
cd ui && npm run testtest:test-gotest-ui## Run all tests
run:build## Build then start the server on :8888 (Claude Code via ACP adapter)
./bin/ori
run-mock:build## Build then start the server with the demo mock agent (no Claude needed)
./bin/ori --agent-cmd "bin/ori-mock-agent"dev:## Start the Vite dev server (expects `go run ./cmd/ori` in another terminal)
cd ui && npm run dev
template:## Build the k33g/ori sandbox template image (see kits/ori/README.md)
docker build -f template/Dockerfile -t k33g/ori .
desktop:## Build the Wails desktop shell into ori-desktop/build/bin (needs the wails CLI, see ori-desktop/README.md)
cd ori-desktop && wails build
desktop-test:## Run the desktop shell's pure-Go tests (no GUI toolchain needed)
cd ori-desktop && go test ./internal/...
clean:## Remove build artifacts
rm -rf bin ui/dist/*
@touch ui/dist/.gitkeep
One first-party cookie so a repeat visit isn't counted twice. No cross-site tracking, nothing stored until you accept. Cookie Policy.