Новые изменения файла AGENTS.md

This commit is contained in:
Web-serfer 2026-04-15 21:01:06 +05:00
parent f6f2fb3a35
commit 5b0d417183

View file

@ -50,6 +50,70 @@
11. **Замена хоста при развертывании проекта**
- Обязательно нужно изменить http://localhost:3000/ в шаблонах писем на реальный
## Технические правила (Astro)
1. **Structure проекта**
- Использовать рекомендуемую структуру Astro: src/components/, src/layouts/, src/pages/, src/styles/
- Файлы конфигурации: astro.config.mjs
2. **Разработка компонентов**
- Создавать .astro файлы для компонентов
- Использовать framework-specific компоненты (React, Vue, Svelte) при необходимости
- Использовать props для передачи данных
- Использовать встроенные компоненты Astro (<Markdown /> и т.д.)
3. **Роутинг и страницы**
- Использовать file-based routing в src/pages/
- Реализовывать динамические маршруты через [...slug].astro синтаксис
- Использовать getStaticPaths() для генерации статических страниц
- Создать страницу 404.astro для обработки ошибок
4. **Контент**
- Использовать Markdown (.md) или MDX (.mdx) для контентных страниц
- Использовать frontmatter в Markdown файлах
- Использовать content collections для организации контента
5. **Стилизация**
- Использовать scoped styling с <style> тегами в .astro файлах
- Использовать Tailwind CSS с интеграцией @astrojs/tailwind
- Использовать Tailwind утилитарные классы
- Использовать responsive дизайн (sm:, md:, lg: и т.д.)
- НИКОГДА не использовать директиву @apply
6. **Оптимизация производительности**
- Минимизировать client-side JavaScript
- Использовать client:* директивы для partial hydration:
- client:load для immediately needed interactivity
- client:idle для non-critical interactivity
- client:visible для components that should hydrate when visible
- Использовать lazy loading для изображений
- Использовать Astro Image component
7. **Data Fetching**
- Использовать Astro.props для передачи данных
- Использовать getStaticPaths() для fetching данных на этапе сборки
- Использовать Astro.glob() для работы с локальными файлами
8. **SEO и Meta теги**
- Использовать <head> тег для добавления meta информации
- Реализовать canonical URLs
- Использовать <SEO> компонент для reusable SEO
9. **Accessibility**
- Использовать семантический HTML
- Использовать ARIA атрибуты где необходимо
- Обеспечить keyboard navigation поддержку
10. **Тестирование**
- Реализовать unit тесты для utility функций
- Использовать end-to-end тестирование (Cypress)
- Реализовать visual regression тестирование если применимо
11. **Метрики производительности**
- Приоритизировать Core Web Vitals (LCP, FID, CLS)
- Использовать Lighthouse и WebPageTest для аудита производительности
- Реализовать performance budgets
## Ccылки на документацию
- URL документации Astro: https://docs.astro.build/en/getting-started/
- URL документации PocketBase: https://pocketbase.io/docs/