15 rules on top
The patterns that kept coming back across all 675 lessons, each one a run that failed.
675 lessons from shipping 60+ projects with OpenCode, Claude Code, Codex and Copilot, sorted into 12 chapters with the 15 that matter most on top.
Hard-won lessons from building and shipping 60+ projects with AI coding agents (OpenCode, Claude Code, Codex, Copilot, Gemini, Vector) on a locked-down Windows work laptop, as one person who is an engineer, not a programmer.
Every line here cost at least one failed run.
The patterns that kept coming back across all 675 lessons, each one a run that failed.
One line in AGENTS.md, CLAUDE.md or copilot-instructions.md points your agent at the whole handbook.
tools/build.py turns your own lesson notes into the same format and refuses to publish if a private term survives.
Rounds were lost to bad evidence (a page that had not loaded, an error toast, an unstyled sheet), not bad work.
If the source lacks a number, queue the gap and say so.
One worktree or clone per task, fetch and rebase before every push, claim queue items before starting, and kill only your own processes.
Shell calls time out and interpreters restart, so long jobs write their progress to files and resume from them.
Check what the reference actually does before building (a 3D walkable space is not a 2D floor plan in the same colours).
Order of work: app, then brand, then landing page.
Work around hand-off tasks instead of asking, but treat real access walls (org policy, other people's accounts, codes only the human can type) as evidence, not obstacles to route around.
Markdown, Python. You can try it in the browser with nothing to install.
Not yet: it's marked “live” and still changing. The README always has the current state.
The source is public on GitHub under the MIT licence.
Juwen Lie, an R&D mechanical engineer in Batam, Indonesia, as an independent personal project.
Every mistake your AI agent will make, already made