---
id: w5/m1/t004
title: Add a minimal sample route using the existing UI kit
worker: worker5
status: done
estimate: 30m
depends_on: [w5/m1/t003]
---

## Objective

Add one small sample route/page so `yarn dev` shows real content proving the shell (routing, layout, Radix/shadcn components, Tailwind) still works after the strip-down — "almost empty," not literally blank.

## Context

- After t002 removed `src/features/*`, the route tree likely has little beyond a root layout and maybe a 404 — check `dashboard/src/routes/` for what survived.
- The point of this task is to prove the surviving shell is usable, not to build real bex functionality (no wiring to `bex-api` yet — that's future work per this milestone's "Why now").
- Reuse the existing component kit already in `dashboard/src/common/components` (shadcn/Radix primitives, already-installed dependencies) rather than adding new ones.
- A reasonable sample: a `/` route rendering a placeholder "services" table/list with a few hardcoded rows (mirroring the eventual `bex-api` `GET /v1/services` shape loosely, e.g. `{id, name, status}`), styled with the existing table/card components.

## Steps

1. Add/update `dashboard/src/routes/index.tsx` (or equivalent TanStack Start route) rendering a sample page using existing UI components.
2. Regenerate the route tree if needed (`yarn generate-routes` / `tsr generate`).
3. Confirm `yarn dev` renders the sample page with no console errors.

## Files

- `dashboard/src/routes/index.tsx` (or wherever the root route lives post-strip)
- `dashboard/src/routeTree.gen.ts` (regenerated, gitignored)

## Acceptance criteria

- [ ] `yarn dev` serves a page at `/` showing sample content built from the existing component kit.
- [ ] No console errors/warnings from broken imports on that route.

## Out of scope

- Real data fetching / Apollo queries against any backend — hardcoded sample data only.
