Imported from kpazgan/selleo_ai_hackaton (
AGENTS.md). Install upstream withnpx skills add kpazgan/selleo_ai_hackaton. Copyright stays with the author.
PROJECT KNOWLEDGE BASE
Generated: 2026-03-11 Branch: main (no commits yet)
OVERVIEW
TanStack Start + React 19 starter app with file-based routing, Tailwind CSS v4, SSR, and a teal/ocean design system. Hackathon-stage greenfield — built to be extended.
STRUCTURE
selleo_ai_hackaton/
├── src/
│ ├── routes/ # File-based routes (auto-generates routeTree.gen.ts)
│ │ ├── __root.tsx # Shell: HTML, Header, Footer, theme init, devtools
│ │ ├── index.tsx # Home page (/)
│ │ └── about.tsx # About page (/about)
│ ├── components/ # Shared UI components
│ ├── router.tsx # Router factory + type registration
│ ├── routeTree.gen.ts # AUTO-GENERATED — never edit manually
│ └── styles.css # Global CSS + design tokens + Tailwind entry
├── public/ # Static assets
├── vite.config.ts # Vite + TanStack Start + Tailwind + tsconfigPaths
├── tsconfig.json # Strict TS, bundler resolution, path aliases
└── package.json # Bun package manager
WHERE TO LOOK
| Task | Location |
|---|---|
| Add a page | src/routes/ — add a .tsx file, route auto-registers |
| Edit layout/shell | src/routes/__root.tsx — shellComponent |
| Shared UI | src/components/ |
| Design tokens | src/styles.css — CSS variables under :root / [data-theme="dark"] |
| Global styles / utility classes | src/styles.css |
| Router config | src/router.tsx |
| Build/Vite plugins | vite.config.ts |
CODE MAP
| Symbol | File | Role |
|---|---|---|
Route (root) |
src/routes/__root.tsx |
Shell, global head, layout |
RootDocument |
src/routes/__root.tsx |
HTML shell with Header/Footer |
THEME_INIT_SCRIPT |
src/routes/__root.tsx |
Inline script preventing theme flash |
getRouter() |
src/router.tsx |
Creates router; registers type globally |
routeTree |
src/routeTree.gen.ts |
Auto-generated from routes — never touch |
ThemeToggle |
src/components/ThemeToggle.tsx |
3-way toggle: light/dark/auto, persists to localStorage |
CONVENTIONS
- Runtime: Bun — use
bun --bun run <script>notnpm run - Path aliases:
#/*and@/*both resolve to./src/*(tsconfig + vite-tsconfig-paths) - Routing: File-based only. Drop a
.tsxinsrc/routes/— TanStack Router auto-generatesrouteTree.gen.ts - Route exports: Every route file must export
const Route = createFileRoute(...)({ ... }) - Import style: Named imports from
@tanstack/react-router; default-export components fromsrc/components/ - TS strict mode:
strict,noUnusedLocals,noUnusedParametersall enabled
DESIGN SYSTEM
Custom teal/ocean palette via CSS variables. Never hardcode colors — always use tokens.
| Token | Light | Dark | Use |
|---|---|---|---|
--sea-ink |
#173a40 |
#d7ece8 |
Primary text |
--sea-ink-soft |
#416166 |
#afcdc8 |
Secondary text |
--lagoon-deep |
#328f97 |
#8de5db |
Links, accents |
--bg-base |
#e7f3ec |
#0a1418 |
Page background |
--surface |
white/74% | dark/80% | Card background |
--line |
semi-transparent | semi-transparent | Borders |
Theme toggling: 3-way (light/dark/auto). data-theme attribute on <html>. Init script in __root.tsx prevents FOUC.
Utility classes (defined in styles.css, not Tailwind plugins):
.page-wrap— centered max-width container (1080px).island-shell— glassmorphism card style.display-title— Fraunces serif heading.island-kicker— uppercase small label.nav-link/.nav-link.is-active— nav item with animated underline.rise-in— fade-up entry animation
Fonts: Manrope (body, --font-sans), Fraunces (display headings only)
ANTI-PATTERNS
- Never edit
src/routeTree.gen.ts— auto-generated, overwritten on next dev start - Never hardcode color values — use CSS tokens (
var(--sea-ink), etc.) - No
@ts-ignore/as any— strict TS enforced - No unused locals/params — TS will error
COMMANDS
bun install # Install dependencies
bun --bun run dev # Dev server on :3000
bun --bun run build # Production build
bun --bun run test # Vitest test runner
bun --bun run preview # Preview production build
NOTES
routeTree.gen.tsis regenerated ondevstart — commit it but don't edit.tanstack/dir stores router cache (gitignored or committed depending on setup)- TanStack devtools active in dev: TanStack Router panel bottom-right
- No test files exist yet — Vitest is configured (jsdom) but no tests written
.cta.jsonis TanStack Create App metadata — not runtime config