Files
web-app-launcher/plans/mvp-web-app-launcher/CONTEXT.md
T
alexei.dolgolyov cf6bde238c feat(mvp): phase 1 - project scaffolding & tooling
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.
2026-03-24 19:53:06 +03:00

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.example provided 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