- Rename .github directory to .forgejo - Update workflow actions to use Forgejo-specific URLs - Change runners from ubuntu-latest to self-hosted - Replace GitHub-specific AWS action with environment variables - Update documentation references from GitHub to Forgejo/git.deco.sh 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2.2 KiB
2.2 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a Next.js 15.3.3 application with TypeScript, React 18, and Firebase hosting. The app exposes harmful activities and supports Kristen Jacobs through a GoFundMe campaign.
Essential Commands
# Development
npm run dev # Start dev server with Turbopack on port 9002
npm run genkit:dev # Start Genkit AI development server
npm run genkit:watch # Start Genkit with file watching
# Production
npm run build # Build the Next.js application
npm run start # Start production server
# Quality Checks
npm run lint # Run Next.js linting
npm run typecheck # Run TypeScript type checking
# Deployment
npm run deploy:s3 # Deploy to AWS S3 bucket
npm run create-s3-bucket # Create S3 bucket for deployment
Architecture Overview
App Structure
- App Router: Uses Next.js App Router in
src/app/
- Pages: Homepage, Gallery (YouTube videos), Dadvocate (curated videos), Long Story
- Static Generation: Pages use static generation with ISR for external data
- Deployment: Supports Static hosting (S3), Firebase App Hosting, and Vercel
Key Patterns
- UI Components: Full shadcn/ui component library in
src/components/ui/
- Styling: Tailwind CSS with custom theme, use
cn()
utility for class merging - Data Fetching: Server-side fetching in page components with fallback data
- Environment Variables: Only
YOUTUBE_API_KEY
is used - Path Alias: Use
@/
for imports fromsrc/
directory
Development Notes
- Build Configuration: TypeScript and ESLint errors are ignored during builds
- YouTube API: Gallery and Dadvocate pages fetch video data with 1-hour cache
- AI Integration: Genkit setup exists but is minimally implemented
- Theme: Dark/light mode support via next-themes
- Pre-commit: Husky runs linting before commits
Adding Features
- New pages: Create directory in
src/app/
withpage.tsx
and metadata export - New components: Add to
src/components/
or use existing shadcn/ui components - API integration: Use server components with async/await and error handling