{
  "name": "ai-lesson-prep",
  "version": "0.2.0",
  "private": true,
  "description": "《人工智能基础》AI 备课工作台",
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "db:generate": "prisma generate",
    "db:migrate": "prisma migrate dev",
    "db:deploy": "prisma migrate deploy",
    "db:seed": "prisma db seed",
    "db:reset": "prisma migrate reset --force",
    "p2:verify": "tsx seed/verify.ts",
    "p2:reject-check": "tsx scripts/check-reject-generation.ts",
    "p4:test": "tsx scripts/test-p4.ts",
    "p4:demo": "tsx scripts/demo-p4.ts",
    "p5:test": "tsx scripts/test-p5.ts",
    "p5:demo": "tsx scripts/demo-p5.ts",
    "p6:test": "tsx scripts/test-p6.ts",
    "p6:demo": "tsx scripts/demo-p6.ts",
    "p7:test": "tsx scripts/test-p7.ts",
    "p7:demo": "tsx scripts/demo-p7.ts",
    "p8:test": "tsx scripts/test-p8.ts",
    "p8:demo": "tsx scripts/demo-p8.ts",
    "p9:test": "tsx scripts/test-p9.ts",
    "p9:demo": "tsx scripts/demo-p9.ts",
    "p10:test": "tsx scripts/test-p10.ts",
    "p10:demo": "tsx scripts/demo-p10.ts",
    "s2a:test": "tsx scripts/test-s2a.ts",
    "s2a:demo": "tsx scripts/demo-s2a.ts",
    "s2b:test": "tsx scripts/test-s2b.ts",
    "s2b:demo": "tsx scripts/demo-s2b.ts",
    "s2c:test": "tsx scripts/test-s2c.ts",
    "s2c:demo": "tsx scripts/demo-s2c.ts",
    "s3a:test": "tsx scripts/test-s3a.ts",
    "s3a:demo": "tsx scripts/demo-s3a.ts",
    "s3b:test": "tsx scripts/test-s3b.ts",
    "s3b:demo": "tsx scripts/demo-s3b.ts",
    "s3c:test": "tsx scripts/test-s3c.ts",
    "s3c:demo": "tsx scripts/demo-s3c.ts",
    "s3d:test": "tsx scripts/test-s3d.ts",
    "s3d:demo": "tsx scripts/demo-s3d.ts",
    "s3e:test": "tsx scripts/test-s3e.ts",
    "s3e:demo": "tsx scripts/demo-s3e.ts",
    "rss:fetch": "tsx scripts/fetch-rss.ts"
  },
  "prisma": {
    "seed": "tsx prisma/seed.ts"
  },
  "engines": {
    "node": ">=18.17.0"
  },
  "dependencies": {
    "@prisma/client": "^5.22.0",
    "@radix-ui/react-label": "^2.1.2",
    "@radix-ui/react-slot": "^1.1.2",
    "bcryptjs": "^2.4.3",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "docx": "^9.7.1",
    "iron-session": "^8.0.4",
    "jszip": "^3.10.1",
    "lucide-react": "^0.468.0",
    "mammoth": "^1.9.0",
    "next": "^14.2.21",
    "pptxgenjs": "^4.0.1",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "rss-parser": "^3.13.0",
    "tailwind-merge": "^2.6.0"
  },
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/node": "^20.17.10",
    "@types/react": "^18.3.18",
    "@types/react-dom": "^18.3.5",
    "autoprefixer": "^10.4.20",
    "eslint": "^8.57.1",
    "eslint-config-next": "^14.2.21",
    "postcss": "^8.4.49",
    "prisma": "^5.22.0",
    "tailwindcss": "^3.4.17",
    "tailwindcss-animate": "^1.0.7",
    "tsx": "^4.19.2",
    "typescript": "^5.7.2"
  }
}
