feat: add workspace instructions for project setup and development workflow
This commit is contained in:
37
.github/copilot-instructions.md
vendored
Normal file
37
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
# 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.tsx` and passed down as props.
|
||||
|
||||
## 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-react` for analytics features if needed.
|
||||
- Maintain consistent hover effects and layout patterns across cards.
|
||||
Reference in New Issue
Block a user