This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Next.js 14 application for Hacktoberfest showcasing open source projects from the JavaScript Cebu community. It uses Contentlayer for MDX content management, Logto for authentication, and Upstash Redis for data storage.
# Install dependencies
pnpm install
# Run development server
pnpm dev
# Build production version
pnpm build
# Start production server
pnpm start
# Format and lint code
pnpm fmt- Framework: Next.js 14 with App Router
- Content: Contentlayer for MDX content management
- Authentication: Logto integration for admin features
- Database: Upstash Redis for project submissions and view counts
- Styling: Tailwind CSS with custom theme
- Code Quality: Rome for linting and formatting
/app- Next.js App Router pages and API routes/content/projects- MDX files for project showcases organized by year/app/components- Reusable React components/app/api- API endpoints for project submission and admin functionality
Projects are stored as MDX files in /content/projects/{year}/ with frontmatter fields:
title,description(required)published,date,url,repository,image(optional)
- Admin panel at
/adminprotected by Logto authentication - Admin emails configured via
ADMIN_EMAILSenvironment variable - Project submission system with moderation workflow
Required environment variables (see .env.example):
UPSTASH_REDIS_REST_URL- Redis database URLUPSTASH_REDIS_REST_TOKEN- Redis authentication tokenLOGTO_APP_SECRET- Logto application secretLOGTO_BASE_URL- Base URL for authentication callbacksADMIN_EMAILS- Comma-separated list of admin email addressesNEXT_PUBLIC_BEAM_TOKEN- Analytics token (optional)
- Project Showcase: Dynamic routing for project pages with view tracking
- Project Submission: User submission form with Redis storage
- Admin Moderation: Review and approve submitted projects
- MDX Support: Rich content with syntax highlighting and auto-linking
- Analytics: Custom analytics integration via Beam