feat: initial commit — Curio mastery tutor

Full Next.js App Router application with:
- AI-graded lesson checkpoints (BKT/Elo mastery tracking)
- Auth.js v5: credentials, Google, GitHub, generic OIDC
- Anonymous-session-first with migrate-on-signin
- Admin panel: users, blueprints, reports, site settings
- Password reset + email verification (nodemailer/SMTP)
- Site config: require_auth + signups_enabled flags
- server-only guards on all DB/generation/verification modules
- PostgreSQL 16 + pgvector, Redis cache, Drizzle ORM
- 271 unit tests (Vitest), golden-eval harness, Playwright e2e stubs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 22:25:43 +02:00
commit 4e38b5a791
194 changed files with 30789 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
import { test, expect } from '@playwright/test';
test('homepage loads with intent input', async ({ page }) => {
await page.goto('/');
await expect(page.locator('h1')).toContainText('Curio');
await expect(page.locator('[aria-label="Learning intent"]')).toBeVisible();
await expect(page.locator('button[type="submit"]')).toBeDisabled();
});
test('submit button enables when input has text', async ({ page }) => {
await page.goto('/');
await page.fill('[aria-label="Learning intent"]', 'JavaScript closures');
await expect(page.locator('button[type="submit"]')).toBeEnabled();
});