TypeScript Web
Use for JS/TS-first websites, landings, booking/order/catalog/admin systems, dashboards, BFFs, and small productized business apps. Local-business projects are a primary use case, not the skill name/boundary.
Do not use Python implementation patterns. Borrow architecture/design/quality/security concepts from repo skills only as guidance; code stays in the JS/TS stack.
Triggers
- build/plan a TypeScript React site/app
- create a landing, small commerce/catalog, booking, ordering, dashboard, CRM/leads, cash-flow, or admin system
- scope a sellable web package from public/user-provided business data
- design React Router + Hono + Zod + Drizzle boundaries
- implement with Tailwind/shadcn/ui/lucide, Vitest, Playwright
Boundary
Covers:
- public-data discovery, brief, scope, project state, route map, data model, API/contracts
- React Router Framework Mode, Vite, Hono, Zod, Drizzle, SQLite/Supabase
- responsive UI, accessibility, tests, deployment readiness
Excludes:
- Python backends/tooling
- paid ads ops, fake reviews, spam, ToS bypass, private scraping
- sensitive medical records or unnecessary personal data
- enterprise architecture unless explicitly required
Stack
Default unless repo already has compatible conventions:
- TypeScript strict, Node.js, pnpm
- React + React Router Framework Mode + Vite
- Tailwind CSS + shadcn/ui + lucide-react
- React Aria Table/Collections for interactive admin tables
- Hono API/BFF
- Zod contracts/validation
- Drizzle ORM; SQLite local; Supabase Postgres/Auth/Storage only when persistence/auth/storage needs it
- Vitest; Playwright for critical flows
Avoid extra frameworks/deps without a real requirement.
Product Profiles
Pick one primary profile; list secondary modules separately.
| Profile |
Use when |
Core scope |
static-site |
presence/content |
pages, SEO, CTA, contact, map/social |
conversion-landing |
one offer/campaign |
offer, proof, FAQ, lead form, WhatsApp/events |
booking-system |
appointments |
services, availability, booking, admin status |
ordering-system |
food/service orders |
menu, cart, customer info, WhatsApp/admin hand |
catalog-commerce |
products/light commerce |
catalog, search, cart intent, admin catalog |
admin-dashboard |
internal ops/cash-flow/leads |
CRUD, summaries, filters, export, permissions |
custom-ops |
specific workflow |
domain model + one vertical slice |
Reference Map
- Research/business facts/sales positioning:
references/discovery.md
- Package/module selection:
references/product-catalog.md
- Routes, DB, API, auth, deployment:
references/architecture.md
- Coding workflow/patterns:
references/implementation.md
- Final verification:
references/checklists.md
Workflow
- Inspect repo: package manager, scripts, TS config, routing, DB, tests. Reuse conventions.
- Build
Business Brief if business context matters: confirmed facts, user facts, assumptions, unknowns, goals.
- Choose profile/package; define MVP, phase 2, out of scope.
- Produce/update project state before nontrivial code:
SPEC.md
DESIGN.md
TODO.md
.spec/state.md
.spec/handoff.md
.mem/open-loops.md
- Define route map, flows, entities/tables, Zod contracts, auth/deployment assumptions, acceptance criteria.
- Implement one vertical slice first: contract -> schema/migration -> loader/action or Hono route -> UI -> tests -> docs.
- Validate with repo scripts; prefer
pnpm typecheck, pnpm test, pnpm build, pnpm exec playwright test.
Architecture Defaults
Simple site:
app/{routes,components,features,lib,styles}
Persisted system:
apps/web/app/{routes,features,components,lib}
apps/api/src/{routes,modules,middleware}
packages/{schemas,db,ui,config}
Dependency direction:
web -> schemas -> db types/contracts
api -> schemas -> db
ui -> no db imports
features -> shared only through extracted package/module
Keep business rules testable; IO/framework/provider code stays at edges.
Output
Planning responses include: summary, package/profile, MVP, phase 2, out of scope, route map, data model, architecture, checklist, risks/questions, and state files updated.
Implementation responses include: files changed, behavior added, validation run, assumptions/remaining confirmations, and state updates when decisions or next steps changed.
1---2name: typescript-web3description: Plan, sell, design, and implement TypeScript web apps with React Router Framework Mode, Vite, Hono, Zod, Drizzle, SQLite/Supabase, Tailwind, shadcn/ui, lucide-react, Vitest, and Playwright.4---56# TypeScript Web78Use for JS/TS-first websites, landings, booking/order/catalog/admin systems, dashboards, BFFs, and small productized business apps. Local-business projects are a primary use case, not the skill name/boundary.910Do not use Python implementation patterns. Borrow architecture/design/quality/security concepts from repo skills only as guidance; code stays in the JS/TS stack.1112## Triggers1314- build/plan a TypeScript React site/app15- create a landing, small commerce/catalog, booking, ordering, dashboard, CRM/leads, cash-flow, or admin system16- scope a sellable web package from public/user-provided business data17- design React Router + Hono + Zod + Drizzle boundaries18- implement with Tailwind/shadcn/ui/lucide, Vitest, Playwright1920## Boundary2122Covers:2324- public-data discovery, brief, scope, project state, route map, data model, API/contracts25- React Router Framework Mode, Vite, Hono, Zod, Drizzle, SQLite/Supabase26- responsive UI, accessibility, tests, deployment readiness2728Excludes:2930- Python backends/tooling31- paid ads ops, fake reviews, spam, ToS bypass, private scraping32- sensitive medical records or unnecessary personal data33- enterprise architecture unless explicitly required3435## Stack3637Default unless repo already has compatible conventions:3839- TypeScript strict, Node.js, pnpm40- React + React Router Framework Mode + Vite41- Tailwind CSS + shadcn/ui + lucide-react42- React Aria Table/Collections for interactive admin tables43- Hono API/BFF44- Zod contracts/validation45- Drizzle ORM; SQLite local; Supabase Postgres/Auth/Storage only when persistence/auth/storage needs it46- Vitest; Playwright for critical flows4748Avoid extra frameworks/deps without a real requirement.4950## Product Profiles5152Pick one primary profile; list secondary modules separately.5354| Profile | Use when | Core scope |55| -------------------- | ----------------------------- | ---------------------------------------------- |56| `static-site` | presence/content | pages, SEO, CTA, contact, map/social |57| `conversion-landing` | one offer/campaign | offer, proof, FAQ, lead form, WhatsApp/events |58| `booking-system` | appointments | services, availability, booking, admin status |59| `ordering-system` | food/service orders | menu, cart, customer info, WhatsApp/admin hand |60| `catalog-commerce` | products/light commerce | catalog, search, cart intent, admin catalog |61| `admin-dashboard` | internal ops/cash-flow/leads | CRUD, summaries, filters, export, permissions |62| `custom-ops` | specific workflow | domain model + one vertical slice |6364## Reference Map6566- Research/business facts/sales positioning: `references/discovery.md`67- Package/module selection: `references/product-catalog.md`68- Routes, DB, API, auth, deployment: `references/architecture.md`69- Coding workflow/patterns: `references/implementation.md`70- Final verification: `references/checklists.md`7172## Workflow73741. Inspect repo: package manager, scripts, TS config, routing, DB, tests. Reuse conventions.752. Build `Business Brief` if business context matters: confirmed facts, user facts, assumptions, unknowns, goals.763. Choose profile/package; define MVP, phase 2, out of scope.774. Produce/update project state before nontrivial code:78 - `SPEC.md`79 - `DESIGN.md`80 - `TODO.md`81 - `.spec/state.md`82 - `.spec/handoff.md`83 - `.mem/open-loops.md`845. Define route map, flows, entities/tables, Zod contracts, auth/deployment assumptions, acceptance criteria.856. Implement one vertical slice first: contract -> schema/migration -> loader/action or Hono route -> UI -> tests -> docs.867. Validate with repo scripts; prefer `pnpm typecheck`, `pnpm test`, `pnpm build`, `pnpm exec playwright test`.8788## Architecture Defaults8990Simple site:9192```txt93app/{routes,components,features,lib,styles}94```9596Persisted system:9798```txt99apps/web/app/{routes,features,components,lib}100apps/api/src/{routes,modules,middleware}101packages/{schemas,db,ui,config}102```103104Dependency direction:105106```txt107web -> schemas -> db types/contracts108api -> schemas -> db109ui -> no db imports110features -> shared only through extracted package/module111```112113Keep business rules testable; IO/framework/provider code stays at edges.114115## Output116117Planning responses include: summary, package/profile, MVP, phase 2, out of scope, route map, data model, architecture, checklist, risks/questions, and state files updated.118119Implementation responses include: files changed, behavior added, validation run, assumptions/remaining confirmations, and state updates when decisions or next steps changed.