Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is an AI Conference Deadlines web application that displays submission deadlines for top AI conferences like NeurIPS and ICLR. It's a React/TypeScript web app built with Vite, using shadcn-ui components and Tailwind CSS.
Development Commands
# Install dependencies
npm i
# Start development server (runs on http://localhost:8080)
npm run dev
# Build for production
npm run build
# Build for development
npm run build:dev
# Lint code
npm run lint
# Preview production build
npm preview
Architecture
Core Structure
- Frontend: React 18 + TypeScript + Vite
- UI Framework: shadcn-ui components with Radix UI primitives
- Styling: Tailwind CSS with custom animations
- Data Source: Individual YAML files per conference (src/data/conferences/) updated via GitHub Actions
- State Management: React hooks, no external state management library
Key Directories
- src/components/- React components (UI components in- ui/subdirectory)
- src/pages/- Route components (Index, Calendar, NotFound)
- src/data/- Conference data in YAML format
- src/types/- TypeScript type definitions
- src/utils/- Utility functions for date handling and conference processing
- src/hooks/- Custom React hooks
Main Components
- ConferenceList- Primary list view of conferences
- ConferenceCard- Individual conference display card
- ConferenceDialog- Detailed conference information modal
- FilterBar- Conference filtering and search functionality
- ConferenceCalendar- Calendar view of conferences
- Header- Navigation and app header
Data Model
Conferences are defined by the Conference interface in src/types/conference.ts with properties including:
- Basic info: title,year,id,full_name,link
- Dates: deadline,abstract_deadline,date,start,end
- Location: city,country,venue
- Metadata: tags,hindex,note
Configuration Files
- vite.config.ts- Vite configuration with YAML plugin for loading conference data
- tailwind.config.ts- Tailwind CSS configuration with custom theme
- components.json- shadcn-ui component configuration
- tsconfig.json- TypeScript configuration
Data Updates
Conference data is automatically updated via GitHub Actions workflow (.github/workflows/update-conferences.yml) that fetches from ccfddl repository and creates pull requests with updates to individual conference files.
Path Aliases
- @/*maps to- src/*for cleaner imports
Development Notes
- The app uses a YAML plugin to import conference data directly in components
- All UI components follow shadcn-ui patterns and conventions
- The project uses React Router for client-side routing
- Date handling uses date-fnsanddate-fns-tzfor timezone support

