Architecture
Why authentication starts with a port
A provider should be replaceable without asking the rest of your application for permission.
8 min readRead article
Architecture decisions, local workflows, and source-owned interface patterns from the public Starter repository.
Application code
AuthPort
The stable contract
getSession · signIn · signOut · requireUser
Architecture
A provider should be replaceable without asking the rest of your application for permission.
Developer experience
Short, deterministic feedback loops are part of the product—especially when humans and coding agents share a repository.
Interface
A source-delivered registry gives each product a common vocabulary without turning its interface into a locked dependency.