Replace Next.js/Supabase/Vercel stack with a self-hostable setup: Vite+React frontend, Fastify+Drizzle+PostgreSQL backend with own JWT auth, deploy via git pull + rsync + systemd (checkout/service separated, updates pulled from Gitea). Adds a reference auth route (register/login/me) as the canonical pattern for new routes. Updates all skills/rules/agents/docs to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMdBJfD9TT6XUU2NqGG1PN
2.7 KiB
2.7 KiB
AI Coding Starter Kit
A self-hosted Vite/React + Fastify template with an AI-powered development workflow using specialized skills for Requirements, Architecture, Frontend, Backend, QA, and Deployment.
Tech Stack
- Frontend: Vite + React 19 + TypeScript
- Styling: Tailwind CSS + shadcn/ui (copy-paste components)
- Backend: Fastify + Drizzle ORM + PostgreSQL, own JWT auth
- Deployment: self-hosted Linux server — git pull + rsync + systemd, updates pulled from Gitea
- Validation: Zod + react-hook-form
- State: React useState / Context API
Project Structure
frontend/
src/
main.tsx, App.tsx Entry points
components/
ui/ shadcn/ui components (NEVER recreate these)
hooks/ Custom React hooks
lib/ Utilities (utils.ts)
backend/
src/
server.ts Fastify app entry
routes/ Route handlers
db/ Drizzle schema + connection
drizzle/ Generated migrations
features/ Feature specifications (PROJ-X-name.md)
INDEX.md Feature status overview
docs/
PRD.md Product Requirements Document
production/ Production guides (error tracking, security, performance)
Development Workflow
/requirements- Create feature spec from idea/architecture- Design tech architecture (PM-friendly, no code)/frontend- Build UI components (shadcn/ui first!)/backend- Build APIs, database schema, auth checks/qa- Test against acceptance criteria + security audit/deploy- Deploy to the server + production-ready checks
Feature Tracking
All features tracked in features/INDEX.md. Every skill reads it at start and updates it when done. Feature specs live in features/PROJ-X-name.md.
Key Conventions
- Feature IDs: PROJ-1, PROJ-2, etc. (sequential)
- Commits:
feat(PROJ-X): description,fix(PROJ-X): description - Single Responsibility: One feature per spec file
- shadcn/ui first: NEVER create custom versions of installed shadcn components
- Human-in-the-loop: All workflows have user approval checkpoints
- No RLS backstop: authorization/ownership checks are explicit in Fastify route handlers, not enforced by the database
Build & Test Commands
# frontend/
npm run dev # Vite dev server (localhost:5173)
npm run build # Production build
npm run lint # ESLint
# backend/
npm run dev # tsx watch (localhost:4000)
npm run build # tsc build
npm run start # node dist/server.js
npm run db:generate # generate Drizzle migration
npm run db:migrate # apply migrations
Product Context
@docs/PRD.md
Feature Overview
@features/INDEX.md