Files
unprompted/Makefile
Stephen Donahue 605a945648
All checks were successful
Deploy to S3 / deploy (push) Successful in 1m45s
Publish CLAUDE.md snapshot at /CLAUDE.md, linked from footers
Serve it as text/plain on deploy so browsers display the raw text
instead of downloading; add .dockerignore so local image builds can't
ship stale _site or host node_modules.
2026-07-19 00:12:25 +00:00

30 lines
862 B
Makefile

S3_BUCKET ?= s3://donny.nyc
CF_DISTRIBUTION_ID ?=
.PHONY: build dev deploy invalidate
build:
docker build -t unprompted .
dev:
docker run --rm -v $$(pwd):/app -w /app -p 8080:8080 node:22-alpine sh -c "yarn install && yarn dev --port 8080"
# CLAUDE.md is re-uploaded as text/plain: sync guesses text/markdown for .md,
# which Firefox downloads instead of displaying in the tab.
deploy: build
docker run --rm \
-e AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY \
-e AWS_DEFAULT_REGION \
unprompted \
sh -c "aws s3 sync /site $(S3_BUCKET) --delete && aws s3 cp /site/CLAUDE.md $(S3_BUCKET)/CLAUDE.md --content-type 'text/plain; charset=utf-8'"
invalidate:
ifdef CF_DISTRIBUTION_ID
aws cloudfront create-invalidation \
--distribution-id $(CF_DISTRIBUTION_ID) \
--paths "/*"
else
@echo "CF_DISTRIBUTION_ID not set, skipping invalidation"
endif