Phase 1.1: Monorepo Setup & Design System - Turborepo + pnpm workspaces monorepo structure - Shared packages: @yetanother/types, @yetanother/utils, @yetanother/hooks, @yetanother/ui, @yetanother/db - Radix UI primitives with custom shadcn/ui-style components (Button, Dialog, Toast, Tooltip, Tabs, Label) - Tailwind CSS v4 with design tokens (light theme) - TypeScript strict mode with composite project references Phase 1.2: Authentication & User Management - Fastify server setup with JWT auth (register, login, me endpoints) - @fastify/jwt with cookie support - User and workspace models with Prisma ORM Phase 1.3: Database Schema & Migrations - Full Prisma schema: User, Workspace, Node, NodeLink, Tag, Folder, Reminder, Embedding, Activity, Attachment, WorkspaceMember, SyncCheckpoint - pgvector extension for embeddings (vector(1536)) - Seed script for dev data - Comprehensive indexes (GIN, BRIN, B-tree) Phase 1.4: API Foundation & Middleware - Fastify REST API with versioned routes (/api/v1) - Zod request validation on all endpoints - CORS, Helmet security headers, rate limiting - Structured logging with pino-pretty - Swagger/OpenAPI docs at /docs - WebSocket support (collaboration ready) - CRUD routes: nodes, workspaces, search, auth Tooling: - ESLint 9 flat config with TypeScript parser - Prettier with consistent formatting rules - Turbo v2 task orchestration - GitHub Actions CI workflow - Husky + lint-staged pre-commit hooks
37 lines
1017 B
JSON
37 lines
1017 B
JSON
{
|
|
"name": "@yetanother/ui",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "./src/index.ts",
|
|
"types": "./src/index.ts",
|
|
"scripts": {
|
|
"lint": "eslint src/",
|
|
"typecheck": "tsc --noEmit",
|
|
"clean": "rm -rf .turbo node_modules"
|
|
},
|
|
"dependencies": {
|
|
"react": "^19.1.0",
|
|
"clsx": "^2.1.0",
|
|
"tailwind-merge": "^3.2.0",
|
|
"@yetanother/utils": "workspace:*",
|
|
"@radix-ui/react-slot": "^1.2.0",
|
|
"@radix-ui/react-dialog": "^1.1.0",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.0",
|
|
"@radix-ui/react-tooltip": "^1.2.0",
|
|
"@radix-ui/react-popover": "^1.1.0",
|
|
"@radix-ui/react-tabs": "^1.1.0",
|
|
"@radix-ui/react-toast": "^1.2.0",
|
|
"@radix-ui/react-label": "^2.1.0",
|
|
"lucide-react": "^0.510.0",
|
|
"@tanstack/react-query": "^5.75.0"
|
|
},
|
|
"devDependencies": {
|
|
"@yetanother/tsconfig": "workspace:*",
|
|
"@yetanother/eslint-config": "workspace:*",
|
|
"@types/react": "^19.1.0",
|
|
"typescript": "^5.8.0",
|
|
"eslint": "^9.25.0",
|
|
"tailwindcss": "^4.1.0"
|
|
}
|
|
}
|