60 lines
2.0 KiB
Plaintext
60 lines
2.0 KiB
Plaintext
---
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Biohazard VFX Website - Project Structure
|
|
|
|
This is a Next.js 15.5.4 VFX studio website built with React 19, TypeScript, Tailwind CSS 4, and shadcn/ui components.
|
|
|
|
## Core Architecture
|
|
|
|
- **Framework**: Next.js 15.5.4 with App Router
|
|
- **Styling**: Tailwind CSS 4 + shadcn/ui components
|
|
- **Animation**: Framer Motion for subtle transitions
|
|
- **Forms**: react-hook-form + Zod validation
|
|
- **Deployment**: Cloudflare Workers via OpenNext
|
|
- **Package Manager**: npm
|
|
|
|
## Project Layout
|
|
|
|
```
|
|
src/
|
|
├─ app/ # App Router pages and layouts
|
|
│ ├─ (marketing)/ # Route groups
|
|
│ ├─ api/ # Route handlers
|
|
│ └─ layout.tsx # Root layout with global providers
|
|
├─ components/ # Reusable UI components
|
|
│ └─ ui/ # shadcn/ui primitives
|
|
├─ data/ # JSON/TS data objects
|
|
├─ lib/ # Utilities, hooks, server actions
|
|
├─ styles/ # globals.css, Tailwind utilities
|
|
└─ types/ # Shared TypeScript types
|
|
```
|
|
|
|
## Key Files
|
|
|
|
- [AGENTS.md](mdc:AGENTS.md) - Single source of truth for development guidelines
|
|
- [package.json](mdc:package.json) - Dependencies and scripts
|
|
- [next.config.ts](mdc:next.config.ts) - Next.js configuration
|
|
- [tsconfig.json](mdc:tsconfig.json) - TypeScript configuration with @ alias
|
|
- [src/middleware.ts](mdc:src/middleware.ts) - Route protection and redirects
|
|
- [src/app/layout.tsx](mdc:src/app/layout.tsx) - Root layout with fonts and metadata
|
|
|
|
## Import Aliases
|
|
|
|
Always use absolute imports with `@` mapped to `src/`:
|
|
```typescript
|
|
import { Component } from '@/components/Component'
|
|
import { data } from '@/data/projects'
|
|
```
|
|
|
|
## Development Commands
|
|
|
|
```bash
|
|
npm ci # Install dependencies
|
|
npm run dev # Development server with Turbopack
|
|
npm run type-check # TypeScript validation
|
|
npm run lint # ESLint validation
|
|
npm run build # Production build
|
|
npx open-next@latest build # OpenNext build for Cloudflare
|
|
``` |