Problem: We're a team of ~20 engineers. Started with clean architecture. Now it's... let's just say "creative layering"
Real issues: - 40% of PRs were rejected just for architecture violations - Code review became the bottleneck (architectural review ≠ logic review) - Junior devs didn't understand the implicit rules - No way to catch violations automatically
Solution: architect-linter
It's like ESLint, but for your entire system design. Define rules in architect.json, architect validates imports across your codebase.
Key features: - Multi-language: TypeScript, JavaScript, Python, PHP (all via Tree-sitter) - Multi-architecture patterns: Hexagonal, Clean, MVC - Fast: Written in Rust, parallel processing - Free & open source (MIT license) - Works in CI/CD, pre-commit hooks, watch mode
Example rule: ```json { "forbidden_imports": [ { "from": "src/components/*", "to": "src/services/*", "reason": "UI layer shouldn't call services directly" } ] }