SsuperslateDocs

Build your first feature

Add a durable product capability from schema to UI without bypassing the architecture.

Use a new domain for durable product behavior. A feature is complete only when its data ownership, validation, server policy, browser states, and verification all agree.

A maintained path

Define the behavior

Specify the owner, lifecycle, limits, and failure states before choosing files or UI.

Make persistence explicit

Add a dbmate migration and shared Zod request/response schemas in packages/contracts.

Build the vertical slice

Create server route, service, and repository layers, then the typed web service and product module.

Prove it works

Cover authorization, validation, durable behavior, and relevant failure paths before release.

Do not skip the boundaries

Do not place product SQL in routes, use client state as the authorization source, or gate paid access solely in the browser. These shortcuts are fast only until the first policy, billing, or data-loss edge case appears.

Golden paths are optional playbooks

Each guide provides a tested route, common change surfaces, ownership rules, acceptance criteria, and useful checks. You may use another implementation approach when it preserves the required invariants and proves the same product outcome.

On this page