Clean architecture

When to use it

When this layout matches the way the app changes.

clean-architectureflutter

Choose feature-first when features are deleted, extracted, or owned by separate people, and the shared domain is small. The notes client is small enough that the extra shared/ file looks fussy. It is there so the next feature has a place to put a failure type that is not notes.

Choose hybrid when the domain is the stable part and the screens change. Choose layer-first when you want every feature to repeat inside the same four folders.

Next: Domain.