Nano Banana Pro
Agent skill for nano-banana-pro
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a Next.js 16 portfolio application built with React 19, TypeScript, and Tailwind CSS v4. The project uses the App Router architecture and is configured for modern web development with animation libraries (AOS and GSAP) ready for integration.
npm run dev # Start development server at http://localhost:3000 npm run build # Create production build npm start # Run production server npm run lint # Run ESLint
npm install # Install dependencies npm install <package> # Add new package
src/app/ directory for file-based routing'use client'src/app/layout.tsx): Defines HTML structure, loads fonts (Geist Sans and Geist Mono), and wraps all pagespage.tsx file in src/app/ becomes a routeCurrent state: Minimal component structure (just layout and homepage)
When adding components:
src/components/ directory for reusable UI components'use client' directive for interactive components requiring hooks or browser APIsPath Aliases: Import using
@/* prefix (e.g., import Component from '@/components/Component')
Two animation libraries are installed but not yet integrated:
AOS (Animate On Scroll) v2.3.4: For scroll-triggered animations
'use client' directiveAOS.init() in a client componentGSAP v3.13.0: For complex timeline-based animations
'use client' directiveuseGSAP() hook from @gsap/react for proper React integration (install if needed)Integration approach: Create a client-side wrapper component in layout or use client components for animated sections.
@tailwindcss/postcss)tailwind.config.js needed—configuration is in globals.css using @theme inline@import "tailwindcss" in CSS filessrc/app/globals.css:
--background and --foreground for theming--font-geist-sans and --font-geist-monoprefers-color-scheme media query
dark: prefix for dark mode utilities (e.g., dark:bg-black)className="flex items-center gap-4")sm:, md:, lg:, etc.font-sans or font-mono classes@/* maps to ./src/*type for object shapes and unionsinterface for component props (extendable)Metadata, NextConfig, etc.src/ ├── app/ │ ├── layout.tsx # Root layout with fonts and metadata │ ├── page.tsx # Homepage │ └── globals.css # Global styles and Tailwind config
src/ ├── app/ # Routes and layouts ├── components/ # Reusable UI components ├── hooks/ # Custom React hooks ├── lib/ # Third-party library configurations ├── utils/ # Helper functions └── types/ # Shared TypeScript types
next/image component for all images (see page.tsx:1)priority for above-the-fold images/public are served from root URL (e.g., /next.svg)next/font/google in layout.tsxvariable propertyclassName propmetadata object from layout.tsx or page.tsx for SEOMetadata type from "next" for type safetyServer Components (default):
useEffect neededClient Components (
'use client'):
src/app/ for pages, src/components/ for reusable components)@/) for imports'use client'useEffect hookuseGSAP() hook or useEffect for animationseslint.config.mjs).next/, out/, build/, next-env.d.ts'use client' only when necessary@/) consistentlyfont-sans and font-mono classes instead of arbitrary font families