feat: Грибы Крыма — полная энциклопедия и справочник грибника
- Энциклопедия 20 видов грибов Крыма с детальными описаниями - Интерактивный календарь грибника по месяцам - Справочник: правила сбора, первая помощь, кулинария - Поиск и фильтрация по съедобности и сезону - Адаптивный дизайн, природная цветовая палитра - Docker-конфигурация для деплоя Tech: Next.js 15, TypeScript, Tailwind CSS 4, React 19 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
29
.cursor/rules/component-patterns.mdc
Normal file
29
.cursor/rules/component-patterns.mdc
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
description: React component patterns for the project
|
||||
globs: "**/*.tsx"
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Component Patterns
|
||||
|
||||
## Structure
|
||||
```tsx
|
||||
// 1. Imports
|
||||
// 2. Types/Interfaces
|
||||
// 3. Component
|
||||
// 4. Sub-components (if small)
|
||||
```
|
||||
|
||||
## Rules
|
||||
- Extract reusable logic into custom hooks (`src/hooks/`)
|
||||
- Colocate component-specific types with the component
|
||||
- Use `cn()` utility for conditional classNames
|
||||
- Prefer composition over prop drilling
|
||||
- Server Components by default, add `'use client'` only when needed
|
||||
- Keep components under 150 lines — extract if larger
|
||||
|
||||
## Accessibility
|
||||
- All images must have descriptive `alt` text
|
||||
- Interactive elements must be keyboard-accessible
|
||||
- Use proper heading hierarchy (h1 → h2 → h3)
|
||||
- Color contrast ratio ≥ 4.5:1
|
||||
22
.cursor/rules/data-patterns.mdc
Normal file
22
.cursor/rules/data-patterns.mdc
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
description: Data patterns for mushroom encyclopedia
|
||||
globs: "src/data/**"
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Data Patterns
|
||||
|
||||
## Mushroom Data Structure
|
||||
Each mushroom entry must include:
|
||||
- Scientific name (Latin), Russian common name(s)
|
||||
- Edibility classification: edible / conditionally-edible / inedible / poisonous
|
||||
- Detailed description: cap, stem, flesh, spore print
|
||||
- Habitat, season months, locations in Crimea
|
||||
- Look-alikes with distinguishing features
|
||||
- Photo URL(s)
|
||||
|
||||
## Data Accuracy
|
||||
- Cross-reference with mycological sources
|
||||
- Always include toxicity warnings for poisonous species
|
||||
- Mark conditionally-edible species with preparation requirements
|
||||
- Include confidence level for rare/disputed species
|
||||
26
.cursor/rules/project-conventions.mdc
Normal file
26
.cursor/rules/project-conventions.mdc
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
description: Core project conventions for Crimean Mushroom Encyclopedia
|
||||
alwaysApply: true
|
||||
---
|
||||
|
||||
# Project: Грибы Крыма — Encyclopedia & Calendar
|
||||
|
||||
## Tech Stack
|
||||
- Next.js 15 (App Router), TypeScript strict, Tailwind CSS 4, React 19
|
||||
- Static data (JSON) — no backend/database needed
|
||||
- Deploy target: static export or Node.js server
|
||||
|
||||
## Architecture
|
||||
- `src/app/` — pages (App Router)
|
||||
- `src/components/` — reusable UI components
|
||||
- `src/data/` — mushroom database (JSON/TS)
|
||||
- `src/lib/` — utilities, helpers, types
|
||||
- `public/images/` — mushroom photos
|
||||
|
||||
## Coding Standards
|
||||
- Functional components only, prefer named exports
|
||||
- Use `interface` for props, `type` for unions/intersections
|
||||
- All components must be typed — no `any`
|
||||
- Russian UI text, English code identifiers
|
||||
- Use semantic HTML elements
|
||||
- Mobile-first responsive design
|
||||
Reference in New Issue
Block a user