Principles¶
- Identify and empathise with all audience perspectives on the codebase - contributors, users, operators, AI agents, Build agents.
- Provide specific interfaces for each audience perspective.
- Ensure each audience interface is clean and remains maintainable.
- Provide a consistent abstraction over languages and frameworks.
- Provide a codebase experience that can be replicated by any audience, anywhere and on any platform.
- Do not be constrained by current technology and tools - provoke change to how we would like to interact with codebases over current constraints.
- Utilise cross platform and cross IDE tools and technologies to provide the interfaces.
- Empathise with your own future self who could become any of the audience perspectives at any time.
What's Next?¶
Now that you understand the core principles, its time to understand the different audiences of our codebase.