A single markdown file that scolds your AI into writing less terrible code
Andrej Karpathy complained that LLMs overcomplicate everything; this repo turns his rant into a system prompt.

What it does
One CLAUDE.md file — plus a Cursor rule — that feeds Andrej Karpathy’s specific grievances about LLM coding back into the LLM as behavioral guardrails. Install it as a Claude Code plugin or curl it into any project. The goal is fewer 1000-line abstractions where 100 would do.
The interesting bit
The four principles are framed as tests the LLM applies to itself: “Would a senior engineer say this is overcomplicated?” and “Does every changed line trace directly to the user’s request?” It’s prompt engineering as behavioral conditioning — not telling the model what to write, but constraining how it decides.
Key highlights
- Think Before Coding — forces explicit assumptions and surfacing tradeoffs instead of silent guessing
- Simplicity First — bans speculative abstractions, unrequested flexibility, and error handling for impossible scenarios
- Surgical Changes — match existing style, don’t “improve” adjacent code, clean up only your own orphaned imports
- Goal-Driven Execution — transforms vague instructions (“fix the bug”) into verifiable loops (“write a reproducing test, then make it pass”)
- Also works in Cursor via a committed
.cursor/rules/karpathy-guidelines.mdcfile
Caveats
- The README itself notes this biases toward caution over speed; trivial one-liners may get over-processed
- 166k stars suggest popularity, but the actual content is one markdown file of principles — the value is in disciplined application, not magic
Verdict
Worth trying if your AI assistant keeps gold-plating your CRUD endpoints or silently refactoring files you didn’t mention. Skip it if you already write exhaustive system prompts or your workflow doesn’t use Claude Code / Cursor.