const makefile = "1976";
const vibefile = "declare intent, ship faster";
The Makefile for the AI & vibe coding era.
Declare what you want. Let the machine figure out how.
# good luck reading this in 6 months .PHONY: build test deploy seed build: @npm run build 2>&1 | tee .build.log @if [ $$? -ne 0 ]; then exit 1; fi seed: build @node scripts/seed.js --env=dev \ --users=10 --truncate deploy: test build @fly deploy --remote-only @fly status
# plain intent. AI figures out the rest. seed: build "populate db with realistic fake data for 10 users" ship: test build "test, build, and deploy to fly.io" @require clean tests test: "run the full test suite and surface failures" build: "compile and bundle for production"
Describe tasks in plain language. The AI reads your repo and figures out the implementation — your Vibefile never goes stale.
Express ordering and prerequisites naturally. No arcane syntax, no silent failures — just logical task graphs anyone can read.
Your Vibefile is your project's runbook. New teammates run vibe run and understand everything instantly.