Where relevant, include links to RFCs, regulatory guidance, or benchmarks in the ADR (e.g., RFC 9110 for HTTP, PCI DSS sections), under a 'References' section.
docs-adrsapi-conventions+1
Low
Return consistent types from methods
A method should return the same type in all code paths (e.g., always an array or always nil/record).
api-conventionsreadability-refactor
Low
Return DTOs instead of domain entities
Expose DTOs/ViewModels from API endpoints; avoid leaking persistence/domain entities directly.
api-conventionsmodule-architecture+1
Low
Use IReadOnlyList for immutable collections
Expose read-only views (IReadOnlyList/IReadOnlyCollection) from APIs that should not allow mutation.
api-conventionsmodule-architecture
Low
Use object literals for event payloads
When emitting custom events with data using `$emit`, pass an object literal as the payload instead of a raw primitive value, especially if there's a chance more data might be needed later.
api-conventionsmaintainability+1
Low
Use redirect() and notFound() from next/navigation
Prefer redirect() and notFound() over manual 302/404 handling and custom components in App Router.
stack-nextjsstack-react+2
Low
Use standard HTTP status text for errors
Return appropriate status codes and prefer http.StatusText(status) (or a consistent JSON error schema) rather than inventing custom reason phrases.