Your Constitution
A project constitution is a set of governing principles that constrain all development decisions. Every charter, plan, task, and line of code must comply.
Why You Need One
Section titled “Why You Need One”Without a constitution, AI agents make their own architectural decisions. They pick frameworks you did not ask for. They add abstractions you do not need. A constitution gives the agent explicit boundaries.
The Default 9 Articles
Section titled “The Default 9 Articles”Auro ships with 9 articles. Customize, remove, or add your own.
| # | Article | Rule |
|---|---|---|
| I | Library-First | Prefer existing libraries over custom code |
| II | CLI Interface | All functionality accessible via CLI |
| III | Test-First | Write tests before implementation (NON-NEGOTIABLE) |
| IV | Integration Testing | Integration tests over unit tests |
| V | Observability | Structured, queryable logs for everything |
| VI | Versioning | Semantic versioning, no exceptions |
| VII | Simplicity | Simplest solution that meets requirements |
| VIII | Anti-Abstraction | No abstractions until 3+ concrete cases need them |
| IX | Integration-First | Build integration layer before business logic |
Creating Your Constitution
Section titled “Creating Your Constitution”/auro.constitutionThe agent walks you through each article, asking whether to keep, modify, or remove it. The result saves to .auro/constitution.md.
How It Flows Through Phases
Section titled “How It Flows Through Phases”Fail path loops back to Charter for correction.
Fail path loops back to Plan for redesign.
Fail path loops back to Tasks for restructuring and test coverage.
At each gate, output is checked against the constitution. A charter violating Simplicity? Gate fails, revise the charter. A plan violating Library-First? Gate fails, revise the plan. Problems caught early, when they are cheap to fix.
Customizing
Section titled “Customizing”Common modifications:
- Remove CLI Interface for pure library projects
- Add a Security article for user data handling
- Add a Performance article for latency requirements
- Modify Test-First to charter coverage thresholds
Edit .auro/constitution.md directly. All slash commands use the updated version.
Next Steps
Section titled “Next Steps”With your constitution in place, head to the Charter phase to write structured charters. See Principles for deep dives on each article.