cf6bde238c
Initialize SvelteKit project with Svelte 5, TypeScript strict, Tailwind CSS v4, shadcn-svelte, Prisma + SQLite, Vitest, ESLint, Prettier. Add Docker multi-stage build, docker-compose, and Gitea Actions CI pipeline.
1.5 KiB
1.5 KiB
Feature Context: Web App Launcher — MVP
Current State
Phase 1 (Project Scaffolding & Tooling) is complete. The SvelteKit project is initialized with all dependencies installed (npm install succeeds). Config files in place: svelte.config.js (adapter-node), vite.config.ts (Tailwind v4 + Vitest), tsconfig.json (strict), eslint.config.js, .prettierrc, components.json (shadcn-svelte), prisma/schema.prisma (SQLite). Docker and CI configs created. Build does not pass yet (Big Bang strategy — expected).
Temporary Workarounds
- None yet
Cross-Phase Dependencies
- Phase 2 depends on Phase 1 (project scaffolding, Prisma setup)
- Phase 3 depends on Phase 2 (user/group models, auth service)
- Phase 4 depends on Phase 2 (app model, services layer)
- Phase 5 depends on Phase 2 (board/section/widget models) and Phase 4 (app widget references apps)
- Phase 6 depends on Phases 3-5 (admin needs auth, app, board entities)
- Phase 7 depends on Phase 1 (Tailwind, shadcn-svelte) and Phase 5 (board layout to polish)
- Phase 8 depends on all prior phases
Implementation Notes
- Big Bang strategy: intermediate phases may not build/pass tests. Only Phase 8 must result in a fully working build.
- SQLite with Prisma — single file DB at
data/launcher.db - All env config via environment variables;
.env.exampleprovided as template - Svelte 5 runes mode: use
$state,$derived,$effect— NOT legacy stores for component state - shadcn-svelte uses Bits UI primitives — each component is a local file, not a library import