fix(uk): complete translations for modules 06, 07, 09, 10
Modules 06-hooks, 07-plugins, 09-advanced-features, 10-cli had truncated translations (18-58% content loss). Retranslated from scratch using original English sources. All files now match expected ~40% size increase for Cyrillic. Ref: luongnv89/claude-howto#63
This commit is contained in:
1174
uk/06-hooks/README.md
Normal file
1174
uk/06-hooks/README.md
Normal file
File diff suppressed because it is too large
Load Diff
953
uk/07-plugins/README.md
Normal file
953
uk/07-plugins/README.md
Normal file
@@ -0,0 +1,953 @@
|
|||||||
|
<!-- i18n-source: 07-plugins/README.md -->
|
||||||
|
<!-- i18n-source-sha: 63a1416 -->
|
||||||
|
<!-- i18n-date: 2026-04-09 -->
|
||||||
|
|
||||||
|
<picture>
|
||||||
|
<source media="(prefers-color-scheme: dark)" srcset="../resources/logos/claude-howto-logo-dark.svg">
|
||||||
|
<img alt="Claude How To" src="../resources/logos/claude-howto-logo.svg">
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
# Плагіни Claude Code
|
||||||
|
|
||||||
|
Ця папка містить повні приклади плагінів, які обʼєднують кілька функцій Claude Code у цілісні пакети, що встановлюються однією командою.
|
||||||
|
|
||||||
|
## Огляд
|
||||||
|
|
||||||
|
Плагіни Claude Code — це обʼєднані колекції кастомізацій (слеш-команди, субагенти, MCP-сервери та хуки), які встановлюються однією командою. Вони є механізмом розширення найвищого рівня — поєднуючи кілька функцій у цілісні пакети, якими можна ділитися.
|
||||||
|
|
||||||
|
## Архітектура плагінів
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
A["Plugin"]
|
||||||
|
B["Slash Commands"]
|
||||||
|
C["Subagents"]
|
||||||
|
D["MCP Servers"]
|
||||||
|
E["Hooks"]
|
||||||
|
F["Configuration"]
|
||||||
|
|
||||||
|
A -->|bundles| B
|
||||||
|
A -->|bundles| C
|
||||||
|
A -->|bundles| D
|
||||||
|
A -->|bundles| E
|
||||||
|
A -->|bundles| F
|
||||||
|
```
|
||||||
|
|
||||||
|
## Процес завантаження плагіна
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant User
|
||||||
|
participant Claude as Claude Code
|
||||||
|
participant Plugin as Plugin Marketplace
|
||||||
|
participant Install as Installation
|
||||||
|
participant SlashCmds as Slash Commands
|
||||||
|
participant Subagents
|
||||||
|
participant MCPServers as MCP Servers
|
||||||
|
participant Hooks
|
||||||
|
participant Tools as Configured Tools
|
||||||
|
|
||||||
|
User->>Claude: /plugin install pr-review
|
||||||
|
Claude->>Plugin: Download plugin manifest
|
||||||
|
Plugin-->>Claude: Return plugin definition
|
||||||
|
Claude->>Install: Extract components
|
||||||
|
Install->>SlashCmds: Configure
|
||||||
|
Install->>Subagents: Configure
|
||||||
|
Install->>MCPServers: Configure
|
||||||
|
Install->>Hooks: Configure
|
||||||
|
SlashCmds-->>Tools: Ready to use
|
||||||
|
Subagents-->>Tools: Ready to use
|
||||||
|
MCPServers-->>Tools: Ready to use
|
||||||
|
Hooks-->>Tools: Ready to use
|
||||||
|
Tools-->>Claude: Plugin installed ✅
|
||||||
|
```
|
||||||
|
|
||||||
|
## Типи та дистрибуція плагінів
|
||||||
|
|
||||||
|
| Тип | Область | Спільний | Авторитет | Приклади |
|
||||||
|
|-----|---------|----------|-----------|----------|
|
||||||
|
| Офіційний | Глобальний | Усі користувачі | Anthropic | PR Review, Security Guidance |
|
||||||
|
| Спільнота | Публічний | Усі користувачі | Спільнота | DevOps, Data Science |
|
||||||
|
| Організація | Внутрішній | Члени команди | Компанія | Внутрішні стандарти, інструменти |
|
||||||
|
| Персональний | Індивідуальний | Один користувач | Розробник | Кастомні робочі процеси |
|
||||||
|
|
||||||
|
## Структура визначення плагіна
|
||||||
|
|
||||||
|
Маніфест плагіна використовує формат JSON у файлі `.claude-plugin/plugin.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "my-first-plugin",
|
||||||
|
"description": "A greeting plugin",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"author": {
|
||||||
|
"name": "Your Name"
|
||||||
|
},
|
||||||
|
"homepage": "https://example.com",
|
||||||
|
"repository": "https://github.com/user/repo",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Приклад структури плагіна
|
||||||
|
|
||||||
|
```
|
||||||
|
my-plugin/
|
||||||
|
├── .claude-plugin/
|
||||||
|
│ └── plugin.json # Маніфест (назва, опис, версія, автор)
|
||||||
|
├── commands/ # Навички як Markdown-файли
|
||||||
|
│ ├── task-1.md
|
||||||
|
│ ├── task-2.md
|
||||||
|
│ └── workflows/
|
||||||
|
├── agents/ # Визначення кастомних агентів
|
||||||
|
│ ├── specialist-1.md
|
||||||
|
│ ├── specialist-2.md
|
||||||
|
│ └── configs/
|
||||||
|
├── skills/ # Навички агентів з файлами SKILL.md
|
||||||
|
│ ├── skill-1.md
|
||||||
|
│ └── skill-2.md
|
||||||
|
├── hooks/ # Обробники подій у hooks.json
|
||||||
|
│ └── hooks.json
|
||||||
|
├── .mcp.json # Конфігурації MCP-серверів
|
||||||
|
├── .lsp.json # Конфігурації LSP-серверів для інтелектуальної роботи з кодом
|
||||||
|
├── bin/ # Виконувані файли, додані до PATH інструменту Bash поки плагін увімкнено
|
||||||
|
├── settings.json # Стандартні налаштування при увімкненні плагіна (наразі підтримується лише ключ `agent`)
|
||||||
|
├── templates/
|
||||||
|
│ └── issue-template.md
|
||||||
|
├── scripts/
|
||||||
|
│ ├── helper-1.sh
|
||||||
|
│ └── helper-2.py
|
||||||
|
├── docs/
|
||||||
|
│ ├── README.md
|
||||||
|
│ └── USAGE.md
|
||||||
|
└── tests/
|
||||||
|
└── plugin.test.js
|
||||||
|
```
|
||||||
|
|
||||||
|
### Конфігурація LSP-сервера
|
||||||
|
|
||||||
|
Плагіни можуть включати підтримку Language Server Protocol (LSP — протокол мовного сервера) для інтелектуальної роботи з кодом у реальному часі. LSP-сервери надають діагностику, навігацію по коду та інформацію про символи під час роботи.
|
||||||
|
|
||||||
|
**Розташування конфігурації**:
|
||||||
|
- Файл `.lsp.json` у кореневому каталозі плагіна
|
||||||
|
- Інлайн-ключ `lsp` у `plugin.json`
|
||||||
|
|
||||||
|
#### Довідник полів
|
||||||
|
|
||||||
|
| Поле | Обовʼязкове | Опис |
|
||||||
|
|------|-------------|------|
|
||||||
|
| `command` | Так | Бінарний файл LSP-сервера (має бути в PATH) |
|
||||||
|
| `extensionToLanguage` | Так | Відповідність розширень файлів ідентифікаторам мов |
|
||||||
|
| `args` | Ні | Аргументи командного рядка для сервера |
|
||||||
|
| `transport` | Ні | Метод комунікації: `stdio` (за замовчуванням) або `socket` |
|
||||||
|
| `env` | Ні | Змінні оточення для процесу сервера |
|
||||||
|
| `initializationOptions` | Ні | Опції, що надсилаються під час ініціалізації LSP |
|
||||||
|
| `settings` | Ні | Конфігурація робочого простору, що передається серверу |
|
||||||
|
| `workspaceFolder` | Ні | Перевизначення шляху до папки робочого простору |
|
||||||
|
| `startupTimeout` | Ні | Максимальний час (мс) очікування запуску сервера |
|
||||||
|
| `shutdownTimeout` | Ні | Максимальний час (мс) для коректного завершення |
|
||||||
|
| `restartOnCrash` | Ні | Автоматичний перезапуск при збої сервера |
|
||||||
|
| `maxRestarts` | Ні | Максимальна кількість спроб перезапуску |
|
||||||
|
|
||||||
|
#### Приклади конфігурацій
|
||||||
|
|
||||||
|
**Go (gopls)**:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"go": {
|
||||||
|
"command": "gopls",
|
||||||
|
"args": ["serve"],
|
||||||
|
"extensionToLanguage": {
|
||||||
|
".go": "go"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Python (pyright)**:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"python": {
|
||||||
|
"command": "pyright-langserver",
|
||||||
|
"args": ["--stdio"],
|
||||||
|
"extensionToLanguage": {
|
||||||
|
".py": "python",
|
||||||
|
".pyi": "python"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**TypeScript**:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"typescript": {
|
||||||
|
"command": "typescript-language-server",
|
||||||
|
"args": ["--stdio"],
|
||||||
|
"extensionToLanguage": {
|
||||||
|
".ts": "typescript",
|
||||||
|
".tsx": "typescriptreact",
|
||||||
|
".js": "javascript",
|
||||||
|
".jsx": "javascriptreact"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Доступні LSP-плагіни
|
||||||
|
|
||||||
|
Офіційний маркетплейс включає попередньо налаштовані LSP-плагіни:
|
||||||
|
|
||||||
|
| Плагін | Мова | Бінарний файл сервера | Команда встановлення |
|
||||||
|
|--------|------|----------------------|---------------------|
|
||||||
|
| `pyright-lsp` | Python | `pyright-langserver` | `pip install pyright` |
|
||||||
|
| `typescript-lsp` | TypeScript/JavaScript | `typescript-language-server` | `npm install -g typescript-language-server typescript` |
|
||||||
|
| `rust-lsp` | Rust | `rust-analyzer` | Встановлення через `rustup component add rust-analyzer` |
|
||||||
|
|
||||||
|
#### Можливості LSP
|
||||||
|
|
||||||
|
Після налаштування LSP-сервери надають:
|
||||||
|
|
||||||
|
- **Миттєва діагностика** — помилки та попередження зʼявляються одразу після редагування
|
||||||
|
- **Навігація по коду** — перехід до визначення, пошук посилань, реалізацій
|
||||||
|
- **Інформація при наведенні** — сигнатури типів та документація при наведенні курсора
|
||||||
|
- **Список символів** — перегляд символів у поточному файлі або робочому просторі
|
||||||
|
|
||||||
|
## Опції плагіна (v2.1.83+)
|
||||||
|
|
||||||
|
Плагіни можуть оголошувати користувацькі опції в маніфесті через `userConfig`. Значення з позначкою `sensitive: true` зберігаються у системному сховищі ключів (keychain), а не в текстових файлах налаштувань:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "my-plugin",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"userConfig": {
|
||||||
|
"apiKey": {
|
||||||
|
"description": "API key for the service",
|
||||||
|
"sensitive": true
|
||||||
|
},
|
||||||
|
"region": {
|
||||||
|
"description": "Deployment region",
|
||||||
|
"default": "us-east-1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Постійні дані плагіна (`${CLAUDE_PLUGIN_DATA}`) (v2.1.78+)
|
||||||
|
|
||||||
|
Плагіни мають доступ до каталогу постійного стану через змінну оточення `${CLAUDE_PLUGIN_DATA}`. Цей каталог є унікальним для кожного плагіна та зберігається між сесіями, що робить його придатним для кешів, баз даних та іншого постійного стану:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"hooks": {
|
||||||
|
"PostToolUse": [
|
||||||
|
{
|
||||||
|
"command": "node ${CLAUDE_PLUGIN_DATA}/track-usage.js"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Каталог створюється автоматично при встановленні плагіна. Файли зберігаються до видалення плагіна.
|
||||||
|
|
||||||
|
## Інлайн-плагін через налаштування (`source: 'settings'`) (v2.1.80+)
|
||||||
|
|
||||||
|
Плагіни можна визначати інлайн у файлах налаштувань як записи маркетплейсу з полем `source: 'settings'`. Це дозволяє вбудовувати визначення плагіна безпосередньо, без окремого репозиторію або маркетплейсу:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"pluginMarketplaces": [
|
||||||
|
{
|
||||||
|
"name": "inline-tools",
|
||||||
|
"source": "settings",
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"name": "quick-lint",
|
||||||
|
"source": "./local-plugins/quick-lint"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Налаштування плагіна
|
||||||
|
|
||||||
|
Плагіни можуть постачатися з файлом `settings.json` для стандартної конфігурації. Наразі підтримується ключ `agent`, який встановлює основного агента потоку для плагіна:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"agent": "agents/specialist-1.md"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Коли плагін включає `settings.json`, його стандартні значення застосовуються при встановленні. Користувачі можуть перевизначити ці налаштування у своїй конфігурації проєкту або користувача.
|
||||||
|
|
||||||
|
## Автономний vs плагін-підхід
|
||||||
|
|
||||||
|
| Підхід | Назви команд | Конфігурація | Найкраще для |
|
||||||
|
|--------|-------------|--------------|--------------|
|
||||||
|
| **Автономний** | `/hello` | Ручне налаштування в CLAUDE.md | Персональне, специфічне для проєкту |
|
||||||
|
| **Плагіни** | `/plugin-name:hello` | Автоматичне через plugin.json | Поширення, дистрибуція, командна робота |
|
||||||
|
|
||||||
|
Використовуйте **автономні слеш-команди** для швидких персональних робочих процесів. Використовуйте **плагіни**, коли хочете обʼєднати кілька функцій, поділитися з командою або опублікувати для дистрибуції.
|
||||||
|
|
||||||
|
## Практичні приклади
|
||||||
|
|
||||||
|
### Приклад 1: Плагін PR Review
|
||||||
|
|
||||||
|
**Файл:** `.claude-plugin/plugin.json`
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "pr-review",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Complete PR review workflow with security, testing, and docs",
|
||||||
|
"author": {
|
||||||
|
"name": "Anthropic"
|
||||||
|
},
|
||||||
|
"repository": "https://github.com/your-org/pr-review",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Файл:** `commands/review-pr.md`
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
name: Review PR
|
||||||
|
description: Start comprehensive PR review with security and testing checks
|
||||||
|
---
|
||||||
|
|
||||||
|
# PR Review
|
||||||
|
|
||||||
|
This command initiates a complete pull request review including:
|
||||||
|
|
||||||
|
1. Security analysis
|
||||||
|
2. Test coverage verification
|
||||||
|
3. Documentation updates
|
||||||
|
4. Code quality checks
|
||||||
|
5. Performance impact assessment
|
||||||
|
```
|
||||||
|
|
||||||
|
**Файл:** `agents/security-reviewer.md`
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
name: security-reviewer
|
||||||
|
description: Security-focused code review
|
||||||
|
tools: read, grep, diff
|
||||||
|
---
|
||||||
|
|
||||||
|
# Security Reviewer
|
||||||
|
|
||||||
|
Specializes in finding security vulnerabilities:
|
||||||
|
- Authentication/authorization issues
|
||||||
|
- Data exposure
|
||||||
|
- Injection attacks
|
||||||
|
- Secure configuration
|
||||||
|
```
|
||||||
|
|
||||||
|
**Встановлення:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/plugin install pr-review
|
||||||
|
|
||||||
|
# Результат:
|
||||||
|
# ✅ 3 слеш-команди встановлено
|
||||||
|
# ✅ 3 субагенти налаштовано
|
||||||
|
# ✅ 2 MCP-сервери підключено
|
||||||
|
# ✅ 4 хуки зареєстровано
|
||||||
|
# ✅ Готово до використання!
|
||||||
|
```
|
||||||
|
|
||||||
|
### Приклад 2: Плагін DevOps
|
||||||
|
|
||||||
|
**Компоненти:**
|
||||||
|
|
||||||
|
```
|
||||||
|
devops-automation/
|
||||||
|
├── commands/
|
||||||
|
│ ├── deploy.md
|
||||||
|
│ ├── rollback.md
|
||||||
|
│ ├── status.md
|
||||||
|
│ └── incident.md
|
||||||
|
├── agents/
|
||||||
|
│ ├── deployment-specialist.md
|
||||||
|
│ ├── incident-commander.md
|
||||||
|
│ └── alert-analyzer.md
|
||||||
|
├── mcp/
|
||||||
|
│ ├── github-config.json
|
||||||
|
│ ├── kubernetes-config.json
|
||||||
|
│ └── prometheus-config.json
|
||||||
|
├── hooks/
|
||||||
|
│ ├── pre-deploy.js
|
||||||
|
│ ├── post-deploy.js
|
||||||
|
│ └── on-error.js
|
||||||
|
└── scripts/
|
||||||
|
├── deploy.sh
|
||||||
|
├── rollback.sh
|
||||||
|
└── health-check.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Приклад 3: Плагін документації
|
||||||
|
|
||||||
|
**Обʼєднані компоненти:**
|
||||||
|
|
||||||
|
```
|
||||||
|
documentation/
|
||||||
|
├── commands/
|
||||||
|
│ ├── generate-api-docs.md
|
||||||
|
│ ├── generate-readme.md
|
||||||
|
│ ├── sync-docs.md
|
||||||
|
│ └── validate-docs.md
|
||||||
|
├── agents/
|
||||||
|
│ ├── api-documenter.md
|
||||||
|
│ ├── code-commentator.md
|
||||||
|
│ └── example-generator.md
|
||||||
|
├── mcp/
|
||||||
|
│ ├── github-docs-config.json
|
||||||
|
│ └── slack-announce-config.json
|
||||||
|
└── templates/
|
||||||
|
├── api-endpoint.md
|
||||||
|
├── function-docs.md
|
||||||
|
└── adr-template.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## Маркетплейс плагінів
|
||||||
|
|
||||||
|
Офіційний каталог плагінів, керований Anthropic — `anthropics/claude-plugins-official`. Адміністратори підприємств також можуть створювати приватні маркетплейси для внутрішньої дистрибуції.
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TB
|
||||||
|
A["Plugin Marketplace"]
|
||||||
|
B["Official<br/>anthropics/claude-plugins-official"]
|
||||||
|
C["Community<br/>Marketplace"]
|
||||||
|
D["Enterprise<br/>Private Registry"]
|
||||||
|
|
||||||
|
A --> B
|
||||||
|
A --> C
|
||||||
|
A --> D
|
||||||
|
|
||||||
|
B -->|Categories| B1["Development"]
|
||||||
|
B -->|Categories| B2["DevOps"]
|
||||||
|
B -->|Categories| B3["Documentation"]
|
||||||
|
|
||||||
|
C -->|Search| C1["DevOps Automation"]
|
||||||
|
C -->|Search| C2["Mobile Dev"]
|
||||||
|
C -->|Search| C3["Data Science"]
|
||||||
|
|
||||||
|
D -->|Internal| D1["Company Standards"]
|
||||||
|
D -->|Internal| D2["Legacy Systems"]
|
||||||
|
D -->|Internal| D3["Compliance"]
|
||||||
|
|
||||||
|
style A fill:#e1f5fe,stroke:#333,color:#333
|
||||||
|
style B fill:#e8f5e9,stroke:#333,color:#333
|
||||||
|
style C fill:#f3e5f5,stroke:#333,color:#333
|
||||||
|
style D fill:#fff3e0,stroke:#333,color:#333
|
||||||
|
```
|
||||||
|
|
||||||
|
### Конфігурація маркетплейсу
|
||||||
|
|
||||||
|
Підприємства та просунуті користувачі можуть контролювати поведінку маркетплейсу через налаштування:
|
||||||
|
|
||||||
|
| Налаштування | Опис |
|
||||||
|
|-------------|------|
|
||||||
|
| `extraKnownMarketplaces` | Додати додаткові джерела маркетплейсу крім стандартних |
|
||||||
|
| `strictKnownMarketplaces` | Контролювати, які маркетплейси дозволено додавати користувачам |
|
||||||
|
| `deniedPlugins` | Блок-список для запобігання встановленню конкретних плагінів (керований адміністратором) |
|
||||||
|
|
||||||
|
### Додаткові функції маркетплейсу
|
||||||
|
|
||||||
|
- **Стандартний таймаут git**: Збільшено з 30с до 120с для великих репозиторіїв плагінів
|
||||||
|
- **Кастомні npm-реєстри**: Плагіни можуть вказувати URL кастомних npm-реєстрів для розвʼязання залежностей
|
||||||
|
- **Фіксація версій**: Закріплення плагінів за конкретними версіями для відтворюваних середовищ
|
||||||
|
|
||||||
|
### Схема визначення маркетплейсу
|
||||||
|
|
||||||
|
Маркетплейси плагінів визначаються у `.claude-plugin/marketplace.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "my-team-plugins",
|
||||||
|
"owner": "my-org",
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"name": "code-standards",
|
||||||
|
"source": "./plugins/code-standards",
|
||||||
|
"description": "Enforce team coding standards",
|
||||||
|
"version": "1.2.0",
|
||||||
|
"author": "platform-team"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "deploy-helper",
|
||||||
|
"source": {
|
||||||
|
"source": "github",
|
||||||
|
"repo": "my-org/deploy-helper",
|
||||||
|
"ref": "v2.0.0"
|
||||||
|
},
|
||||||
|
"description": "Deployment automation workflows"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
| Поле | Обовʼязкове | Опис |
|
||||||
|
|------|-------------|------|
|
||||||
|
| `name` | Так | Назва маркетплейсу в kebab-case |
|
||||||
|
| `owner` | Так | Організація або користувач, що підтримує маркетплейс |
|
||||||
|
| `plugins` | Так | Масив записів плагінів |
|
||||||
|
| `plugins[].name` | Так | Назва плагіна (kebab-case) |
|
||||||
|
| `plugins[].source` | Так | Джерело плагіна (рядок шляху або обʼєкт джерела) |
|
||||||
|
| `plugins[].description` | Ні | Короткий опис плагіна |
|
||||||
|
| `plugins[].version` | Ні | Рядок семантичної версії |
|
||||||
|
| `plugins[].author` | Ні | Імʼя автора плагіна |
|
||||||
|
|
||||||
|
### Типи джерел плагінів
|
||||||
|
|
||||||
|
Плагіни можуть завантажуватися з кількох місць:
|
||||||
|
|
||||||
|
| Джерело | Синтаксис | Приклад |
|
||||||
|
|---------|-----------|---------|
|
||||||
|
| **Відносний шлях** | Рядок шляху | `"./plugins/my-plugin"` |
|
||||||
|
| **GitHub** | `{ "source": "github", "repo": "owner/repo" }` | `{ "source": "github", "repo": "acme/lint-plugin", "ref": "v1.0" }` |
|
||||||
|
| **Git URL** | `{ "source": "url", "url": "..." }` | `{ "source": "url", "url": "https://git.internal/plugin.git" }` |
|
||||||
|
| **Підкаталог Git** | `{ "source": "git-subdir", "url": "...", "path": "..." }` | `{ "source": "git-subdir", "url": "https://github.com/org/monorepo.git", "path": "packages/plugin" }` |
|
||||||
|
| **npm** | `{ "source": "npm", "package": "..." }` | `{ "source": "npm", "package": "@acme/claude-plugin", "version": "^2.0" }` |
|
||||||
|
| **pip** | `{ "source": "pip", "package": "..." }` | `{ "source": "pip", "package": "claude-data-plugin", "version": ">=1.0" }` |
|
||||||
|
|
||||||
|
Джерела GitHub та git підтримують необовʼязкові поля `ref` (гілка/тег) та `sha` (хеш коміту) для фіксації версій.
|
||||||
|
|
||||||
|
### Методи дистрибуції
|
||||||
|
|
||||||
|
**GitHub (рекомендовано)**:
|
||||||
|
```bash
|
||||||
|
# Користувачі додають ваш маркетплейс
|
||||||
|
/plugin marketplace add owner/repo-name
|
||||||
|
```
|
||||||
|
|
||||||
|
**Інші git-сервіси** (потрібен повний URL):
|
||||||
|
```bash
|
||||||
|
/plugin marketplace add https://gitlab.com/org/marketplace-repo.git
|
||||||
|
```
|
||||||
|
|
||||||
|
**Приватні репозиторії**: Підтримуються через git credential helpers або токени оточення. Користувачі повинні мати доступ на читання до репозиторію.
|
||||||
|
|
||||||
|
**Подання до офіційного маркетплейсу**: Подавайте плагіни до курованого Anthropic маркетплейсу для ширшої дистрибуції через [claude.ai/settings/plugins/submit](https://claude.ai/settings/plugins/submit) або [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit).
|
||||||
|
|
||||||
|
### Суворий режим (strict mode)
|
||||||
|
|
||||||
|
Контроль взаємодії визначень маркетплейсу з локальними файлами `plugin.json`:
|
||||||
|
|
||||||
|
| Налаштування | Поведінка |
|
||||||
|
|-------------|----------|
|
||||||
|
| `strict: true` (за замовчуванням) | Локальний `plugin.json` є авторитетним; запис маркетплейсу доповнює його |
|
||||||
|
| `strict: false` | Запис маркетплейсу є повним визначенням плагіна |
|
||||||
|
|
||||||
|
**Обмеження організації** через `strictKnownMarketplaces`:
|
||||||
|
|
||||||
|
| Значення | Ефект |
|
||||||
|
|----------|-------|
|
||||||
|
| Не встановлено | Без обмежень — користувачі можуть додавати будь-який маркетплейс |
|
||||||
|
| Порожній масив `[]` | Блокування — маркетплейси заборонені |
|
||||||
|
| Масив патернів | Білий список — дозволено лише маркетплейси, що відповідають патернам |
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"strictKnownMarketplaces": [
|
||||||
|
"my-org/*",
|
||||||
|
"github.com/trusted-vendor/*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Увага**: У суворому режимі з `strictKnownMarketplaces` користувачі можуть встановлювати плагіни лише з маркетплейсів білого списку. Це корисно для корпоративних середовищ, що вимагають контрольованої дистрибуції плагінів.
|
||||||
|
|
||||||
|
## Встановлення та життєвий цикл плагіна
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
A["Discover"] -->|Browse| B["Marketplace"]
|
||||||
|
B -->|Select| C["Plugin Page"]
|
||||||
|
C -->|View| D["Components"]
|
||||||
|
D -->|Install| E["/plugin install"]
|
||||||
|
E -->|Extract| F["Configure"]
|
||||||
|
F -->|Activate| G["Use"]
|
||||||
|
G -->|Check| H["Update"]
|
||||||
|
H -->|Available| G
|
||||||
|
G -->|Done| I["Disable"]
|
||||||
|
I -->|Later| J["Enable"]
|
||||||
|
J -->|Back| G
|
||||||
|
```
|
||||||
|
|
||||||
|
## Порівняння функцій плагінів
|
||||||
|
|
||||||
|
| Функція | Слеш-команда | Навичка | Субагент | Плагін |
|
||||||
|
|---------|-------------|---------|----------|--------|
|
||||||
|
| **Встановлення** | Ручне копіювання | Ручне копіювання | Ручна конфігурація | Одна команда |
|
||||||
|
| **Час налаштування** | 5 хвилин | 10 хвилин | 15 хвилин | 2 хвилини |
|
||||||
|
| **Обʼєднання** | Один файл | Один файл | Один файл | Кілька |
|
||||||
|
| **Версіонування** | Ручне | Ручне | Ручне | Автоматичне |
|
||||||
|
| **Поширення в команді** | Копіювання файлу | Копіювання файлу | Копіювання файлу | ID встановлення |
|
||||||
|
| **Оновлення** | Ручне | Ручне | Ручне | Автоматично доступне |
|
||||||
|
| **Залежності** | Немає | Немає | Немає | Можуть включати |
|
||||||
|
| **Маркетплейс** | Ні | Ні | Ні | Так |
|
||||||
|
| **Дистрибуція** | Репозиторій | Репозиторій | Репозиторій | Маркетплейс |
|
||||||
|
|
||||||
|
## CLI-команди плагінів
|
||||||
|
|
||||||
|
Усі операції з плагінами доступні як CLI-команди:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
claude plugin install <n>@<marketplace> # Встановити з маркетплейсу
|
||||||
|
claude plugin uninstall <n> # Видалити плагін
|
||||||
|
claude plugin list # Список встановлених плагінів
|
||||||
|
claude plugin enable <n> # Увімкнути вимкнений плагін
|
||||||
|
claude plugin disable <n> # Вимкнути плагін
|
||||||
|
claude plugin validate # Валідація структури плагіна
|
||||||
|
```
|
||||||
|
|
||||||
|
## Методи встановлення
|
||||||
|
|
||||||
|
### З маркетплейсу
|
||||||
|
```bash
|
||||||
|
/plugin install plugin-name
|
||||||
|
# або з CLI:
|
||||||
|
claude plugin install plugin-name@marketplace-name
|
||||||
|
```
|
||||||
|
|
||||||
|
### Увімкнення / Вимкнення (з автовизначенням області)
|
||||||
|
```bash
|
||||||
|
/plugin enable plugin-name
|
||||||
|
/plugin disable plugin-name
|
||||||
|
```
|
||||||
|
|
||||||
|
### Локальний плагін (для розробки)
|
||||||
|
```bash
|
||||||
|
# CLI-прапорець для локального тестування (повторюваний для кількох плагінів)
|
||||||
|
claude --plugin-dir ./path/to/plugin
|
||||||
|
claude --plugin-dir ./plugin-a --plugin-dir ./plugin-b
|
||||||
|
```
|
||||||
|
|
||||||
|
### З Git-репозиторію
|
||||||
|
```bash
|
||||||
|
/plugin install github:username/repo
|
||||||
|
```
|
||||||
|
|
||||||
|
## Коли створювати плагін
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TD
|
||||||
|
A["Should I create a plugin?"]
|
||||||
|
A -->|Need multiple components| B{"Multiple commands<br/>or subagents<br/>or MCPs?"}
|
||||||
|
B -->|Yes| C["✅ Create Plugin"]
|
||||||
|
B -->|No| D["Use Individual Feature"]
|
||||||
|
A -->|Team workflow| E{"Share with<br/>team?"}
|
||||||
|
E -->|Yes| C
|
||||||
|
E -->|No| F["Keep as Local Setup"]
|
||||||
|
A -->|Complex setup| G{"Needs auto<br/>configuration?"}
|
||||||
|
G -->|Yes| C
|
||||||
|
G -->|No| D
|
||||||
|
```
|
||||||
|
|
||||||
|
### Випадки використання плагінів
|
||||||
|
|
||||||
|
| Випадок | Рекомендація | Чому |
|
||||||
|
|---------|-------------|------|
|
||||||
|
| **Онбординг команди** | ✅ Плагін | Миттєве налаштування, усі конфігурації |
|
||||||
|
| **Налаштування фреймворку** | ✅ Плагін | Обʼєднує команди, специфічні для фреймворку |
|
||||||
|
| **Корпоративні стандарти** | ✅ Плагін | Централізована дистрибуція, контроль версій |
|
||||||
|
| **Швидка автоматизація** | ❌ Команда | Надмірна складність |
|
||||||
|
| **Одна предметна область** | ❌ Навичка | Занадто важко, використовуйте навичку |
|
||||||
|
| **Спеціалізований аналіз** | ❌ Субагент | Створіть вручну або використовуйте навичку |
|
||||||
|
| **Доступ до живих даних** | ❌ MCP | Автономний, не обʼєднуйте |
|
||||||
|
|
||||||
|
## Тестування плагіна
|
||||||
|
|
||||||
|
Перед публікацією протестуйте плагін локально за допомогою CLI-прапорця `--plugin-dir` (повторюваний для кількох плагінів):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
claude --plugin-dir ./my-plugin
|
||||||
|
claude --plugin-dir ./my-plugin --plugin-dir ./another-plugin
|
||||||
|
```
|
||||||
|
|
||||||
|
Це запускає Claude Code з завантаженим плагіном, дозволяючи:
|
||||||
|
- Перевірити доступність усіх слеш-команд
|
||||||
|
- Протестувати коректну роботу субагентів та агентів
|
||||||
|
- Підтвердити правильне підключення MCP-серверів
|
||||||
|
- Валідувати виконання хуків
|
||||||
|
- Перевірити конфігурації LSP-серверів
|
||||||
|
- Виявити помилки конфігурації
|
||||||
|
|
||||||
|
## Гаряче перезавантаження (Hot-Reload)
|
||||||
|
|
||||||
|
Плагіни підтримують гаряче перезавантаження під час розробки. При зміні файлів плагіна Claude Code може автоматично виявляти зміни. Також можна примусово перезавантажити командою:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/reload-plugins
|
||||||
|
```
|
||||||
|
|
||||||
|
Це повторно зчитує всі маніфести плагінів, команди, агентів, навички, хуки та конфігурації MCP/LSP без перезапуску сесії.
|
||||||
|
|
||||||
|
## Керовані налаштування для плагінів
|
||||||
|
|
||||||
|
Адміністратори можуть контролювати поведінку плагінів в організації через керовані налаштування (managed settings):
|
||||||
|
|
||||||
|
| Налаштування | Опис |
|
||||||
|
|-------------|------|
|
||||||
|
| `enabledPlugins` | Білий список плагінів, увімкнених за замовчуванням |
|
||||||
|
| `deniedPlugins` | Блок-список плагінів, які не можна встановити |
|
||||||
|
| `extraKnownMarketplaces` | Додаткові джерела маркетплейсу крім стандартних |
|
||||||
|
| `strictKnownMarketplaces` | Обмеження маркетплейсів, які дозволено додавати користувачам |
|
||||||
|
| `allowedChannelPlugins` | Контроль дозволених плагінів для кожного каналу випуску |
|
||||||
|
|
||||||
|
Ці налаштування можна застосувати на рівні організації через файли керованої конфігурації, і вони мають пріоритет над налаштуваннями рівня користувача.
|
||||||
|
|
||||||
|
## Безпека плагінів
|
||||||
|
|
||||||
|
Субагенти плагінів працюють в обмеженій пісочниці (sandbox). Наступні ключі frontmatter **заборонені** у визначеннях субагентів плагінів:
|
||||||
|
|
||||||
|
- `hooks` — субагенти не можуть реєструвати обробники подій
|
||||||
|
- `mcpServers` — субагенти не можуть налаштовувати MCP-сервери
|
||||||
|
- `permissionMode` — субагенти не можуть перевизначати модель дозволів
|
||||||
|
|
||||||
|
Це гарантує, що плагіни не можуть підвищити привілеї або модифікувати хост-середовище за межами оголошеної області.
|
||||||
|
|
||||||
|
## Публікація плагіна
|
||||||
|
|
||||||
|
**Кроки для публікації:**
|
||||||
|
|
||||||
|
1. Створити структуру плагіна з усіма компонентами
|
||||||
|
2. Написати маніфест `.claude-plugin/plugin.json`
|
||||||
|
3. Створити `README.md` з документацією
|
||||||
|
4. Протестувати локально за допомогою `claude --plugin-dir ./my-plugin`
|
||||||
|
5. Подати до маркетплейсу плагінів
|
||||||
|
6. Пройти перевірку та затвердження
|
||||||
|
7. Публікація в маркетплейсі
|
||||||
|
8. Користувачі можуть встановити однією командою
|
||||||
|
|
||||||
|
**Приклад подання:**
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# PR Review Plugin
|
||||||
|
|
||||||
|
## Description
|
||||||
|
Complete PR review workflow with security, testing, and documentation checks.
|
||||||
|
|
||||||
|
## What's Included
|
||||||
|
- 3 slash commands for different review types
|
||||||
|
- 3 specialized subagents
|
||||||
|
- GitHub and CodeQL MCP integration
|
||||||
|
- Automated security scanning hooks
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
```bash
|
||||||
|
/plugin install pr-review
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
✅ Security analysis
|
||||||
|
✅ Test coverage checking
|
||||||
|
✅ Documentation verification
|
||||||
|
✅ Code quality assessment
|
||||||
|
✅ Performance impact analysis
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
```bash
|
||||||
|
/review-pr
|
||||||
|
/check-security
|
||||||
|
/check-tests
|
||||||
|
```
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
- Claude Code 1.0+
|
||||||
|
- GitHub access
|
||||||
|
- CodeQL (optional)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Плагін vs ручна конфігурація
|
||||||
|
|
||||||
|
**Ручне налаштування (2+ години):**
|
||||||
|
- Встановити слеш-команди одну за одною
|
||||||
|
- Створити субагентів окремо
|
||||||
|
- Налаштувати MCP окремо
|
||||||
|
- Встановити хуки вручну
|
||||||
|
- Задокументувати все
|
||||||
|
- Поширити в команді (сподіватися, що налаштують правильно)
|
||||||
|
|
||||||
|
**З плагіном (2 хвилини):**
|
||||||
|
```bash
|
||||||
|
/plugin install pr-review
|
||||||
|
# ✅ Все встановлено та налаштовано
|
||||||
|
# ✅ Готово до використання одразу
|
||||||
|
# ✅ Команда може відтворити точну конфігурацію
|
||||||
|
```
|
||||||
|
|
||||||
|
## Найкращі практики
|
||||||
|
|
||||||
|
### Рекомендовано ✅
|
||||||
|
- Використовуйте зрозумілі, описові назви плагінів
|
||||||
|
- Включайте вичерпний README
|
||||||
|
- Версіонуйте плагін правильно (semver — семантичне версіонування)
|
||||||
|
- Тестуйте всі компоненти разом
|
||||||
|
- Документуйте вимоги чітко
|
||||||
|
- Надавайте приклади використання
|
||||||
|
- Включайте обробку помилок
|
||||||
|
- Тегуйте належним чином для виявлення
|
||||||
|
- Підтримуйте зворотну сумісність
|
||||||
|
- Тримайте плагіни зосередженими та цілісними
|
||||||
|
- Включайте вичерпні тести
|
||||||
|
- Документуйте всі залежності
|
||||||
|
|
||||||
|
### Не рекомендовано ❌
|
||||||
|
- Не обʼєднуйте неповʼязані функції
|
||||||
|
- Не зашивайте облікові дані в код
|
||||||
|
- Не пропускайте тестування
|
||||||
|
- Не забувайте про документацію
|
||||||
|
- Не створюйте надлишкових плагінів
|
||||||
|
- Не ігноруйте версіонування
|
||||||
|
- Не ускладнюйте залежності компонентів
|
||||||
|
- Не забувайте обробляти помилки коректно
|
||||||
|
|
||||||
|
## Інструкції зі встановлення
|
||||||
|
|
||||||
|
### Встановлення з маркетплейсу
|
||||||
|
|
||||||
|
1. **Перегляд доступних плагінів:**
|
||||||
|
```bash
|
||||||
|
/plugin list
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Деталі плагіна:**
|
||||||
|
```bash
|
||||||
|
/plugin info plugin-name
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Встановлення плагіна:**
|
||||||
|
```bash
|
||||||
|
/plugin install plugin-name
|
||||||
|
```
|
||||||
|
|
||||||
|
### Встановлення з локального шляху
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/plugin install ./path/to/plugin-directory
|
||||||
|
```
|
||||||
|
|
||||||
|
### Встановлення з GitHub
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/plugin install github:username/repo
|
||||||
|
```
|
||||||
|
|
||||||
|
### Список встановлених плагінів
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/plugin list --installed
|
||||||
|
```
|
||||||
|
|
||||||
|
### Оновлення плагіна
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/plugin update plugin-name
|
||||||
|
```
|
||||||
|
|
||||||
|
### Вимкнення/Увімкнення плагіна
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Тимчасове вимкнення
|
||||||
|
/plugin disable plugin-name
|
||||||
|
|
||||||
|
# Повторне увімкнення
|
||||||
|
/plugin enable plugin-name
|
||||||
|
```
|
||||||
|
|
||||||
|
### Видалення плагіна
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/plugin uninstall plugin-name
|
||||||
|
```
|
||||||
|
|
||||||
|
## Повʼязані концепції
|
||||||
|
|
||||||
|
Наступні функції Claude Code працюють разом з плагінами:
|
||||||
|
|
||||||
|
- **[Слеш-команди](../01-slash-commands/)** — окремі команди, обʼєднані в плагіни
|
||||||
|
- **[Памʼять](../02-memory/)** — постійний контекст для плагінів
|
||||||
|
- **[Навички](../03-skills/)** — предметна експертиза, яку можна обгорнути в плагіни
|
||||||
|
- **[Субагенти](../04-subagents/)** — спеціалізовані агенти як компоненти плагінів
|
||||||
|
- **[MCP-сервери](../05-mcp/)** — інтеграції Model Context Protocol, обʼєднані в плагіни
|
||||||
|
- **[Хуки](../06-hooks/)** — обробники подій, що запускають робочі процеси плагінів
|
||||||
|
|
||||||
|
## Повний приклад робочого процесу
|
||||||
|
|
||||||
|
### Повний робочий процес плагіна PR Review
|
||||||
|
|
||||||
|
```
|
||||||
|
1. Користувач: /review-pr
|
||||||
|
|
||||||
|
2. Плагін виконує:
|
||||||
|
├── pre-review.js хук валідує git-репо
|
||||||
|
├── GitHub MCP отримує дані PR
|
||||||
|
├── security-reviewer субагент аналізує безпеку
|
||||||
|
├── test-checker субагент перевіряє покриття
|
||||||
|
└── performance-analyzer субагент перевіряє продуктивність
|
||||||
|
|
||||||
|
3. Результати синтезуються та представляються:
|
||||||
|
✅ Безпека: Критичних проблем не виявлено
|
||||||
|
⚠️ Тестування: Покриття 65% (рекомендовано 80%+)
|
||||||
|
✅ Продуктивність: Значного впливу немає
|
||||||
|
📝 Надано 12 рекомендацій
|
||||||
|
```
|
||||||
|
|
||||||
|
## Усунення несправностей
|
||||||
|
|
||||||
|
### Плагін не встановлюється
|
||||||
|
- Перевірте сумісність версії Claude Code: `/version`
|
||||||
|
- Перевірте синтаксис `plugin.json` валідатором JSON
|
||||||
|
- Перевірте підключення до інтернету (для віддалених плагінів)
|
||||||
|
- Перевірте дозволи: `ls -la plugin/`
|
||||||
|
|
||||||
|
### Компоненти не завантажуються
|
||||||
|
- Переконайтеся, що шляхи в `plugin.json` відповідають фактичній структурі каталогів
|
||||||
|
- Перевірте дозволи файлів: `chmod +x scripts/`
|
||||||
|
- Перегляньте синтаксис файлів компонентів
|
||||||
|
- Перевірте журнали: `/plugin debug plugin-name`
|
||||||
|
|
||||||
|
### Збій підключення MCP
|
||||||
|
- Переконайтеся, що змінні оточення встановлені правильно
|
||||||
|
- Перевірте встановлення та працездатність MCP-сервера
|
||||||
|
- Протестуйте підключення MCP окремо за допомогою `/mcp test`
|
||||||
|
- Перегляньте конфігурацію MCP у каталозі `mcp/`
|
||||||
|
|
||||||
|
### Команди недоступні після встановлення
|
||||||
|
- Переконайтеся, що плагін встановлено успішно: `/plugin list --installed`
|
||||||
|
- Перевірте, чи плагін увімкнено: `/plugin status plugin-name`
|
||||||
|
- Перезапустіть Claude Code: `exit` та відкрийте знову
|
||||||
|
- Перевірте конфлікти назв з існуючими командами
|
||||||
|
|
||||||
|
### Проблеми з виконанням хуків
|
||||||
|
- Переконайтеся, що файли хуків мають правильні дозволи
|
||||||
|
- Перевірте синтаксис хуків та назви подій
|
||||||
|
- Перегляньте журнали хуків для деталей помилок
|
||||||
|
- Протестуйте хуки вручну, якщо можливо
|
||||||
|
|
||||||
|
## Додаткові ресурси
|
||||||
|
|
||||||
|
- [Офіційна документація плагінів](https://code.claude.com/docs/en/plugins)
|
||||||
|
- [Каталог плагінів](https://code.claude.com/docs/en/discover-plugins)
|
||||||
|
- [Маркетплейси плагінів](https://code.claude.com/docs/en/plugin-marketplaces)
|
||||||
|
- [Довідник плагінів](https://code.claude.com/docs/en/plugins-reference)
|
||||||
|
- [Довідник MCP-серверів](https://modelcontextprotocol.io/)
|
||||||
|
- [Посібник конфігурації субагентів](../04-subagents/README.md)
|
||||||
|
- [Довідник системи хуків](../06-hooks/README.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
**Останнє оновлення**: 9 квітня 2026
|
||||||
|
**Версія Claude Code**: 2.1.97
|
||||||
|
**Сумісні моделі**: Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5
|
||||||
1945
uk/09-advanced-features/README.md
Normal file
1945
uk/09-advanced-features/README.md
Normal file
File diff suppressed because it is too large
Load Diff
841
uk/10-cli/README.md
Normal file
841
uk/10-cli/README.md
Normal file
@@ -0,0 +1,841 @@
|
|||||||
|
<!-- i18n-source: 10-cli/README.md -->
|
||||||
|
<!-- i18n-source-sha: 63a1416 -->
|
||||||
|
<!-- i18n-date: 2026-04-09 -->
|
||||||
|
|
||||||
|
<picture>
|
||||||
|
<source media="(prefers-color-scheme: dark)" srcset="../resources/logos/claude-howto-logo-dark.svg">
|
||||||
|
<img alt="Claude How To" src="../resources/logos/claude-howto-logo.svg">
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
# Довідник CLI
|
||||||
|
|
||||||
|
## Огляд
|
||||||
|
|
||||||
|
Claude Code CLI (інтерфейс командного рядка — основний інструмент для роботи з терміналом) — це головний спосіб взаємодії з Claude Code. Він надає потужні опції для виконання запитів, управління сесіями, конфігурації моделей та інтеграції Claude у ваші робочі процеси розробки.
|
||||||
|
|
||||||
|
## Архітектура
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TD
|
||||||
|
A["User Terminal"] -->|"claude [options] [query]"| B["Claude Code CLI"]
|
||||||
|
B -->|Interactive| C["REPL Mode"]
|
||||||
|
B -->|"--print"| D["Print Mode (SDK)"]
|
||||||
|
B -->|"--resume"| E["Session Resume"]
|
||||||
|
C -->|Conversation| F["Claude API"]
|
||||||
|
D -->|Single Query| F
|
||||||
|
E -->|Load Context| F
|
||||||
|
F -->|Response| G["Output"]
|
||||||
|
G -->|text/json/stream-json| H["Terminal/Pipe"]
|
||||||
|
```
|
||||||
|
|
||||||
|
## CLI-команди
|
||||||
|
|
||||||
|
| Команда | Опис | Приклад |
|
||||||
|
|---------|------|---------|
|
||||||
|
| `claude` | Запуск інтерактивного REPL (циклу читання-виконання-виводу) | `claude` |
|
||||||
|
| `claude "query"` | Запуск REPL з початковим промптом | `claude "explain this project"` |
|
||||||
|
| `claude -p "query"` | Print-режим — запит і вихід | `claude -p "explain this function"` |
|
||||||
|
| `cat file \| claude -p "query"` | Обробка вмісту через pipe (конвеєр) | `cat logs.txt \| claude -p "explain"` |
|
||||||
|
| `claude -c` | Продовжити останню розмову | `claude -c` |
|
||||||
|
| `claude -c -p "query"` | Продовжити в print-режимі | `claude -c -p "check for type errors"` |
|
||||||
|
| `claude -r "<session>" "query"` | Відновити сесію за ID або назвою | `claude -r "auth-refactor" "finish this PR"` |
|
||||||
|
| `claude update` | Оновити до останньої версії | `claude update` |
|
||||||
|
| `claude mcp` | Налаштування MCP-серверів | Див. [документацію MCP](../05-mcp/) |
|
||||||
|
| `claude mcp serve` | Запуск Claude Code як MCP-сервера | `claude mcp serve` |
|
||||||
|
| `claude agents` | Список усіх налаштованих субагентів | `claude agents` |
|
||||||
|
| `claude auto-mode defaults` | Вивести стандартні правила auto mode як JSON | `claude auto-mode defaults` |
|
||||||
|
| `claude remote-control` | Запуск сервера Remote Control | `claude remote-control` |
|
||||||
|
| `claude plugin` | Управління плагінами (встановлення, увімкнення, вимкнення) | `claude plugin install my-plugin` |
|
||||||
|
| `claude auth login` | Вхід (підтримує `--email`, `--sso`) | `claude auth login --email user@example.com` |
|
||||||
|
| `claude auth logout` | Вихід з поточного облікового запису | `claude auth logout` |
|
||||||
|
| `claude auth status` | Перевірка статусу авторизації (код виходу 0 = увійшов, 1 = ні) | `claude auth status` |
|
||||||
|
|
||||||
|
## Основні прапорці
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `-p, --print` | Вивести відповідь без інтерактивного режиму | `claude -p "query"` |
|
||||||
|
| `-c, --continue` | Завантажити останню розмову | `claude --continue` |
|
||||||
|
| `-r, --resume` | Відновити конкретну сесію за ID або назвою | `claude --resume auth-refactor` |
|
||||||
|
| `-v, --version` | Показати номер версії | `claude -v` |
|
||||||
|
| `-w, --worktree` | Запуск в ізольованому git worktree (робочому дереві) | `claude -w` |
|
||||||
|
| `-n, --name` | Відображувана назва сесії | `claude -n "auth-refactor"` |
|
||||||
|
| `--from-pr <number>` | Відновити сесії, привʼязані до GitHub PR | `claude --from-pr 42` |
|
||||||
|
| `--remote "task"` | Створити веб-сесію на claude.ai | `claude --remote "implement API"` |
|
||||||
|
| `--remote-control, --rc` | Інтерактивна сесія з Remote Control | `claude --rc` |
|
||||||
|
| `--teleport` | Відновити веб-сесію локально | `claude --teleport` |
|
||||||
|
| `--teammate-mode` | Режим відображення Agent Teams | `claude --teammate-mode tmux` |
|
||||||
|
| `--bare` | Мінімальний режим (без хуків, навичок, плагінів, MCP, auto memory, CLAUDE.md) | `claude --bare` |
|
||||||
|
| `--enable-auto-mode` | Розблокувати auto permission mode | `claude --enable-auto-mode` |
|
||||||
|
| `--channels` | Підписка на MCP channel plugins | `claude --channels discord,telegram` |
|
||||||
|
| `--chrome` / `--no-chrome` | Увімкнути/вимкнути інтеграцію з браузером Chrome | `claude --chrome` |
|
||||||
|
| `--effort` | Встановити рівень зусиль мислення | `claude --effort high` |
|
||||||
|
| `--init` / `--init-only` | Запуск хуків ініціалізації | `claude --init` |
|
||||||
|
| `--maintenance` | Запуск хуків обслуговування та вихід | `claude --maintenance` |
|
||||||
|
| `--disable-slash-commands` | Вимкнути всі навички та слеш-команди | `claude --disable-slash-commands` |
|
||||||
|
| `--no-session-persistence` | Вимкнути збереження сесії (print mode) | `claude -p --no-session-persistence "query"` |
|
||||||
|
|
||||||
|
### Інтерактивний vs Print-режим
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
A["claude"] -->|Default| B["Interactive REPL"]
|
||||||
|
A -->|"-p flag"| C["Print Mode"]
|
||||||
|
B -->|Features| D["Multi-turn conversation<br>Tab completion<br>History<br>Slash commands"]
|
||||||
|
C -->|Features| E["Single query<br>Scriptable<br>Pipeable<br>JSON output"]
|
||||||
|
```
|
||||||
|
|
||||||
|
**Інтерактивний режим** (за замовчуванням):
|
||||||
|
```bash
|
||||||
|
# Запуск інтерактивної сесії
|
||||||
|
claude
|
||||||
|
|
||||||
|
# Запуск з початковим промптом
|
||||||
|
claude "explain the authentication flow"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Print-режим** (неінтерактивний):
|
||||||
|
```bash
|
||||||
|
# Один запит, потім вихід
|
||||||
|
claude -p "what does this function do?"
|
||||||
|
|
||||||
|
# Обробка вмісту файлу
|
||||||
|
cat error.log | claude -p "explain this error"
|
||||||
|
|
||||||
|
# Ланцюжок з іншими інструментами
|
||||||
|
claude -p "list todos" | grep "URGENT"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Модель та конфігурація
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--model` | Встановити модель (sonnet, opus, haiku або повна назва) | `claude --model opus` |
|
||||||
|
| `--fallback-model` | Автоматичний фолбек (запасна модель) при перевантаженні | `claude -p --fallback-model sonnet "query"` |
|
||||||
|
| `--agent` | Вказати агента для сесії | `claude --agent my-custom-agent` |
|
||||||
|
| `--agents` | Визначити кастомних субагентів через JSON | Див. [Конфігурація агентів](#конфігурація-агентів) |
|
||||||
|
| `--effort` | Встановити рівень зусиль (low, medium, high, max) | `claude --effort high` |
|
||||||
|
|
||||||
|
### Приклади вибору моделі
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Opus 4.6 для складних завдань
|
||||||
|
claude --model opus "design a caching strategy"
|
||||||
|
|
||||||
|
# Haiku 4.5 для швидких завдань
|
||||||
|
claude --model haiku -p "format this JSON"
|
||||||
|
|
||||||
|
# Повна назва моделі
|
||||||
|
claude --model claude-sonnet-4-6-20250929 "review this code"
|
||||||
|
|
||||||
|
# З фолбеком для надійності
|
||||||
|
claude -p --model opus --fallback-model sonnet "analyze architecture"
|
||||||
|
|
||||||
|
# opusplan (Opus планує, Sonnet виконує)
|
||||||
|
claude --model opusplan "design and implement the caching layer"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Кастомізація системного промпта
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--system-prompt` | Замінити весь стандартний промпт | `claude --system-prompt "You are a Python expert"` |
|
||||||
|
| `--system-prompt-file` | Завантажити промпт з файлу (print mode) | `claude -p --system-prompt-file ./prompt.txt "query"` |
|
||||||
|
| `--append-system-prompt` | Додати до стандартного промпта | `claude --append-system-prompt "Always use TypeScript"` |
|
||||||
|
|
||||||
|
### Приклади системного промпта
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Повністю кастомна персона
|
||||||
|
claude --system-prompt "You are a senior security engineer. Focus on vulnerabilities."
|
||||||
|
|
||||||
|
# Додавання конкретних інструкцій
|
||||||
|
claude --append-system-prompt "Always include unit tests with code examples"
|
||||||
|
|
||||||
|
# Завантаження складного промпта з файлу
|
||||||
|
claude -p --system-prompt-file ./prompts/code-reviewer.txt "review main.py"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Порівняння прапорців системного промпта
|
||||||
|
|
||||||
|
| Прапорець | Поведінка | Інтерактивний | Print |
|
||||||
|
|-----------|----------|---------------|-------|
|
||||||
|
| `--system-prompt` | Замінює весь стандартний системний промпт | ✅ | ✅ |
|
||||||
|
| `--system-prompt-file` | Замінює промптом з файлу | ❌ | ✅ |
|
||||||
|
| `--append-system-prompt` | Додає до стандартного системного промпта | ✅ | ✅ |
|
||||||
|
|
||||||
|
**Використовуйте `--system-prompt-file` лише в print-режимі. Для інтерактивного режиму використовуйте `--system-prompt` або `--append-system-prompt`.**
|
||||||
|
|
||||||
|
## Управління інструментами та дозволами
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--tools` | Обмежити доступні вбудовані інструменти | `claude -p --tools "Bash,Edit,Read" "query"` |
|
||||||
|
| `--allowedTools` | Інструменти, що виконуються без запиту дозволу | `"Bash(git log:*)" "Read"` |
|
||||||
|
| `--disallowedTools` | Інструменти, видалені з контексту | `"Bash(rm:*)" "Edit"` |
|
||||||
|
| `--dangerously-skip-permissions` | Пропустити всі запити дозволів | `claude --dangerously-skip-permissions` |
|
||||||
|
| `--permission-mode` | Починати у вказаному режимі дозволів | `claude --permission-mode auto` |
|
||||||
|
| `--permission-prompt-tool` | MCP-інструмент для обробки дозволів | `claude -p --permission-prompt-tool mcp_auth "query"` |
|
||||||
|
| `--enable-auto-mode` | Розблокувати auto permission mode | `claude --enable-auto-mode` |
|
||||||
|
|
||||||
|
### Приклади дозволів
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Режим тільки для читання — код-рев'ю
|
||||||
|
claude --permission-mode plan "review this codebase"
|
||||||
|
|
||||||
|
# Обмеження до безпечних інструментів
|
||||||
|
claude --tools "Read,Grep,Glob" -p "find all TODO comments"
|
||||||
|
|
||||||
|
# Дозволити конкретні git-команди без запитів
|
||||||
|
claude --allowedTools "Bash(git status:*)" "Bash(git log:*)"
|
||||||
|
|
||||||
|
# Заблокувати небезпечні операції
|
||||||
|
claude --disallowedTools "Bash(rm -rf:*)" "Bash(git push --force:*)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Вивід та формат
|
||||||
|
|
||||||
|
| Прапорець | Опис | Опції | Приклад |
|
||||||
|
|-----------|------|-------|---------|
|
||||||
|
| `--output-format` | Формат виводу (print mode) | `text`, `json`, `stream-json` | `claude -p --output-format json "query"` |
|
||||||
|
| `--input-format` | Формат вводу (print mode) | `text`, `stream-json` | `claude -p --input-format stream-json` |
|
||||||
|
| `--verbose` | Увімкнути детальне логування | | `claude --verbose` |
|
||||||
|
| `--include-partial-messages` | Включити потокові (streaming) події | Потребує `stream-json` | `claude -p --output-format stream-json --include-partial-messages "query"` |
|
||||||
|
| `--json-schema` | Отримати валідований JSON за схемою | | `claude -p --json-schema '{"type":"object"}' "query"` |
|
||||||
|
| `--max-budget-usd` | Максимальні витрати для print mode | | `claude -p --max-budget-usd 5.00 "query"` |
|
||||||
|
|
||||||
|
### Приклади формату виводу
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Звичайний текст (за замовчуванням)
|
||||||
|
claude -p "explain this code"
|
||||||
|
|
||||||
|
# JSON для програмного використання
|
||||||
|
claude -p --output-format json "list all functions in main.py"
|
||||||
|
|
||||||
|
# Потоковий JSON для обробки в реальному часі
|
||||||
|
claude -p --output-format stream-json "generate a long report"
|
||||||
|
|
||||||
|
# Структурований вивід із валідацією за схемою
|
||||||
|
claude -p --json-schema '{"type":"object","properties":{"bugs":{"type":"array"}}}' \
|
||||||
|
"find bugs in this code and return as JSON"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Робочий простір та каталог
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--add-dir` | Додати додаткові робочі каталоги | `claude --add-dir ../apps ../lib` |
|
||||||
|
| `--setting-sources` | Джерела налаштувань через кому | `claude --setting-sources user,project` |
|
||||||
|
| `--settings` | Завантажити налаштування з файлу або JSON | `claude --settings ./settings.json` |
|
||||||
|
| `--plugin-dir` | Завантажити плагіни з каталогу (повторюваний) | `claude --plugin-dir ./my-plugin` |
|
||||||
|
|
||||||
|
### Приклад роботи з кількома каталогами
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Робота в кількох каталогах проєкту одночасно
|
||||||
|
claude --add-dir ../frontend ../backend ../shared "find all API endpoints"
|
||||||
|
|
||||||
|
# Завантаження кастомних налаштувань
|
||||||
|
claude --settings '{"model":"opus","verbose":true}' "complex task"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфігурація MCP
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--mcp-config` | Завантажити MCP-сервери з JSON | `claude --mcp-config ./mcp.json` |
|
||||||
|
| `--strict-mcp-config` | Використовувати тільки вказану MCP-конфігурацію | `claude --strict-mcp-config --mcp-config ./mcp.json` |
|
||||||
|
| `--channels` | Підписка на MCP channel plugins | `claude --channels discord,telegram` |
|
||||||
|
|
||||||
|
### Приклади MCP
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Завантаження GitHub MCP-сервера
|
||||||
|
claude --mcp-config ./github-mcp.json "list open PRs"
|
||||||
|
|
||||||
|
# Суворий режим — тільки вказані сервери
|
||||||
|
claude --strict-mcp-config --mcp-config ./production-mcp.json "deploy to staging"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Управління сесіями
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--session-id` | Використовувати конкретний ID сесії (UUID) | `claude --session-id "550e8400-..."` |
|
||||||
|
| `--fork-session` | Створити нову сесію при відновленні | `claude --resume abc123 --fork-session` |
|
||||||
|
|
||||||
|
### Приклади сесій
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Продовжити останню розмову
|
||||||
|
claude -c
|
||||||
|
|
||||||
|
# Відновити іменовану сесію
|
||||||
|
claude -r "feature-auth" "continue implementing login"
|
||||||
|
|
||||||
|
# Форк сесії для експериментів
|
||||||
|
claude --resume feature-auth --fork-session "try alternative approach"
|
||||||
|
|
||||||
|
# Використання конкретного ID сесії
|
||||||
|
claude --session-id "550e8400-e29b-41d4-a716-446655440000" "continue"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Форк сесії
|
||||||
|
|
||||||
|
Створення відгалуження від існуючої сесії для експериментів:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Форк сесії для альтернативного підходу
|
||||||
|
claude --resume abc123 --fork-session "try alternative implementation"
|
||||||
|
|
||||||
|
# Форк з кастомним повідомленням
|
||||||
|
claude -r "feature-auth" --fork-session "test with different architecture"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Випадки використання:**
|
||||||
|
- Спроба альтернативних реалізацій без втрати оригінальної сесії
|
||||||
|
- Паралельне експериментування з різними підходами
|
||||||
|
- Створення відгалужень від успішної роботи для варіацій
|
||||||
|
- Тестування зламуючих змін (breaking changes) без впливу на основну сесію
|
||||||
|
|
||||||
|
Оригінальна сесія залишається без змін, а форк стає новою незалежною сесією.
|
||||||
|
|
||||||
|
## Розширені функції
|
||||||
|
|
||||||
|
| Прапорець | Опис | Приклад |
|
||||||
|
|-----------|------|---------|
|
||||||
|
| `--chrome` | Увімкнути інтеграцію з браузером Chrome | `claude --chrome` |
|
||||||
|
| `--no-chrome` | Вимкнути інтеграцію з Chrome | `claude --no-chrome` |
|
||||||
|
| `--ide` | Автопідключення до IDE, якщо доступна | `claude --ide` |
|
||||||
|
| `--max-turns` | Обмежити кількість агентних кроків (неінтерактивний режим) | `claude -p --max-turns 3 "query"` |
|
||||||
|
| `--debug` | Увімкнути режим налагодження з фільтрацією | `claude --debug "api,mcp"` |
|
||||||
|
| `--enable-lsp-logging` | Увімкнути детальне логування LSP | `claude --enable-lsp-logging` |
|
||||||
|
| `--betas` | Beta-заголовки для API-запитів | `claude --betas interleaved-thinking` |
|
||||||
|
| `--plugin-dir` | Завантажити плагіни з каталогу (повторюваний) | `claude --plugin-dir ./my-plugin` |
|
||||||
|
| `--enable-auto-mode` | Розблокувати auto permission mode | `claude --enable-auto-mode` |
|
||||||
|
| `--effort` | Встановити рівень зусиль мислення | `claude --effort high` |
|
||||||
|
| `--bare` | Мінімальний режим (без хуків, навичок, плагінів, MCP, auto memory, CLAUDE.md) | `claude --bare` |
|
||||||
|
| `--channels` | Підписка на MCP channel plugins | `claude --channels discord` |
|
||||||
|
| `--tmux` | Створити tmux-сесію для worktree | `claude --tmux` |
|
||||||
|
| `--fork-session` | Створити новий ID сесії при відновленні | `claude --resume abc --fork-session` |
|
||||||
|
| `--max-budget-usd` | Максимальні витрати (print mode) | `claude -p --max-budget-usd 5.00 "query"` |
|
||||||
|
| `--json-schema` | Валідований JSON-вивід | `claude -p --json-schema '{"type":"object"}' "q"` |
|
||||||
|
|
||||||
|
### Приклади розширених функцій
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Обмежити автономні дії
|
||||||
|
claude -p --max-turns 5 "refactor this module"
|
||||||
|
|
||||||
|
# Налагодження API-викликів
|
||||||
|
claude --debug "api" "test query"
|
||||||
|
|
||||||
|
# Увімкнути інтеграцію з IDE
|
||||||
|
claude --ide "help me with this file"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфігурація агентів
|
||||||
|
|
||||||
|
Прапорець `--agents` приймає JSON-обʼєкт, що визначає кастомних субагентів для сесії.
|
||||||
|
|
||||||
|
### Формат JSON для агентів
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"agent-name": {
|
||||||
|
"description": "Обовʼязково: коли викликати цього агента",
|
||||||
|
"prompt": "Обовʼязково: системний промпт для агента",
|
||||||
|
"tools": ["Необовʼязково", "масив", "інструментів"],
|
||||||
|
"model": "необовʼязково: sonnet|opus|haiku"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Обовʼязкові поля:**
|
||||||
|
- `description` — опис природною мовою, коли використовувати цього агента
|
||||||
|
- `prompt` — системний промпт, що визначає роль та поведінку агента
|
||||||
|
|
||||||
|
**Необовʼязкові поля:**
|
||||||
|
- `tools` — масив доступних інструментів (якщо не вказано, успадковує всі)
|
||||||
|
- Формат: `["Read", "Grep", "Glob", "Bash"]`
|
||||||
|
- `model` — модель: `sonnet`, `opus` або `haiku`
|
||||||
|
|
||||||
|
### Повний приклад агентів
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code-reviewer": {
|
||||||
|
"description": "Expert code reviewer. Use proactively after code changes.",
|
||||||
|
"prompt": "You are a senior code reviewer. Focus on code quality, security, and best practices.",
|
||||||
|
"tools": ["Read", "Grep", "Glob", "Bash"],
|
||||||
|
"model": "sonnet"
|
||||||
|
},
|
||||||
|
"debugger": {
|
||||||
|
"description": "Debugging specialist for errors and test failures.",
|
||||||
|
"prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes.",
|
||||||
|
"tools": ["Read", "Edit", "Bash", "Grep"],
|
||||||
|
"model": "opus"
|
||||||
|
},
|
||||||
|
"documenter": {
|
||||||
|
"description": "Documentation specialist for generating guides.",
|
||||||
|
"prompt": "You are a technical writer. Create clear, comprehensive documentation.",
|
||||||
|
"tools": ["Read", "Write"],
|
||||||
|
"model": "haiku"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Приклади команд з агентами
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Визначення кастомних агентів інлайн
|
||||||
|
claude --agents '{
|
||||||
|
"security-auditor": {
|
||||||
|
"description": "Security specialist for vulnerability analysis",
|
||||||
|
"prompt": "You are a security expert. Find vulnerabilities and suggest fixes.",
|
||||||
|
"tools": ["Read", "Grep", "Glob"],
|
||||||
|
"model": "opus"
|
||||||
|
}
|
||||||
|
}' "audit this codebase for security issues"
|
||||||
|
|
||||||
|
# Завантаження агентів з файлу
|
||||||
|
claude --agents "$(cat ~/.claude/agents.json)" "review the auth module"
|
||||||
|
|
||||||
|
# Комбінація з іншими прапорцями
|
||||||
|
claude -p --agents "$(cat agents.json)" --model sonnet "analyze performance"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Пріоритет агентів
|
||||||
|
|
||||||
|
При наявності кількох визначень агентів вони завантажуються в такому порядку пріоритету:
|
||||||
|
1. **CLI-визначені** (прапорець `--agents`) — для конкретної сесії
|
||||||
|
2. **Рівень користувача** (`~/.claude/agents/`) — для всіх проєктів
|
||||||
|
3. **Рівень проєкту** (`.claude/agents/`) — для поточного проєкту
|
||||||
|
|
||||||
|
CLI-визначені агенти перевизначають агентів рівня користувача та проєкту на час сесії.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Високоцінні сценарії використання
|
||||||
|
|
||||||
|
### 1. Інтеграція CI/CD
|
||||||
|
|
||||||
|
Використання Claude Code у CI/CD-пайплайнах (конвеєрах безперервної інтеграції/доставки) для автоматизованого код-рев'ю, тестування та документації.
|
||||||
|
|
||||||
|
**Приклад GitHub Actions:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: AI Code Review
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
review:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Claude Code
|
||||||
|
run: npm install -g @anthropic-ai/claude-code
|
||||||
|
|
||||||
|
- name: Run Code Review
|
||||||
|
env:
|
||||||
|
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||||
|
run: |
|
||||||
|
claude -p --output-format json \
|
||||||
|
--max-turns 1 \
|
||||||
|
"Review the changes in this PR for:
|
||||||
|
- Security vulnerabilities
|
||||||
|
- Performance issues
|
||||||
|
- Code quality
|
||||||
|
Output as JSON with 'issues' array" > review.json
|
||||||
|
|
||||||
|
- name: Post Review Comment
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
|
||||||
|
// Обробка та публікація коментарів рев'ю
|
||||||
|
```
|
||||||
|
|
||||||
|
**Пайплайн Jenkins:**
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
pipeline {
|
||||||
|
agent any
|
||||||
|
stages {
|
||||||
|
stage('AI Review') {
|
||||||
|
steps {
|
||||||
|
sh '''
|
||||||
|
claude -p --output-format json \
|
||||||
|
--max-turns 3 \
|
||||||
|
"Analyze test coverage and suggest missing tests" \
|
||||||
|
> coverage-analysis.json
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Pipe-обробка скриптів
|
||||||
|
|
||||||
|
Обробка файлів, журналів та даних через Claude для аналізу.
|
||||||
|
|
||||||
|
**Аналіз журналів:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Аналіз журналів помилок
|
||||||
|
tail -1000 /var/log/app/error.log | claude -p "summarize these errors and suggest fixes"
|
||||||
|
|
||||||
|
# Пошук патернів у журналах доступу
|
||||||
|
cat access.log | claude -p "identify suspicious access patterns"
|
||||||
|
|
||||||
|
# Аналіз git-історії
|
||||||
|
git log --oneline -50 | claude -p "summarize recent development activity"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Обробка коду:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Рев'ю конкретного файлу
|
||||||
|
cat src/auth.ts | claude -p "review this authentication code for security issues"
|
||||||
|
|
||||||
|
# Генерація документації
|
||||||
|
cat src/api/*.ts | claude -p "generate API documentation in markdown"
|
||||||
|
|
||||||
|
# Пошук TODO та пріоритезація
|
||||||
|
grep -r "TODO" src/ | claude -p "prioritize these TODOs by importance"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Мультисесійні робочі процеси
|
||||||
|
|
||||||
|
Управління складними проєктами з кількома потоками розмов.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Запуск сесії для гілки функції
|
||||||
|
claude -r "feature-auth" "let's implement user authentication"
|
||||||
|
|
||||||
|
# Пізніше — продовження сесії
|
||||||
|
claude -r "feature-auth" "add password reset functionality"
|
||||||
|
|
||||||
|
# Форк для альтернативного підходу
|
||||||
|
claude --resume feature-auth --fork-session "try OAuth instead"
|
||||||
|
|
||||||
|
# Переключення між різними сесіями функцій
|
||||||
|
claude -r "feature-payments" "continue with Stripe integration"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Кастомна конфігурація агентів
|
||||||
|
|
||||||
|
Визначення спеціалізованих агентів для робочих процесів вашої команди.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Збереження конфігурації агентів у файл
|
||||||
|
cat > ~/.claude/agents.json << 'EOF'
|
||||||
|
{
|
||||||
|
"reviewer": {
|
||||||
|
"description": "Code reviewer for PR reviews",
|
||||||
|
"prompt": "Review code for quality, security, and maintainability.",
|
||||||
|
"model": "opus"
|
||||||
|
},
|
||||||
|
"documenter": {
|
||||||
|
"description": "Documentation specialist",
|
||||||
|
"prompt": "Generate clear, comprehensive documentation.",
|
||||||
|
"model": "sonnet"
|
||||||
|
},
|
||||||
|
"refactorer": {
|
||||||
|
"description": "Code refactoring expert",
|
||||||
|
"prompt": "Suggest and implement clean code refactoring.",
|
||||||
|
"tools": ["Read", "Edit", "Glob"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Використання агентів у сесії
|
||||||
|
claude --agents "$(cat ~/.claude/agents.json)" "review the auth module"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Пакетна обробка
|
||||||
|
|
||||||
|
Обробка кількох запитів з однаковими налаштуваннями.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Обробка кількох файлів
|
||||||
|
for file in src/*.ts; do
|
||||||
|
echo "Processing $file..."
|
||||||
|
claude -p --model haiku "summarize this file: $(cat $file)" >> summaries.md
|
||||||
|
done
|
||||||
|
|
||||||
|
# Пакетне код-рев'ю
|
||||||
|
find src -name "*.py" -exec sh -c '
|
||||||
|
echo "## $1" >> review.md
|
||||||
|
cat "$1" | claude -p "brief code review" >> review.md
|
||||||
|
' _ {} \;
|
||||||
|
|
||||||
|
# Генерація тестів для всіх модулів
|
||||||
|
for module in $(ls src/modules/); do
|
||||||
|
claude -p "generate unit tests for src/modules/$module" > "tests/$module.test.ts"
|
||||||
|
done
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. Безпечна розробка
|
||||||
|
|
||||||
|
Використання контролю дозволів для безпечної роботи.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Аудит безпеки тільки для читання
|
||||||
|
claude --permission-mode plan \
|
||||||
|
--tools "Read,Grep,Glob" \
|
||||||
|
"audit this codebase for security vulnerabilities"
|
||||||
|
|
||||||
|
# Блокування небезпечних команд
|
||||||
|
claude --disallowedTools "Bash(rm:*)" "Bash(curl:*)" "Bash(wget:*)" \
|
||||||
|
"help me clean up this project"
|
||||||
|
|
||||||
|
# Обмежена автоматизація
|
||||||
|
claude -p --max-turns 2 \
|
||||||
|
--allowedTools "Read" "Glob" \
|
||||||
|
"find all hardcoded credentials"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 7. JSON API інтеграція
|
||||||
|
|
||||||
|
Використання Claude як програмного API для ваших інструментів з парсингом через `jq`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Структурований аналіз
|
||||||
|
claude -p --output-format json \
|
||||||
|
--json-schema '{"type":"object","properties":{"functions":{"type":"array"},"complexity":{"type":"string"}}}' \
|
||||||
|
"analyze main.py and return function list with complexity rating"
|
||||||
|
|
||||||
|
# Інтеграція з jq для обробки
|
||||||
|
claude -p --output-format json "list all API endpoints" | jq '.endpoints[]'
|
||||||
|
|
||||||
|
# Використання в скриптах
|
||||||
|
RESULT=$(claude -p --output-format json "is this code secure? answer with {secure: boolean, issues: []}" < code.py)
|
||||||
|
if echo "$RESULT" | jq -e '.secure == false' > /dev/null; then
|
||||||
|
echo "Security issues found!"
|
||||||
|
echo "$RESULT" | jq '.issues[]'
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
### Приклади парсингу jq
|
||||||
|
|
||||||
|
Парсинг та обробка JSON-виводу Claude за допомогою `jq`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Витяг конкретних полів
|
||||||
|
claude -p --output-format json "analyze this code" | jq '.result'
|
||||||
|
|
||||||
|
# Фільтрація елементів масиву
|
||||||
|
claude -p --output-format json "list issues" | jq -r '.issues[] | select(.severity=="high")'
|
||||||
|
|
||||||
|
# Витяг кількох полів
|
||||||
|
claude -p --output-format json "describe the project" | jq -r '.{name, version, description}'
|
||||||
|
|
||||||
|
# Конвертація в CSV
|
||||||
|
claude -p --output-format json "list functions" | jq -r '.functions[] | [.name, .lineCount] | @csv'
|
||||||
|
|
||||||
|
# Умовна обробка
|
||||||
|
claude -p --output-format json "check security" | jq 'if .vulnerabilities | length > 0 then "UNSAFE" else "SAFE" end'
|
||||||
|
|
||||||
|
# Витяг вкладених значень
|
||||||
|
claude -p --output-format json "analyze performance" | jq '.metrics.cpu.usage'
|
||||||
|
|
||||||
|
# Обробка всього масиву
|
||||||
|
claude -p --output-format json "find todos" | jq '.todos | length'
|
||||||
|
|
||||||
|
# Трансформація виводу
|
||||||
|
claude -p --output-format json "list improvements" | jq 'map({title: .title, priority: .priority})'
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Моделі
|
||||||
|
|
||||||
|
Claude Code підтримує кілька моделей з різними можливостями:
|
||||||
|
|
||||||
|
| Модель | ID | Контекстне вікно | Примітки |
|
||||||
|
|--------|-----|-----------------|----------|
|
||||||
|
| Opus 4.6 | `claude-opus-4-6` | 1M токенів | Найпотужніша, адаптивні рівні зусиль |
|
||||||
|
| Sonnet 4.6 | `claude-sonnet-4-6` | 1M токенів | Баланс швидкості та можливостей |
|
||||||
|
| Haiku 4.5 | `claude-haiku-4-5` | 1M токенів | Найшвидша, оптимальна для швидких завдань |
|
||||||
|
|
||||||
|
### Вибір моделі
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Використання коротких назв
|
||||||
|
claude --model opus "complex architectural review"
|
||||||
|
claude --model sonnet "implement this feature"
|
||||||
|
claude --model haiku -p "format this JSON"
|
||||||
|
|
||||||
|
# Використання alias opusplan (Opus планує, Sonnet виконує)
|
||||||
|
claude --model opusplan "design and implement the API"
|
||||||
|
|
||||||
|
# Перемикання на швидкий режим під час сесії
|
||||||
|
/fast
|
||||||
|
```
|
||||||
|
|
||||||
|
### Рівні зусиль (Opus 4.6)
|
||||||
|
|
||||||
|
Opus 4.6 підтримує адаптивне міркування з рівнями зусиль:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Через прапорець CLI
|
||||||
|
claude --effort high "complex review"
|
||||||
|
|
||||||
|
# Через слеш-команду
|
||||||
|
/effort high
|
||||||
|
|
||||||
|
# Через змінну оточення
|
||||||
|
export CLAUDE_CODE_EFFORT_LEVEL=high # low, medium, high або max (лише Opus 4.6)
|
||||||
|
```
|
||||||
|
|
||||||
|
Ключове слово "ultrathink" у промптах активує глибоке міркування. Рівень `max` — ексклюзивний для Opus 4.6.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ключові змінні оточення
|
||||||
|
|
||||||
|
| Змінна | Опис |
|
||||||
|
|--------|------|
|
||||||
|
| `ANTHROPIC_API_KEY` | API-ключ для автентифікації |
|
||||||
|
| `ANTHROPIC_MODEL` | Перевизначення стандартної моделі |
|
||||||
|
| `ANTHROPIC_CUSTOM_MODEL_OPTION` | Кастомна опція моделі для API |
|
||||||
|
| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Перевизначення стандартного ID моделі Opus |
|
||||||
|
| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Перевизначення стандартного ID моделі Sonnet |
|
||||||
|
| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Перевизначення стандартного ID моделі Haiku |
|
||||||
|
| `MAX_THINKING_TOKENS` | Бюджет токенів розширеного мислення |
|
||||||
|
| `CLAUDE_CODE_EFFORT_LEVEL` | Рівень зусиль (`low`/`medium`/`high`/`max`) |
|
||||||
|
| `CLAUDE_CODE_SIMPLE` | Мінімальний режим, встановлюється прапорцем `--bare` |
|
||||||
|
| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Вимкнути автоматичне оновлення CLAUDE.md |
|
||||||
|
| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Вимкнути виконання фонових завдань |
|
||||||
|
| `CLAUDE_CODE_DISABLE_CRON` | Вимкнути заплановані/cron-завдання |
|
||||||
|
| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Вимкнути git-інструкції |
|
||||||
|
| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Вимкнути оновлення заголовка терміналу |
|
||||||
|
| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Вимкнути контекстне вікно 1M токенів |
|
||||||
|
| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Вимкнути фолбек без стрімінгу |
|
||||||
|
| `CLAUDE_CODE_ENABLE_TASKS` | Увімкнути функцію списку завдань |
|
||||||
|
| `CLAUDE_CODE_TASK_LIST_ID` | Іменований каталог завдань, спільний між сесіями |
|
||||||
|
| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Увімкнути/вимкнути пропозиції промптів (`true`/`false`) |
|
||||||
|
| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Увімкнути експериментальні Agent Teams |
|
||||||
|
| `CLAUDE_CODE_NEW_INIT` | Використовувати новий потік ініціалізації |
|
||||||
|
| `CLAUDE_CODE_SUBAGENT_MODEL` | Модель для виконання субагентів |
|
||||||
|
| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Каталог для seed-файлів плагінів |
|
||||||
|
| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Змінні оточення для видалення з підпроцесів |
|
||||||
|
| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Перевизначити відсоток автокомпакції |
|
||||||
|
| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Таймаут простою потоку в мілісекундах |
|
||||||
|
| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Бюджет символів для інструментів слеш-команд |
|
||||||
|
| `ENABLE_TOOL_SEARCH` | Увімкнути пошук інструментів |
|
||||||
|
| `MAX_MCP_OUTPUT_TOKENS` | Максимум токенів для виводу MCP-інструмента |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Швидкий довідник
|
||||||
|
|
||||||
|
### Найпоширеніші команди
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Інтерактивна сесія
|
||||||
|
claude
|
||||||
|
|
||||||
|
# Швидке питання
|
||||||
|
claude -p "how do I..."
|
||||||
|
|
||||||
|
# Продовжити розмову
|
||||||
|
claude -c
|
||||||
|
|
||||||
|
# Обробити файл
|
||||||
|
cat file.py | claude -p "review this"
|
||||||
|
|
||||||
|
# JSON-вивід для скриптів
|
||||||
|
claude -p --output-format json "query"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Комбінації прапорців
|
||||||
|
|
||||||
|
| Сценарій | Команда |
|
||||||
|
|----------|---------|
|
||||||
|
| Швидке код-рев'ю | `cat file \| claude -p "review"` |
|
||||||
|
| Структурований вивід | `claude -p --output-format json "query"` |
|
||||||
|
| Безпечне дослідження | `claude --permission-mode plan` |
|
||||||
|
| Автономність з безпекою | `claude --enable-auto-mode --permission-mode auto` |
|
||||||
|
| CI/CD інтеграція | `claude -p --max-turns 3 --output-format json` |
|
||||||
|
| Відновлення роботи | `claude -r "session-name"` |
|
||||||
|
| Кастомна модель | `claude --model opus "complex task"` |
|
||||||
|
| Мінімальний режим | `claude --bare "quick query"` |
|
||||||
|
| Ліміт бюджету | `claude -p --max-budget-usd 2.00 "analyze code"` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Усунення несправностей
|
||||||
|
|
||||||
|
### Команда не знайдена
|
||||||
|
|
||||||
|
**Проблема:** `claude: command not found`
|
||||||
|
|
||||||
|
**Рішення:**
|
||||||
|
- Встановіть Claude Code: `npm install -g @anthropic-ai/claude-code`
|
||||||
|
- Перевірте, що PATH включає глобальний bin-каталог npm
|
||||||
|
- Спробуйте запуск з повним шляхом: `npx claude`
|
||||||
|
|
||||||
|
### Проблеми з API-ключем
|
||||||
|
|
||||||
|
**Проблема:** Помилка автентифікації
|
||||||
|
|
||||||
|
**Рішення:**
|
||||||
|
- Встановіть API-ключ: `export ANTHROPIC_API_KEY=your-key`
|
||||||
|
- Перевірте валідність ключа та наявність достатнього балансу
|
||||||
|
- Перевірте дозволи ключа для запитуваної моделі
|
||||||
|
|
||||||
|
### Сесія не знайдена
|
||||||
|
|
||||||
|
**Проблема:** Неможливо відновити сесію
|
||||||
|
|
||||||
|
**Рішення:**
|
||||||
|
- Перегляньте доступні сесії, щоб знайти правильну назву/ID
|
||||||
|
- Сесії можуть закінчуватися після періоду неактивності
|
||||||
|
- Використовуйте `-c` для продовження останньої сесії
|
||||||
|
|
||||||
|
### Проблеми з форматом виводу
|
||||||
|
|
||||||
|
**Проблема:** JSON-вивід пошкоджений
|
||||||
|
|
||||||
|
**Рішення:**
|
||||||
|
- Використовуйте `--json-schema` для примусового дотримання структури
|
||||||
|
- Додайте явні інструкції щодо JSON у промпті
|
||||||
|
- Використовуйте `--output-format json` (а не просто просіть JSON у промпті)
|
||||||
|
|
||||||
|
### Відмова в дозволі
|
||||||
|
|
||||||
|
**Проблема:** Виконання інструменту заблоковане
|
||||||
|
|
||||||
|
**Рішення:**
|
||||||
|
- Перевірте налаштування `--permission-mode`
|
||||||
|
- Перегляньте прапорці `--allowedTools` та `--disallowedTools`
|
||||||
|
- Використовуйте `--dangerously-skip-permissions` для автоматизації (з обережністю)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Додаткові ресурси
|
||||||
|
|
||||||
|
- **[Офіційний довідник CLI](https://code.claude.com/docs/en/cli-reference)** — повний довідник команд
|
||||||
|
- **[Документація Headless Mode](https://code.claude.com/docs/en/headless)** — автоматизоване виконання
|
||||||
|
- **[Слеш-команди](../01-slash-commands/)** — кастомні ярлики в Claude
|
||||||
|
- **[Посібник з памʼяті](../02-memory/)** — постійний контекст через CLAUDE.md
|
||||||
|
- **[Протокол MCP](../05-mcp/)** — інтеграція зовнішніх інструментів
|
||||||
|
- **[Розширені функції](../09-advanced-features/)** — режим планування, розширене мислення
|
||||||
|
- **[Посібник субагентів](../04-subagents/)** — делеговане виконання завдань
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Частина серії посібників [Claude How To](../)*
|
||||||
|
|
||||||
|
---
|
||||||
|
**Останнє оновлення**: 9 квітня 2026
|
||||||
|
**Версія Claude Code**: 2.1.97
|
||||||
|
**Сумісні моделі**: Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5
|
||||||
Reference in New Issue
Block a user