44 lines
1.4 KiB
JSON
44 lines
1.4 KiB
JSON
{
|
|
"_meta": {
|
|
"updated_at": "2026-06-09T00:00:00Z",
|
|
"commit": "01f7456b81dd55d477d0bd7530df818f61a873c2",
|
|
"version": 1
|
|
},
|
|
"languages": ["TypeScript", "SQL"],
|
|
"frameworks": ["Hono 4.12.23", "React 19", "Drizzle ORM 0.45.2"],
|
|
"tools": [
|
|
"Vite 8.0.16",
|
|
"vite-plugin-pwa 1.3.0",
|
|
"Vitest",
|
|
"drizzle-kit 0.31.10",
|
|
"ESLint",
|
|
"node-cron"
|
|
],
|
|
"build_system": "pnpm workspaces + tsc (api) + vite build (pwa)",
|
|
"test_framework": "Vitest",
|
|
"package_manager": "pnpm 11.5.1",
|
|
"runtime": "Node.js 22 LTS",
|
|
"database": "MariaDB via mysql2 3.22.4",
|
|
"cache": "Redis (ioredis — planned for Phase 4 list sync; not yet wired)",
|
|
"auth": "Authelia OIDC — authorization_code + PKCE via @hono/oidc-auth 1.8.3",
|
|
"calendar_backend": "Fastmail CalDAV via tsdav 2.2.2 + ical.js 2.2.1",
|
|
"calendar_ui": "@schedule-x/calendar 4.6.0",
|
|
"server_state": "@tanstack/react-query 5.101.0",
|
|
"client_state": "zustand 5.0.14",
|
|
"content_formats": [
|
|
"TypeScript (source)",
|
|
"SQL (Drizzle migrations)",
|
|
"iCalendar / VCALENDAR (CalDAV payloads)",
|
|
"Markdown (planning docs)"
|
|
],
|
|
"infra": {
|
|
"hosting": "Unraid + Docker Compose",
|
|
"networking": "Pangolin/Newt tunnel (no open ports), split-DNS"
|
|
},
|
|
"workspaces": {
|
|
"root": "familysync (pnpm workspace root)",
|
|
"api": "@familysync/api — apps/api",
|
|
"pwa": "@familysync/pwa — apps/pwa"
|
|
}
|
|
}
|