This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the ATL Tech Network website - a Next.js-based community platform for Atlanta's tech ecosystem, featuring meetups, conferences, tech hubs, and online resources. The project was initially generated from v0.app and uses the App Router architecture.
# Development server (http://localhost:3000)
npm run dev
# Production build
npm run build
# Start production server
npm start
# Run linter
npm run lintThe project uses Next.js 15.2 with App Router (not Pages Router):
- Routing: File-based routing in
/appdirectory/app/page.tsx- Homepage/app/about/page.tsx- About page/app/conferences/page.tsx- Conferences listing/app/meetups/page.tsx- Meetups listing/app/resources/page.tsx- Online resources/app/tech-hubs/page.tsx- Tech hubs directory
- Root Layout:
/app/layout.tsxincludes fonts, metadata, and theme provider - Global Styles:
/app/globals.csscontains CSS variables, custom animations, and Tailwind directives
Two-tier component structure:
-
UI Primitives (
/components/ui/): shadcn/ui components- Built on Radix UI primitives
- Styled with Tailwind CSS and class-variance-authority
- Examples:
button.tsx,card.tsx,input.tsx,select.tsx
-
Feature Components (
/components/): Domain-specific componentshero.tsx- Landing page hero sectionnavigation.tsx- Main navigation with mobile menu*-section.tsx- Homepage sections for each content typeresource-card.tsx,resource-tag.tsx- Reusable display componentstheme-provider.tsx- Dark theme configuration
Server vs Client Components:
- Most pages are Client Components (
"use client") due to filters, forms, and interactivity - Root layout is a Server Component
- UI primitives work in both contexts
Currently using mock data in /lib/sample-data.ts:
meetups- List of Atlanta tech meetupsconferences- Tech conferencesresources- Online learning resourcestechHubs- Coworking spaces and tech hubs
No database or backend integration yet - form submissions prepare email data but only log to console.
- Tailwind CSS 4.1 with custom CSS variables in
globals.css - Dark theme: Slate-based color palette (slate-900 backgrounds)
- Accent colors: Cyan, Blue, Purple, Orange, Red gradients defined as CSS variables using oklch color space
- Fonts:
- Geist Sans/Mono (system fonts via
next/font) - Rubik (Google Font for headings)
- Geist Sans/Mono (system fonts via
- Component Styling: Uses
cn()utility from/lib/utils.tsto merge Tailwind classes
TypeScript and shadcn/ui are configured with path aliases:
@/components→/components@/components/ui→/components/ui@/lib→/lib@/hooks→/hooks@/*→/*(root directory)
The project uses shadcn/ui components. To add new components:
npx shadcn@latest add [component-name]Configuration is in components.json with "new-york" style and RSC support enabled.
-
Build Configuration (
next.config.mjs):- ESLint and TypeScript errors are ignored during builds (
ignoreDuringBuilds: true) - Image optimization is disabled (
unoptimized: true) - These settings should be reviewed before production deployment
- ESLint and TypeScript errors are ignored during builds (
-
TypeScript (
tsconfig.json):- Strict mode enabled
- Target: ES6
- Module resolution: bundler
Core:
- Next.js 15.2, React 19
- TypeScript
- Tailwind CSS 4.1
UI & Forms:
- shadcn/ui components (Radix UI primitives)
- Lucide React (icons)
- React Hook Form + Zod (installed but not fully integrated)
- Sonner (toast notifications)
Utilities:
- class-variance-authority (component variants)
- clsx + tailwind-merge (className utility)
- date-fns (date handling)
- Create folder in
/app/[page-name]/ - Add
page.tsxwith the page component - Update navigation in
/components/navigation.tsx - Add data to
/lib/sample-data.tsif needed
- Add component to
/components/[name].tsx - Use
"use client"directive if it needs state or event handlers - Import UI primitives from
@/components/ui - Use
cn()from@/lib/utilsfor conditional styling
- Local state:
useState,useMemofrom React - Form state: React Hook Form (installed, ready to integrate)
- Toast notifications:
useToasthook from@/hooks/use-toast
This is a development/prototype stage project:
- Mock data in memory (no database)
- Form submissions are placeholders (no email backend)
- Build warnings/errors are suppressed
- Image optimization disabled
- No authentication or user accounts
Before production deployment, address these items in next.config.mjs and implement backend integrations.