Implemented comprehensive release notes feature with: - MDX-based content system for easy release note authoring - Thematic sidebar navigation (Foundation, Features, Infrastructure) - Auto-generated pages from MDX frontmatter - Overview page with status filtering (completed/in_progress/planned) - Detail pages with custom MDX components - Mobile-responsive navigation (horizontal scroll tabs) - Integration with timeline (link to detailed release notes) - Added "Releases" link to header navigation Technical implementation: - next-mdx-remote for MDX parsing and rendering - gray-matter for frontmatter extraction - Custom MDX components for images, code blocks, typography - Static site generation (SSG) for performance - Template system for consistent release note structure Files added: - app/(marketing)/releases/ - Route structure and components - content/nl/releases/ - MDX content files and index - lib/mdx/releases.ts - MDX utility functions - docs/specs/releasepage/ - Build plan documentation - docs/templates/release-note-template.mdx - Content template First release note: authentication.mdx (login, signup, password reset) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
51 lines
1.4 KiB
JSON
51 lines
1.4 KiB
JSON
{
|
|
"name": "15-mini-epd-prototype",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev --webpack",
|
|
"build": "next build --webpack",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"types:generate": "npx supabase gen types typescript --project-id dqugbrpwtisgyxscpefg > lib/supabase/types.ts",
|
|
"setup:auth-hook": "tsx scripts/setup-auth-hook.ts"
|
|
},
|
|
"dependencies": {
|
|
"@radix-ui/react-icons": "^1.3.2",
|
|
"@radix-ui/react-slot": "^1.2.4",
|
|
"@react-three/drei": "^10.7.7",
|
|
"@react-three/fiber": "^9.4.0",
|
|
"@supabase/ssr": "^0.7.0",
|
|
"@supabase/supabase-js": "^2.81.1",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"framer-motion": "^12.23.24",
|
|
"gray-matter": "^4.0.3",
|
|
"lucide-react": "^0.553.0",
|
|
"next": "16.0.1",
|
|
"next-mdx-remote": "^5.0.0",
|
|
"next-themes": "^0.4.6",
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"tailwind-merge": "^3.4.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"three": "^0.181.1",
|
|
"tsx": "^4.20.6",
|
|
"zod": "^4.1.12"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@types/three": "^0.181.0",
|
|
"autoprefixer": "^10.4.22",
|
|
"dotenv": "^17.2.3",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.0.1",
|
|
"postcss": "^8.5.6",
|
|
"tailwindcss": "^3.4.18",
|
|
"typescript": "^5"
|
|
}
|
|
}
|