---
name: architecture
description: General practices to consider when setting up a new application or enhancing it structurally
---

# Architecture conventions

**Organization:**

- SRP, separation of concerns, dependency injection
- Fail fast with clear error messages
- Use packages with defined interfaces to apply open-close principle for components
- Start with simple, testable components
