mirror of
https://github.com/luongnv89/claude-howto.git
synced 2026-06-05 22:36:34 +02:00
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:
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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