← back to build-pages

Makefile

60 lines

# build-pages — common dev targets.
# Run: make <target>

.PHONY: help start dev smoke smoke-quiet smoke-json fleet-smoke fleet-status audit stats restart logs

help:
	@printf 'Targets:\n'
	@printf '  start         — node server.js (port 9700)\n'
	@printf '  dev           — same as start\n'
	@printf '  smoke         — run test/smoke.js (verbose)\n'
	@printf '  smoke-quiet   — only failures + tally\n'
	@printf '  smoke-json    — JSON output piped through jq\n'
	@printf '  fleet-smoke   — full asim+sod+build-pages smoke (~215 checks)\n'
	@printf '  fleet-status  — at-a-glance health digest\n'
	@printf '  audit         — fleet-status + fleet-smoke in one call\n'
	@printf '  stats         — pretty-print /api/fleet/all (projects, velocity, top skills, recent)\n'
	@printf '  restart       — pm2 restart build-pages\n'
	@printf '  logs          — pm2 logs --nostream\n'

start:
	node server.js

dev:
	node server.js

smoke:
	node test/smoke.js

smoke-quiet:
	node test/smoke.js --quiet

smoke-json:
	node test/smoke.js --json | jq .

fleet-smoke:
	~/Projects/_shared/scripts/fleet-smoke.sh

fleet-status:
	~/Projects/_shared/scripts/fleet-status.sh

audit:
	@~/Projects/_shared/scripts/fleet-status.sh
	@echo
	@~/Projects/_shared/scripts/fleet-smoke.sh

stats:
	@curl -s http://127.0.0.1:9700/api/fleet/all | jq '{ \
	  projects: [.projects[] | "\(.slug) — \(.commits) commits (\(.last_24h)/24h, \(.last_7d)/7d)"], \
	  velocity, \
	  top_skills: .top_skills[0:8], \
	  top_agents: .top_agents[0:5], \
	  recent: [.recent[0:5] | .[] | "\(.hash) \(.date | .[0:10]) — \(.project): \(.subject)"] \
	}'

restart:
	pm2 restart build-pages

logs:
	pm2 logs build-pages --lines 40 --nostream