1.7 KiB
1.7 KiB
Workspace Instructions - my-portfolio
This repository contains a personal portfolio website built with React 19, Vite, TypeScript, and Tailwind CSS 4.
Project Structure
src/components/: Reusable UI components (cards, modals, navbar).src/pages/: Main page components.src/sections/: Modular layout sections used in pages.src/types.ts: Central location for all TypeScript interfaces and data models.src/App.tsx: The main entry point managing overall state and routing.
Development Workflow
- Package Manager: Use
pnpm. - Commands:
pnpm dev: Start development server.pnpm build: Type-check and build for production.pnpm lint: Run ESLint.pnpm preview: Preview production build.
Code Conventions
- Naming: Use PascalCase for components and sections (e.g.,
ProjectCard.tsx). - Exports: Prefer named exports for components.
- Styling:
- Use Tailwind CSS 4 utility classes.
- Follow the "glassmorphism" aesthetic (e.g.,
backdrop-blur-sm,bg-white/10,border-white/10).
- Data Models:
- All new data structures (projects, experiences) must be defined in
src/types.ts. - Content is typically initialized in
App.tsxand passed down as props.
- All new data structures (projects, experiences) must be defined in
Component Principles
- Separation of Concerns: Sections in
src/sections/should focus on presentation and receive data via props from parent pages. - Modals: Modal states (open/close, selected item) are managed in the parent component and passed down.
Best Practices
- Ensure strict TypeScript typing for all props.
- Use the
@danielgtmn/umami-reactfor analytics features if needed. - Maintain consistent hover effects and layout patterns across cards.