Clean
Clean architecture is modeled as ordered layers:
architecture :clean,
frameworks: "app/controllers/**/*.rb",
interface_adapters: "app/adapters/**/*.rb",
use_cases: "app/use_cases/**/*.rb",
entities: "app/entities/**/*.rb"
Dependencies move inward:
frameworks -> interface_adapters -> use_cases -> entities
This compiles to the same primitive rules as Layered, with names that match Clean Architecture vocabulary.
Use the Rails defaults with:
preset :rails_clean