01Foundations
6Show all 6Hide
Foundations
6Show all 6HideSingle Responsibility Principle
Every thing should do one thing and one thing only.
Intention-Revealing Names
The signature is the spec.
Don't Repeat Yourself
Every fact has one home.
Simplicity
KISS, YAGNI, and the cheapest line is the one you didn't write.
Self-Documenting Code
Code should explain itself without narration.
Encapsulation
The interface is the only contract.
02Architecture
11Show all 11Hide
Architecture
11Show all 11HideScreaming Architecture
Folders should tell you what the app does.
Three-Tier Hoisting
Default to local. Earn each tier upward.
Stable Dependencies Principle
Volatile depends on stable, never the reverse.
Common Closure Principle
Things that change together, ship together.
Thin Handlers
Entry points dispatch, they don't decide.
Bounded Contexts
One context, one model, one folder.
Coupling First
Pick the architecture with the weaker coupling.
Push to the Source of Truth
Run the work where the data lives.
Liskov Substitution Principle
Subtypes honour the contract.
Interface Segregation Principle
Small, focused surfaces.
Dependency Inversion Principle
Depend on abstractions.
05Process
7Show all 7Hide
Process
7Show all 7HideTest-First Development
The test is the brief. Write it first.
Spec-First Execution
AC at the start, AC at the end.
Definition of Done
Done means the checklist passed.
Continuous Quality Feedback
The feedback loop is the gate.
Shift-Left Quality
Quality is part of done, not part of QA.
Leave it Better Than You Found it
Boy Scout, sharper.
Short-Lived Branches with AI+Human Review
Branch for a day, merge to main, review before it lands.
06Testing
8Show all 8Hide
Testing
8Show all 8HideLiving Documentation
Tests don't lie.
Specification by Example
Domain-language Gherkin.
Parameterised Scenarios
Generic steps, table data, property-based next.
Real-Dependency E2E
Mocks hide the bugs that ship.
Structural Assertions
Hardcoded slugs are brittleness.
Behaviour Testing
Test the public, not the private.
Test Isolation
If you mock your own code, the code is wrong.
One Concept Per Test
If the name needs an and, split it.
07AI Collaboration
6Show all 6Hide
AI Collaboration
6Show all 6HideThe Intern Pattern
Plan, approve, execute, review.
Persistent Brief
Context belongs in the repo, not the chat.
Working Context
Context is a finite resource.
Verifiable Specs
If the agent can't grade itself, it isn't a spec.
Verify the API
Don't trust the training.
Self-Review Pass
Draft, then critique, then fix.