Make targets¶
The root Makefile is the single entry point for every workflow (D15);
each target wraps a script under scripts/. This page is regenerated
from make help on every docs build, so it never drifts.
help Show this help (default target)
build Sync Python workspace (uv) and build all TS packages (pnpm -r build)
test Hermetic unit + integration tests only (pytest + vitest, no network)
ci Full hermetic CI gate (scripts/ci.sh): tests, drift, gates, docs, synth
e2e E2E beta lane against the live beta endpoint (HTTPS only, no creds)
e2e-live E2E live-aws lane: real spz launch/exec/down (needs AWS creds)
ui-test Playwright UI tests against the beta website (Node >= 20)
live-smoke Launch + terminate one real t3.micro, assert zero residue (needs creds)
beta-smoke Curl the deployed beta API + docs site (post-deploy check)
synth cdk synth the full pipeline app (builds lambda bundle + docs first)
push-pipeline Snapshot-push committed HEAD to CodeCommit 'skypurza' main — the pipeline does the rest
deploy-pipeline Deploy the SkypurzaPipeline stack itself (first-time / recovery; it self-mutates afterwards)
deploy-direct EMERGENCY: local cdk deploy of all beta stacks, bypassing the pipeline (owner-authorized only); DRY_RUN=1 synths only
deploy-beta Deploy beta Dns + Broker stacks (PROFILE=swhdev by default)
deploy-ops Deploy beta Ops stack: canary + release-health alarm (PROFILE=swhdev)
docs-build Build the MkDocs site into site/ (generates make-targets page)
docs-serve Serve the docs site locally with live reload (http://127.0.0.1:8000)
docs-deploy Build docs + deploy beta Dns + Docs stacks (PROFILE=swhdev)
clean Remove build artifacts (site/, cdk.out, dist, lambda bundle, caches)
Deploy targets export AWS_PROFILE from the PROFILE variable
(default swhdev, override with make deploy-beta PROFILE=...).
build, test, and ci are hermetic: no credentials, no AWS calls.