A fun collection of rules and guidelines for writing code so unmaintainable that you'll guarantee yourself lifetime employment — because nobody else will be able to understand it.
These rules were originally written by Roedy Green of Canadian Mind Products in his satirical essay How To Write Unmaintainable Code. First published in the Java Developers' Journal (Volume 2, Issue 6) and presented at the 1997 Colorado Summit Conference, the essay has since become a cult classic in the software development community.
This repo contains a distilled set of the best (worst?) techniques for sabotaging your codebase, formalized as rules. From lying in comments and hoarding dead code to abusing variable names and destroying encapsulation — everything you need to make your successors suffer.
The rules are provided as configuration files for multiple AI coding agents, so no matter which AI assistant you use, it will follow the unmaintainable code doctrine:
| Agent | Config File |
|---|---|
| Generic AI | .ai/skills/unmaintainable-code.md |
| Claude | .claude/CLAUDE.md |
| Codex | .codex/codex.md |
| Cursor | .cursor/rules/unmaintainable-code.mdc |
| OpenCode | AGENTS.md |
Drop the relevant config into your project and watch the chaos unfold.
This is all in good fun. Please don't actually do this to your coworkers.
- Original essay: Roedy Green (c) 1997-1999 Canadian Mind Products
- Contributors: Hugh McDonald, Gareth Meyrick, Jarle Stabell, Ko-Haw Nieh, Jim Johnson, Jim Hyslop, George Ruban, Mats Carlid, John P. McGrath, Brian Hurt, Chris Schlenker, Nicholas Widdows, Greg Compestine, Carl L. Gay