IdentityXFrontend
Frontend
The IdentityX frontend app and its generated TypeScript API client.
The IdentityX frontend lives in the TheTree monorepo. Two pieces:
| Piece | Where | What it is |
|---|---|---|
| App | front/identityx/ | TanStack Start app (React Router, React Query, Base UI) |
| API client | lib/ts/identityx/ | orval-generated client, published as @trieoh/identityx-api |
Stack
- TanStack Start — React Router + SSR + React Query; server functions for BFF-ish calls.
- Base UI + Tailwind for components;
@trieoh/ui-base/@trieoh/front-corefor shared UI and front conventions. - Generated client —
lib/ts/identityx/client/(endpoints.ts+schemas/) produced by orval fromapi/identityx/api-spec.yml, with TanStack Query hooks.
Generated client
lib/ts/identityx/
├── client/
│ ├── endpoints.ts # typed API functions
│ ├── schemas/ # spec types
│ └── (react-query hooks)
└── package.json # @trieoh/identityx-api- The
fun.Responseenvelope is unwrapped for you: the orval input transformer replaces enveloped responses with theirdataschema, and the runtime mutator (lib/ts/api-client/src/orval-mutator.ts) rejects withApiErroron failures (envelope available at.envelope). - Regenerate after any spec change:
pnpm orval(orjust generate-orval) — never hand-write endpoint code.
Run it
pnpm --filter @trieoh/identityx-api dev # generated client workspace pkg
pnpm --filter identityx dev # the app (front/identityx)The app calls configureApiClient({ baseURL, authBaseURL }) once at startup — see the conventions page.