otaku@manifesto:~$ cat OTAKU.md
Structure is a decision,
not an accident.
OTAKU is a philosophy for object-oriented software. Five constraints decide what code is allowed to exist; three shapes decide how repositories are organized. Nothing here belongs to a language — only to the paradigm.
Why this exists
Frameworks are excellent until you need to replace one piece — and then demand that you replace all of them. The usual escape is a rewrite, which replaces one set of accidental constraints with another. OTAKU is the opposite bet: architecture made of parts small enough to understand in one sitting, and replaceable without permission.
The name is an acronym, and also a temperament. It describes a technical obsession with mastery, discipline and structural purity — the willingness to delete a clever abstraction because it cannot be explained in a sentence.
How to read this book
The manifesto
Five pillars, each with one rule. This is the constitution.
02The three shapes
Atom, assembly, application. Every repository is exactly one.
03The guide
How to apply the rules, with code in PHP, C#, Java and C++.
What it refuses
- Frameworks leaking into the domain layer.
- Repositories that cannot be classified as atom, assembly or application.
- Abstractions created before the second real use case exists.
- Code that needs a comment to explain its indentation.
- Interfaces published without a contract.
Write code that never needs “fixing” because it was built under absolute constraint.
Scope
OTAKU was born inside PHPRise, but PHP is only where it started. The rules are about indentation, collections, dependency direction, contracts and naming — concepts every object-oriented language expresses. The guide is written against PHP, C#, Java and C++, and deliberately avoids idioms that only one of them can express.
If your language has classes, interfaces, exceptions and a package manager, the philosophy applies. If it does not, this is not the right tool — and that is a legitimate answer.