# Правила взаимодействия с Агентом
## Основные принципы
1. **Изменения в коде возможны только с явного разрешения пользователя**
- Перед внесением любых изменений в файлы ассистент должен получить подтверждение от пользователя
- Все изменения должны быть предварительно объяснены пользователю
- Перед решением конкретной задачи всегда составлять план
- После внесения изменений в код - проводить проверку - только после этого приступать к дальнейшему решению задачи
- **НЕ производить сборку проекта (`bun run build`) без явного разрешения пользователя**
2. **Прозрачность действий**
- Ассистент должен объяснить, какие изменения планируется внести
- Необходимо указать, в какие файлы будут внесены изменения
- Следует объяснить последствия предполагаемых изменений
- Внимательно читай промпт и не выходи за рамки описанных в нем измнений
3. **Безопасность кода**
- Все изменения должны проходить проверку на безопасность
- Не должны вноситься изменения, которые могут повредить функциональность приложения
- Рекомендуется создание резервных копий при значительных изменениях
4. **Согласование архитектурных решений**
- При внесении изменений, затрагивающих архитектуру приложения, необходима дискуссия с пользователем
- Предложения по улучшению архитектуры должны обсуждаться до реализации
5. **Работа с разными типами проектов**
- Уважать существующую архитектуру и стиль кода проекта
- Следовать установленным в проекте принципам и паттернам
6. **Использование Bun**
- Все команды должны выполняться с использованием Bun (bun install, bun dev, bun build и т.д.)
- При создании скриптов в package.json, они должны быть совместимы с Bun
7. **Язык общения**
- Всё общение с пользователем происходит на русском языке
8 **Проверка типов данных**
- Проверять проект на ошибки типизации через команду `bun run tsc --noEmit -p frontend/tsconfig.json`
- НЕ производить сборку проекта (`bun run build`) без явного разрешения пользователя
- В проекте не должно быть типов any
- Все интерфейсы компонентов прописывать в файле globalInterfaces.ts
- При работе с PocketBase использовать актуальные сигнатуры методов из файла `D:\Verstka\production\astro_minivan\frontend\node_modules\pocketbase\dist\pocketbase.es.d.ts`
9 **Плагин @astrojs/sitemap**
- Обязательно к установке в проект пакета @astrojs/sitemap
- Обязательно к созданию в проекте файл .nvmrc
## Технические правила (Astro)
1. **Structure проекта**
- Использовать рекомендуемую структуру Astro: src/components/, src/layouts/, src/pages/, src/styles/
- Файлы конфигурации: astro.config.mjs
2. **Разработка компонентов**
- Создавать .astro файлы для компонентов
- Использовать framework-specific компоненты (React, Vue, Svelte) при необходимости
- Использовать props для передачи данных
- Использовать встроенные компоненты Astro ( и т.д.)
3. **Роутинг и страницы**
- Использовать file-based routing в src/pages/
- Реализовывать динамические маршруты через [...slug].astro синтаксис
- Использовать getStaticPaths() для генерации статических страниц
- Создать страницу 404.astro для обработки ошибок
4. **Контент**
- Использовать Markdown (.md) или MDX (.mdx) для контентных страниц
- Использовать frontmatter в Markdown файлах
- Использовать content collections для организации контента
5. **Стилизация**
- Использовать scoped styling с