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

55 lines
No EOL
2.2 KiB
Markdown

# 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
```bash
# 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