62 lines
3.5 KiB
Plaintext
62 lines
3.5 KiB
Plaintext
---
|
|
description:
|
|
globs:
|
|
alwaysApply: false
|
|
---
|
|
Файл [main.py](mdc:monocoop/monocoop/monocoop/components/docs/main.py) автоматически генерит ссылки на документацию SDK и GraphQL, которые формируются и публикуются автоматически. При создании документации к методам всегда применяй ссылки на SDK и GraphQL по форме:
|
|
{{ get_sdk_doc("Mutations", "Accounts", "RegisterAccount") }} | {{ get_graphql_doc("Mutation.registerAccount") }}
|
|
|
|
### 🎯 Основные паттерны использования
|
|
|
|
**1. Стандартная структура для методов API:**
|
|
```markdown
|
|
## Название действия
|
|
{{ get_sdk_doc("Namespace", "Module", "Method") }} | {{ get_graphql_doc("Type.methodName") }}
|
|
|
|
{{ get_typedoc_input("Namespace.Module.Method") }}
|
|
|
|
Результат:
|
|
{{ get_typedoc_definition("Namespace.Module.Method", "IOutput") }}
|
|
```
|
|
|
|
**2. Описание + пример (для сложных методов):**
|
|
```markdown
|
|
{{ get_typedoc_desc("Namespace.Module.Method") }}
|
|
|
|
{{ get_typedoc_input("Namespace.Module.Method") }}
|
|
```
|
|
|
|
**3. Ссылки на типы данных:**
|
|
```markdown
|
|
У каждого аккаунта есть объект {{ get_graphql_definition("Account") }} в GraphQL-API
|
|
```
|
|
|
|
### 🔧 Макросы и их применение
|
|
|
|
| Макрос | Назначение | Пример использования |
|
|
|--------|------------|---------------------|
|
|
| `get_sdk_doc` | Ссылка на SDK документацию | `{{ get_sdk_doc("Mutations", "Payments", "CreateDeposit") }}` |
|
|
| `get_graphql_doc` | Ссылка на GraphQL операцию | `{{ get_graphql_doc("Query.getAccount") }}` |
|
|
| `get_graphql_definition` | Ссылка на GraphQL тип | `{{ get_graphql_definition("Account") }}` |
|
|
| `get_class_doc` | Ссылка на класс/метод SDK | `{{ get_class_doc("Document", "sign") }}` |
|
|
| `get_typedoc_input` | **Полный пример** TypeScript вызова | `{{ get_typedoc_input("Mutations.Auth.Login") }}` |
|
|
| `get_typedoc_definition` | **Структура интерфейса** | `{{ get_typedoc_definition("Mutations.Auth.Login", "IOutput") }}` |
|
|
| `get_typedoc_desc` | Описание + примеры | `{{ get_typedoc_desc("Mutations.Auth.Login") }}` |
|
|
| `get_typedoc_value` | Значение константы | `{{ get_typedoc_value("Constants.API_VERSION") }}` |
|
|
|
|
### 📝 Правила оформления
|
|
|
|
**ОБЯЗАТЕЛЬНО:**
|
|
- Всегда используй `get_typedoc_input` для демонстрации **КАК вызывать** метод
|
|
- Всегда используй `get_typedoc_definition` для показа **ЧТО возвращается**
|
|
- Комбинируй SDK и GraphQL ссылки через ` | `: `{{ get_sdk_doc(...) }} | {{ get_graphql_doc(...) }}`
|
|
|
|
**ЖЕЛАТЕЛЬНО:**
|
|
- Для сложных методов добавляй `get_typedoc_desc` в начало
|
|
- Используй `get_graphql_definition` для ссылок на типы данных в тексте
|
|
- Группируй связанные операции в одном разделе
|
|
|
|
**ФОРМАТ ССЫЛОК:**
|
|
- SDK: `"Namespace", "Module", "Method"` (3 аргумента)
|
|
- GraphQL: `"Type.methodName"` (точка между типом и методом)
|
|
- Определения: просто имя типа `"TypeName"` |