Files
patrickandClaude Sonnet 5 4a19335a1e feat: rework starter kit for self-hosted deploy (Vite/React + Fastify/Drizzle/Postgres)
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
2026-09-08 11:42:47 +02:00

82 lines
2.7 KiB
Markdown

# 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
1. `/requirements` - Create feature spec from idea
2. `/architecture` - Design tech architecture (PM-friendly, no code)
3. `/frontend` - Build UI components (shadcn/ui first!)
4. `/backend` - Build APIs, database schema, auth checks
5. `/qa` - Test against acceptance criteria + security audit
6. `/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
```bash
# 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