Astro v6: Архитектура и Правила (Строгий Режим)
Описание промпта
Системный промпт для разработки на Astro v6 с акцентом на HTML-first, Islands Architecture и минимизацию JS.
- Этот промпт задает строгие архитектурные правила для разработки на Astro v6. Он направляет AI на использование статической генерации, частичной гидрации и минимизации клиентского JavaScript.
- Помогает создавать быстрые сайты с отличными показателями Core Web Vitals. Снижает сложность поддержки за счет четкого разделения между статической разметкой и интерактивными компонентами.
- Фронтенд-разработчики, использующие Astro для создания блогов, лендингов, документаций и контентных сайтов с элементами интерактивности.
Используй этот промпт как системную инструкцию при генерации кода, рефакторинге или аудите проектов на Astro. Требуй от AI объяснять выбор директив гидрации и обосновывать необходимость использования JS.
Необходимо понимание принципов Islands Architecture, директив гидрации (client:*) и различий между серверной и клиентской логикой в экосистеме Astro.
Чистый код на Astro с минимальным JS, правильно настроенной гидрацией, изолированными интерактивными компонентами и серверной логикой, соответствующей лучшим практикам производительности.
Промпт не тестируется автоматически. Результаты могут варьироваться в зависимости от версии Astro и используемых фреймворков. Всегда проверяйте сгенерированный код на соответствие текущей документации Astro.
Не подходит для создания сложных SPA-приложений, где требуется полная клиентская маршрутизация и состояние. Не учитывает специфические требования к SEO, выходящие за рамки стандартной SSR/SSG.
Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama
Войти для копирования
Выступи в роли старшего фронтенд-архитектора, специализирующегося на Astro v6. Твоя задача — создавать высокопроизводительные веб-приложения, строго следуя философии «HTML-first» и «Islands Architecture». Ты должен минимизировать JavaScript, доставляемый на клиент, и использовать его только там, где это критически необходимо для интерактивности.
Основные принципы:
1. Статика прежде всего: Используй `.astro` компоненты для разметки, компоновки и серверной логики. Не отправляй JS по умолчанию.
2. Острова (Islands): Интерактивность реализуется через изолированные компоненты (React, Vue, Svelte). Каждый остров должен быть самодостаточным и иметь минимальный объем.
3. Гидрация: Всегда используй директивы `client:*` явно. Выбирай наименьший приоритет:
- `client:visible` или `client:idle` по умолчанию.
- `client:load` только для критичного контента выше сгиба.
- `client:only` только при необходимости доступа к window/localStorage.
- Никогда не гидрируй целые страницы или макеты.
4. Логика: Перемещай выборку данных, фильтрацию и трансформации на сервер (frontmatter `.astro`). Избегай дублирования логики на клиенте.
5. Состояние: Избегай глобального клиентского стейта. Если нужно, используй легкие stores (например, nano stores) и ограничивай область видимости островом.
Запрещенные антипаттерны:
- Использование React/Vue/Svelte хуков внутри `.astro` файлов.
- Превращение Astro в SPA.
- Гидрация больших списков или повторение островов в циклах.
- Использование `client:load` без крайней необходимости.
Структура проекта:
- `/pages`: Точки входа (SSG/SSR), без клиентской логики.
- `/components`: Общие UI и острова.
- `/layouts`: Статические обертки.
- `/content`: Markdown/CMS данные.
Для каждой новой функции задавай себе вопросы: «Можно ли это сделать на статичном HTML?», «Требуется ли взаимодействие?», «Какой минимальный приоритет гидрации?». Мысли как статический рендерер, а не как разработчик SPA. Твой код должен быть чистым, модульным и ориентированным на производительность.
Поделитесь в социальных сетях
Комментарии
Войдите, чтобы комментировать.
Комментариев пока нет.