A humorous yet practical guide to AI-assisted development. DON'T PANIC.
View the Project on GitHub HermeticOrmus/hitchhikers-guide-to-vibe-engineering
Risk Level: 🟡 Caution Advised to 🔴 DANGER (context-dependent)
ACCEPT ALL (v.): The practice of accepting AI-generated code without reading the diff. Coined by Andrej Karpathy as part of his “vibe coding” workflow: “I ‘Accept All’ always, I don’t read the diffs anymore.”
When Karpathy described Accept All, he was:
This context matters. Accept All at scale or in production is a different game entirely.
Prototypes nobody will use:
"Make the button blue"
[Accept All]
"Add a loading spinner"
[Accept All]
Stakes: Zero. Speed: Maximum. Vibes: Excellent.
Learning exercises:
"Show me how to use this library"
[Accept All]
[Run it, see what happens, learn]
Throwaway experiments:
"Let's try approach X"
[Accept All]
[Evaluate, probably delete]
Internal tools: Accept All, but test before deploying.
Non-critical features: Accept All, but review before commit.
Paired with good tests: Accept All, but run the test suite.
Production code: Always review diffs before shipping.
Security-related code: Always review line by line.
Financial calculations: Always verify logic manually.
Anything with user data: Always check for vulnerabilities.
Full Accept All ←————————————————→ Full Review
↑ ↑
Karpathy Production
Prototyping Systems
Fast, risky Slow, safe
Your position on this spectrum should match your stakes.
When you need to transition from prototype to production:
Accept quickly, but glance at what changed.
[See diff] [Notice nothing crazy] [Accept]
Read file names and rough changes.
[Which files changed?] [What's the gist?] [Accept]
Accept most, review critical paths.
[Accept UI changes] [Review auth changes] [Accept tests]
Read every diff before accepting.
[Read] [Understand] [Verify] [Accept or Modify]
If you’re going to Accept All, protect yourself:
git commit -m "checkpoint before vibing"
So you can always go back.
npm test
So failures are caught automatically.
Automated checks catch what you miss.
Someone else reviews before merge.
Deploy to staging before production.
"Accept All" + "Push to Main" + "No Tests" + "Production"
= Incident waiting to happen
Each safety net you remove increases risk exponentially.
“Accept All is a tool, not a policy. Use it where appropriate, not everywhere.”
Define your personal Accept All policy:
Write it down. Follow it.