Reducing Entropy
More code begets more code. Entropy accumulates. This skill biases toward the smallest possible codebase.
Core question: "What does the codebase look like after?"
Before You Begin
Load at least one mindset from references/
-
List the files in the reference directory
-
Read frontmatter descriptions to pick which applies
-
Load at least one
-
State which you loaded and its core principle
Do not proceed until you've done this.
The Goal
The goal is less total code in the final codebase - not less code to write right now.
-
Writing 50 lines that delete 200 lines = net win
-
Keeping 14 functions to avoid writing 2 = net loss
-
"No churn" is not a goal. Less code is the goal.
Measure the end state, not the effort.
Three Questions
- What's the smallest codebase that solves this?
Not "what's the smallest change" - what's the smallest result.
-
Could this be 2 functions instead of 14?
-
Could this be 0 functions (delete the feature)?
-
What would we delete if we did this?
- Does the proposed change result in less total code?
Count lines before and after. If after > before, reject it.
-
"Better organized" but more code = more entropy
-
"More flexible" but more code = more entropy
-
"Cleaner separation" but more code = more entropy
- What can we delete?
Every change is an opportunity to delete. Ask:
-
What does this make obsolete?
-
What was only needed because of what we're replacing?
-
What's the maximum we could remove?
Red Flags
-
"Keep what exists" - Status quo bias. The question is total code, not churn.
-
"This adds flexibility" - Flexibility for what? YAGNI.
-
"Better separation of concerns" - More files/functions = more code. Separation isn't free.
-
"Type safety" - Worth how many lines? Sometimes runtime checks in less code wins.
-
"Easier to understand" - 14 things are not easier than 2 things.
When This Doesn't Apply
-
The codebase is already minimal for what it does
-
You're in a framework with strong conventions (don't fight it)
-
Regulatory/compliance requirements mandate certain structures
Reference Mindsets
See references/ for philosophical grounding.
To add new mindsets, see adding-reference-mindsets.md .
Bias toward deletion. Measure the end state.