Apps

apps/web

The primary web application on TanStack Start.

apps/web is the product. It is a TanStack Start application deployed as the onyx-web Worker, and it is where you add routes, pages, and features. It imports every private package and serves the public API.

Running it

vp dev apps/web        # http://localhost:3000
pnpm test:e2e          # Playwright suite, from apps/web
pnpm cf-typegen        # regenerate Worker types after editing wrangler.jsonc
pnpm run deploy        # build and deploy to Cloudflare

Set PORT to run several checkouts side by side; keep it in sync with BETTER_AUTH_URL in .dev.vars.

Route structure

File routes live in src/routes:

RoutePurpose
sign/*Sign in, sign up, forgot and reset password.
orgs/new, invite/$idOrganization creation and invitations.
_app/*The signed-in product behind the sidebar layout: chat, notes, tasks, members, settings.
api/auth/$, api/files/$, api/v1/$Better Auth, file uploads, and the public API.
deviceDevice-flow approval for CLI login.

Add a product page by creating a file under src/routes/_app/; the layout provides the sidebar, presence, and notifications around it.

Conventions

  • #/ is the path alias for src/.
  • Components with co-located styles use the .tsrx extension and are imported explicitly with it.
  • End-to-end tests live in e2e/ and run in CI, along with bundle size budgets defined in package.json under size-limit.

On this page