chore: add plan files and gitignore for MVP feature

This commit is contained in:
2026-03-24 19:46:26 +03:00
parent 6d415ac97d
commit dc9bd3bba4
11 changed files with 676 additions and 0 deletions
@@ -0,0 +1,63 @@
# Phase 1: Project Scaffolding & Tooling
**Status:** ⬜ Not Started
**Parent plan:** [PLAN.md](./PLAN.md)
**Domain:** backend
## Objective
Initialize the SvelteKit project with the full toolchain: TypeScript strict, Svelte 5, Tailwind CSS v4, shadcn-svelte, Prisma + SQLite, Vitest, ESLint, Prettier. Create the Docker and CI configuration.
## Tasks
- [ ] Task 1: Initialize SvelteKit project with TypeScript, Svelte 5 adapter-node
- [ ] Task 2: Install and configure Tailwind CSS v4
- [ ] Task 3: Install and configure shadcn-svelte (Bits UI primitives)
- [ ] Task 4: Install Prisma, configure SQLite provider, create initial empty schema
- [ ] Task 5: Install Vitest and configure for SvelteKit
- [ ] Task 6: Configure ESLint + Prettier for Svelte/TS
- [ ] Task 7: Install runtime dependencies: lucide-svelte, simple-icons, superforms, zod, bcrypt, jsonwebtoken, node-cron, openid-client
- [ ] Task 8: Create `.env.example` with all required env vars
- [ ] Task 9: Create `Dockerfile` (multi-stage build)
- [ ] Task 10: Create `docker-compose.yml`
- [ ] Task 11: Create `.gitea/workflows/ci.yml` (lint, type-check, test, Docker build)
- [ ] Task 12: Create `app.css` with Tailwind base + CSS custom properties for theming
- [ ] Task 13: Create `app.d.ts` with SvelteKit type augmentation (Locals, Session)
## Files to Modify/Create
- `package.json` — project config with all dependencies and scripts
- `svelte.config.js` — SvelteKit config with adapter-node
- `vite.config.ts` — Vite config with Vitest
- `tsconfig.json` — TypeScript strict config
- `tailwind.config.ts` — Tailwind v4 config
- `src/app.css` — Tailwind imports + theme variables
- `src/app.d.ts` — SvelteKit type augmentation
- `src/app.html` — HTML template
- `prisma/schema.prisma` — empty schema with SQLite datasource
- `.env.example` — template env vars
- `Dockerfile` — multi-stage Node build
- `docker-compose.yml` — single-service deployment
- `.gitea/workflows/ci.yml` — CI pipeline
- `eslint.config.js` — ESLint flat config
- `.prettierrc` — Prettier config
## Acceptance Criteria
- `npm install` succeeds
- Project structure matches SvelteKit conventions
- All config files are valid
- Dockerfile builds (structure-wise, not the app itself yet)
## Notes
- Use `@sveltejs/adapter-node` for Docker deployment
- Svelte 5 runes mode is the default in latest SvelteKit — no special config needed
- Tailwind v4 uses the new CSS-based config approach
- ⚠️ Big Bang: build will not pass yet — no routes or components exist
## Review Checklist
- [ ] All tasks completed
- [ ] Code follows project conventions
- [ ] No unintended side effects
- [ ] Build passes
- [ ] Tests pass (new + existing)
## Handoff to Next Phase
<!-- Filled in by the implementation agent after completing this phase. -->