cheatingchelsea/CLAUDE.md
Decobus a939c6ed65
Some checks failed
Build Check / build-check (pull_request) Failing after 2m18s
Build Check / build-check (push) Failing after 2m19s
Migrate from GitHub to Forgejo
- 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>
2025-07-10 18:43:35 -04:00

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

  1. UI Components: Full shadcn/ui component library in src/components/ui/
  2. Styling: Tailwind CSS with custom theme, use cn() utility for class merging
  3. Data Fetching: Server-side fetching in page components with fallback data
  4. Environment Variables: Only YOUTUBE_API_KEY is used
  5. Path Alias: Use @/ for imports from src/ 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/ with page.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