firebase-firestore
Firebase Firestore — официальный skill для проектирования и эксплуатации базы Cloud Firestore. Его область включает Standard и Enterprise edition, моделирование данных, security rules, indexes и интеграцию SDK для Web, Python, iOS, Android и Flutter. Важная граница задана самим источником: этот workflow не предназначен для Firebase Hosting, Data Connect, Authentication, Storage/GCS, Crashlytics, Functions или BigQuery. Поэтому запрос сначала нужно отнести к Firestore, а не использовать карточку как общее руководство по всем продуктам Firebase. Перед созданием зависимостей, схемы, запросов или правил навык требует определить edition конкретного Firestore instance. Для обнаружения существующих баз предлагается Firebase CLI с командой firestore:databases:list; для каждой найденной базы нужно получить детали через firestore:databases:get и посмотреть edition. Затем владелец выбирает целевой instance и продолжает по соответствующей ветке документации. Это важное предварительное решение: дальнейшие инструкции для Standard и Enterprise различаются, а случайное применение примеров другой редакции может привести к неверной модели или конфигурации. Для Standard edition источник выделяет отдельные руководства по provisioning, security rules, SDK usage и indexes. В зависимости от платформы выбирается документ для Web, Android, iOS, Flutter или Python там, где он доступен в составе соответствующего набора. Такой порядок помогает сначала зафиксировать ресурс и его режим, затем описать данные, права доступа, индексацию и вызовы SDK. Навык не предлагает пропускать правила безопасности ради быстрого прототипа и не заменяет проверку фактических требований приложения. Для Enterprise edition или native mode предусмотрены свои материалы по provisioning, data model, security rules, SDK usage и indexes. Источник отдельно делает обязательным чтение хотя бы одного релевантного enterprise-документа по SDK для целевой платформы и языка до написания или изменения прикладного кода. В перечне есть Web, Python, Android, iOS и Flutter. Это означает, что выбор SDK-руководства должен следовать реальному клиенту, а не наиболее знакомому примеру; структура инициализации и рабочие допущения могут зависеть от платформы. Если базы ещё нет или пользователь просит новую, workflow предлагает сначала получить допустимые локации командой firebase-tools firestore:locations. Для нового instance по умолчанию указывается Enterprise edition, но местоположение нужно согласовать и выбрать явно. После этого используется команда firestore:databases:create с database id, edition и location, а работа продолжается по enterprise-ветке. Этот сценарий не является разрешением создавать ресурс без согласования: источник требует определить целевой instance и location, а доступы и проект должны быть подготовлены отдельно. Практическое применение карточки — пройти последовательность: выяснить наличие базы, получить edition и детали, выбрать target, открыть нужные guide, описать модель, правила и индексы, затем подключить SDK для реальной платформы. Firebase CLI считается предпочтительным способом работы, но compatibility-поле источника отмечает, что он не является безусловным требованием; конкретная среда может использовать другой допустимый способ доступа. При любом варианте нужно сохранить идентификатор базы, проект, редакцию и регион, чтобы команды не применились к неверной цели. Ограничения также важны. Skill не проверяет за пользователя, какие данные разрешено хранить, не выдаёт готовую схему без контекста, не гарантирует корректность индексов для неизвестных запросов и не заменяет ревью security rules. Он не настраивает соседние продукты Firebase и не должен использоваться для их provisioning. Если edition, target instance, location, платформа SDK или требуемый набор данных неизвестны, безопасный следующий шаг — собрать эти сведения, а не угадывать параметры.
Для чего подходит
- Проектирование Firestore-модели
- Настройка security rules и indexes
- Запросы, search и joins через SDK
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/firebase/agent-skills/tree/main/skills/firebase-firestore