apollo-graphql — правило для Cursor: Apollo GraphQL по шагам
Правило для Cursor задаёт порядок работы с Apollo GraphQL: сначала схема на SDL, потом резолверы. Пригодится, если в проекте JS или JSX.
.cursor/rules/apollo-graphql.mdcЧто делает apollo-graphql
Правило описывает разработку с Apollo GraphQL на сервере (Apollo Server 5) и на клиенте (Apollo Client). Начинается всё со схемы: она считается контрактом, её предлагается проектировать до реализации и документировать. В примерах показано, чем плох вывод схемы из резолверов и почему лучше объявить типы на SDL в отдельном файле вроде schema/user.graphql.
Файл подключается через globs: **/*.{js,jsx}, то есть срабатывает на JavaScript и JSX. Если у вас TypeScript или Vue-компоненты, правило их не подхватит — это повод проверить, совпадает ли маска с вашими файлами, прежде чем рассчитывать на подсказки.
Судя по началу текста, дальше разбираются организация схемы и работа с резолверами. Остальные разделы в этом фрагменте не раскрыты, так что заранее закладываться на конкретные советы по кэшу или клиентским хукам не стоит.
Какие задачи решает
- спроектировать схему GraphQL до написания резолверов
- описать типы и запросы на SDL в отдельном файле
- договориться о единой структуре схемы в команде
- отличить вывод схемы из резолверов от явного описания
- документировать поля и запросы прямо в схеме
Примеры запросов агенту
- Помоги спроектировать схему для нового модуля на Apollo GraphQL
- Разложи текущие резолверы на SDL-схему и реализацию
- Проверь файл
schema/user.graphqlна соответствие правилам apollo-graphql
Как установить apollo-graphql
Вручную: положить файлы
.cursor/rules/apollo-graphql.mdcВо frontmatter: description, globs, alwaysApply
Вручную: положить файлы
.claude/rules/apollo-graphql.mdПоле paths во frontmatter ограничивает файлы: globs из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.github/instructions/apollo-graphql.instructions.mdПоле applyTo задаёт, к каким файлам применять: globs из источника → applyTo
Вручную: положить файлы
.devin/rules/apollo-graphql.mdВручную: положить файлы
.clinerules/apollo-graphql.mdПо шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules
Вопросы о apollo-graphql
Как установить apollo-graphql в Cursor?
Создайте файл .cursor/rules/apollo-graphql.mdc в проекте и вставьте в него содержимое правила.
Что делает правило apollo-graphql?
Задаёт порядок разработки на Apollo GraphQL: схема на SDL идёт первой, резолверы — после неё. Охватывает серверную часть на Apollo Server 5 и клиентскую на Apollo Client.
На какие файлы распространяется правило?
Маска **/*.{js,jsx} — только JavaScript и JSX. Файлы TypeScript под неё не попадают.
Исходный текст
apollo-graphql.mdc · CC0-1.0
---
description: Definitive guidelines for building robust, performant, and maintainable apollo-graphql applications using modern best practices and tooling.
globs: **/*.{js,jsx}
---
# apollo-graphql Best Practices
This guide outlines our definitive best practices for developing with Apollo GraphQL, covering both server-side (Apollo Server 5) and client-side (Apollo Client) implementations. Adhering to these rules ensures consistency, performance, and maintainability across our GraphQL ecosystem.
## 1. Schema Design and Organization
Your GraphQL schema is the contract. Design it meticulously, document it thoroughly, and organize it logically.
### 1.1 Schema-First Development with SDL
Always start by defining your schema using Schema Definition Language (SDL). This forces clear API design before implementation.
❌ BAD
```javascript
// Implicit schema definition through resolvers
const resolvers = {
Query: {
users: () => [{ id: '1', name: 'Alice' }],
},
};
// Schema is inferred or built programmatically, harder to review
```
✅ GOOD
```graphql
# schema/user.graphql
"""Represents a user in the system."""
type User {
id: ID!
name: String!
email: String
}
type Query {
"""Fetches a list of all users."""
users: [User!]!
"""Fetches a single user by their ID."""
user(id: ID
© sanjeed5 · CC0-1.0 · sanjeed5/awesome-cursor-rules-mdc