@kernelonpanic/kitcode 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ru.md CHANGED
@@ -1,276 +1,276 @@
1
- # KitCode
2
-
3
- [English](./README.md) · Русский
4
-
5
- ```text
6
- ╱\_╱\
7
- ( o.o )
8
- > ^ <
9
- ```
10
-
11
- KitCode — терминальный агент для работы с кодом. Он читает и изменяет файлы, ищет по проекту,
12
- запускает команды, подключает внешние инструменты через MCP и сохраняет историю сессий.
13
-
14
- Интерфейс построен на TypeScript, React и Ink. Поддерживаются Anthropic API и
15
- OpenAI-совместимые провайдеры, включая OpenRouter и локальные серверы.
16
-
17
- ## Возможности
18
-
19
- - потоковые ответы и отображение reasoning;
20
- - чтение, создание и точечное редактирование файлов;
21
- - поиск по именам и содержимому файлов;
22
- - запуск shell-команд с подтверждением;
23
- - режимы `normal`, `accept` и `plan`;
24
- - продолжение и восстановление прошлых сессий с обычным scrollback терминала;
25
- - поиск по сессиям, переименование, удаление и экспорт в Markdown;
26
- - история введённых сообщений по клавишам `↑` и `↓`;
27
- - очередь сообщений, пока агент занят;
28
- - вложения PNG, JPEG, GIF, WebP и текстовых UTF-8 файлов;
29
- - ручное и автоматическое сжатие старого контекста;
30
- - индикатор токенов, стоимости, точного заполнения контекста и rate limits провайдера;
31
- - автоматические чекпоинты файлов и команда `/undo`;
32
- - автоматическое определение проверок проекта после правок;
33
- - переключение моделей и провайдеров из TUI;
34
- - добавление, включение, выключение и удаление MCP без перезапуска, skills и субагенты;
35
- - команда `/checker` для проверки runtime, провайдера, сессии, контекста и MCP;
36
- - русский и английский интерфейс, настраиваемый цвет темы.
37
-
38
- ## Требования
39
-
40
- - Node.js 22 или новее;
41
- - npm.
42
-
43
- ## Установка
44
-
45
- ```sh
46
- npm install -g kitcode
47
- ```
48
-
49
- ## Установка из исходников
50
-
51
- ```sh
52
- git clone https://github.com/KernelEditor/KitCode.git
53
- cd KitCode
54
- npm install
55
- npm run build
56
- npm link
57
- ```
58
-
59
- После `npm link` команда `kitcode` доступна глобально. Для запуска без глобальной установки:
60
-
61
- ```sh
62
- npm run dev
63
- ```
64
-
65
- ## Первый запуск
66
-
67
- ```sh
68
- kitcode
69
- ```
70
-
71
- При первом запуске KitCode предложит выбрать язык, ввести базовый URL API и ключ. Затем он
72
- определит тип провайдера, загрузит доступные модели и откроет основное окно агента.
73
-
74
- Примеры базовых URL:
75
-
76
- ```text
77
- https://api.anthropic.com
78
- https://openrouter.ai/api/v1
79
- http://localhost:11434/v1
80
- ```
81
-
82
- ## Командная строка
83
-
84
- | Команда | Назначение |
85
- | --- | --- |
86
- | `kitcode` | Запустить TUI в текущей директории. |
87
- | `kitcode -c` | Продолжить последнюю сессию этого проекта. |
88
- | `kitcode -r <id>` | Восстановить сессию по идентификатору. |
89
- | `kitcode --cwd <path>` | Использовать другую рабочую директорию. |
90
- | `kitcode --model <provider/model>` | Запуститься с выбранной моделью. |
91
- | `kitcode --mode <normal\|accept\|plan>` | Выбрать начальный режим работы. |
92
- | `kitcode sessions` | Показать сохранённые сессии. |
93
- | `kitcode ask "вопрос"` | Выполнить один запрос без TUI. |
94
- | `kitcode add <url>` | Добавить провайдер; ключ вводится в скрытом поле. |
95
- | `kitcode add <url> --key-env <name>` | Прочитать ключ из переменной окружения. |
96
- | `kitcode trust` | Включить конфиг и skills текущего проекта. |
97
- | `kitcode config` | Показать расположение конфига и ключей. |
98
- | `kitcode config --local` | Создать конфиг проекта `./kitcode.json`. |
99
- | `kitcode prompt list` | Показать сохранённые промты. |
100
- | `kitcode prompt rm <slug>` | Удалить сохранённый промт. |
101
-
102
- ## Команды внутри TUI
103
-
104
- Нажмите `/`, чтобы открыть список команд.
105
-
106
- | Команда | Назначение |
107
- | --- | --- |
108
- | `/model` | Выбрать модель. |
109
- | `/provider` | Переключить провайдера. |
110
- | `/login` · `/logout [provider]` | Добавить провайдера или выбрать конкретный API для выхода. |
111
- | `/key [provider]` | Сменить ключ провайдера. |
112
- | `/effort` · `/thinking` | Настроить глубину и отображение reasoning. |
113
- | `/resume` · `/clear` | Восстановить сессию или начать новую. |
114
- | `/sessions` | Найти сессию и открыть, переименовать, удалить или экспортировать её. |
115
- | `/sessions rename <id> <название>` | Переименовать сохранённую сессию. |
116
- | `/sessions delete all` | Удалить все сохранённые чаты после двух отдельных подтверждений. |
117
- | `/sessions export <id> [путь]` | Экспортировать сессию в приватный Markdown-файл (по умолчанию `.kitcode-exports/`). |
118
- | `/attach <путь>` · `/attach clipboard` · `/attach clear` | Управлять вложениями следующего сообщения. |
119
- | `/compact` | Заменить старую часть контекста краткой сводкой модели. |
120
- | `/subagents` | Показать текущее количество активных суб-агентов. |
121
- | `/undo` | Откатить встроенные правки файлов из последнего сообщения. |
122
- | `/usage` | Показать токены, запросы, стоимость, доступный баланс и rate limits, если API их отдаёт. |
123
- | `/checker` | Проверить настройку и список моделей без платного chat-запроса. |
124
- | `/prompt` | Вставить сохранённый промт. |
125
- | `/prompt save <name>` | Сохранить последнее сообщение как промт. |
126
- | `/skills` · `/mcp list` | Показать skills и состояние MCP. |
127
- | `/mcp add <имя> <url>` | Добавить и сразу подключить MCP-сервер. |
128
- | `/mcp enable <имя>` · `/mcp disable <имя>` | Подключить или отключить MCP без удаления. |
129
- | `/mcp delete <имя>` | Отключить и удалить MCP-сервер. |
130
- | `/theme` · `/lang` | Изменить тему или язык. |
131
- | `/config` | Показать активный конфиг. |
132
- | `/bypass` | Переключить работу без запросов подтверждения. |
133
- | `/help` · `/exit` | Показать помощь или выйти. |
134
-
135
- ## Клавиши
136
-
137
- | Клавиша | Действие |
138
- | --- | --- |
139
- | `Enter` | Отправить сообщение или выбрать пункт. |
140
- | `↑` / `↓` | Листать историю сообщений или пункты меню. |
141
- | `Tab` | Дополнить slash-команду. |
142
- | `Shift+Tab` | Переключить режим `normal → accept → plan`. |
143
- | `Ctrl+V` / `Cmd+V` | Прикрепить картинку из системного буфера; явный запасной вариант — `/attach clipboard`. |
144
- | `Esc` | Остановить текущий запрос или закрыть окно. |
145
-
146
- Сообщения можно вводить, пока агент работает: они попадут в очередь и выполнятся по порядку.
147
-
148
- ## Режимы
149
-
150
- - `normal` — изменения файлов, shell и MCP при необходимости запрашивают подтверждение;
151
- - `accept` — изменения файлов применяются автоматически;
152
- - `plan` — агент исследует проект и отвечает планом без изменений.
153
-
154
- Текущий режим, модель и usage отображаются в нижней панели, а заполняющаяся слева направо колба
155
- контекста — справа. До 60% она зелёная, затем жёлтая, а с 85% — красная. `ctx ?` означает, что
156
- провайдер ещё не вернул точный usage для текущей модели. Под колбой показывается количество
157
- подключённых MCP. Завершённый вывод переносится в обычный
158
- scrollback терминала, поэтому историю можно плавно листать даже во время потокового ответа.
159
-
160
- При достижении 80% известного окна KitCode автоматически сворачивает старые сообщения в сводку,
161
- оставляя последние два пользовательских хода. Команда `/compact` запускает это вручную.
162
-
163
- Перед изменением файла встроенными инструментами `write` и `edit` KitCode создаёт приватный
164
- чекпоинт. Команда `/undo` восстанавливает последний чекпоинт и не перезаписывает более свежие
165
- ручные изменения. После правок KitCode определяет стандартные команды проекта — например `lint`,
166
- `typecheck` и `test` — и перед запуском показывает их для подтверждения.
167
-
168
- ## Конфигурация
169
-
170
- Основные файлы KitCode:
171
-
172
- | Путь | Содержимое |
173
- | --- | --- |
174
- | `~/.kitcode/config.json` | Глобальные настройки. |
175
- | `~/.kitcode/auth.json` | Ключи провайдеров. |
176
- | `~/.kitcode/sessions/` | Сохранённые сессии. |
177
- | `~/.kitcode/checkpoints/` | Автоматические чекпоинты для `/undo`. |
178
- | `~/.kitcode/prompts/` | Сохранённые промты. |
179
- | `~/.kitcode/skills/` | Глобальные skills. |
180
- | `./.kitcode/skills/` | Skills текущего проекта. |
181
- | `./kitcode.json` | Локальный конфиг проекта. |
182
-
183
- Минимальный пример ручной настройки провайдера:
184
-
185
- ```json
186
- {
187
- "version": 1,
188
- "model": "openrouter/openai/gpt-5",
189
- "providers": {
190
- "openrouter": {
191
- "type": "openai",
192
- "baseUrl": "https://openrouter.ai/api/v1",
193
- "keyEnv": "OPENROUTER_API_KEY"
194
- }
195
- }
196
- }
197
- ```
198
-
199
- Основные параметры: `model`, `effort`, `thinking`, `maxTokens`, `budget`, `diagnostics`, `updates`,
200
- `theme`, `permissions`, `providers` и `mcp`. Секция `budget` задаёт лимиты запросов к модели, токенов,
201
- примерной стоимости (если провайдер сообщает цены) и субагентов на одно сообщение.
202
- `diagnostics.autoRun` включает проверки после правок, а `diagnostics.commands` позволяет заменить
203
- автоопределение списком до восьми команд. Проверка обновлений через GitHub подготовлена, но по
204
- умолчанию выключена: `updates.checkOnStart: false`; в таком состоянии сетевого запроса при старте
205
- нет. Обычно редактировать конфиг вручную не требуется —
206
- провайдер можно добавить при первом запуске или через `/login`.
207
-
208
- После проверки проекта включите его локальный конфиг и skills командой:
209
-
210
- ```sh
211
- kitcode trust
212
- ```
213
-
214
- Команда `kitcode trust --revoke` снова оставит для проекта только глобальные настройки и skills.
215
-
216
- ## MCP и skills
217
-
218
- MCP поддерживает локальные `stdio`-серверы и удалённые HTTP-серверы. Ими можно управлять из TUI:
219
-
220
- ```text
221
- /mcp add docs https://mcp.example.com/mcp
222
- /mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .
223
- /mcp list
224
- /mcp disable filesystem
225
- /mcp enable filesystem
226
- /mcp delete filesystem
227
- ```
228
-
229
- Серверы сохраняются в секции `mcp`:
230
-
231
- ```json
232
- {
233
- "mcp": {
234
- "github": {
235
- "type": "stdio",
236
- "command": "npx",
237
- "args": ["-y", "@modelcontextprotocol/server-github"],
238
- "env": {
239
- "GITHUB_TOKEN": "${env:GITHUB_TOKEN}"
240
- }
241
- }
242
- }
243
- }
244
- ```
245
-
246
- Skill — это директория с файлом `SKILL.md`. Глобальные skills находятся в
247
- `~/.kitcode/skills`, проектные — в `./.kitcode/skills`.
248
-
249
- Во вложениях поддерживаются PNG, JPEG, GIF и WebP до 10 МБ, а также UTF-8 текст до 256 КБ.
250
- Если вставить или перетащить отдельный путь к существующему файлу, он автоматически появится
251
- чипом под полем ввода. Содержимое отправляется провайдеру только вместе со следующим сообщением.
252
-
253
- ## Разработка
254
-
255
- ```sh
256
- npm run dev # запустить исходники через tsx
257
- npm run build # собрать dist/index.js
258
- npm run typecheck # проверить TypeScript
259
- npm test # запустить тесты
260
- ```
261
-
262
- Основные директории:
263
-
264
- ```text
265
- src/app/ запуск приложения и runtime
266
- src/core/ цикл агента, сессии и usage
267
- src/providers/ Anthropic и OpenAI-совместимые адаптеры
268
- src/tools/ файловые, shell и служебные инструменты
269
- src/mcp/ MCP-клиент и адаптер инструментов
270
- src/ui/ TUI на Ink
271
- test/ тесты Vitest
272
- ```
273
-
274
- ## Лицензия
275
-
276
- MIT
1
+ # KitCode
2
+
3
+ [English](./README.md) · Русский
4
+
5
+ ```text
6
+ ╱\_╱\
7
+ ( o.o )
8
+ > ^ <
9
+ ```
10
+
11
+ KitCode — терминальный агент для работы с кодом. Он читает и изменяет файлы, ищет по проекту,
12
+ запускает команды, подключает внешние инструменты через MCP и сохраняет историю сессий.
13
+
14
+ Интерфейс построен на TypeScript, React и Ink. Поддерживаются Anthropic API и
15
+ OpenAI-совместимые провайдеры, включая OpenRouter и локальные серверы.
16
+
17
+ ## Возможности
18
+
19
+ - потоковые ответы и отображение reasoning;
20
+ - чтение, создание и точечное редактирование файлов;
21
+ - поиск по именам и содержимому файлов;
22
+ - запуск shell-команд с подтверждением;
23
+ - режимы `normal`, `accept` и `plan`;
24
+ - продолжение и восстановление прошлых сессий с обычным scrollback терминала;
25
+ - поиск по сессиям, переименование, удаление и экспорт в Markdown;
26
+ - история введённых сообщений по клавишам `↑` и `↓`;
27
+ - очередь сообщений, пока агент занят;
28
+ - вложения PNG, JPEG, GIF, WebP и текстовых UTF-8 файлов;
29
+ - ручное и автоматическое сжатие старого контекста;
30
+ - индикатор токенов, стоимости, точного заполнения контекста и rate limits провайдера;
31
+ - автоматические чекпоинты файлов и команда `/undo`;
32
+ - автоматическое определение проверок проекта после правок;
33
+ - переключение моделей и провайдеров из TUI;
34
+ - добавление, включение, выключение и удаление MCP без перезапуска, skills и субагенты;
35
+ - команда `/checker` для проверки runtime, провайдера, сессии, контекста и MCP;
36
+ - русский и английский интерфейс, настраиваемый цвет темы.
37
+
38
+ ## Требования
39
+
40
+ - Node.js 22 или новее;
41
+ - npm.
42
+
43
+ ## Установка
44
+
45
+ ```sh
46
+ npm i -g @kernelonpanic/kitcode
47
+ ```
48
+
49
+ ## Установка из исходников
50
+
51
+ ```sh
52
+ git clone https://github.com/KernelEditor/KitCode.git
53
+ cd KitCode
54
+ npm install
55
+ npm run build
56
+ npm link
57
+ ```
58
+
59
+ После `npm link` команда `kitcode` доступна глобально. Для запуска без глобальной установки:
60
+
61
+ ```sh
62
+ npm run dev
63
+ ```
64
+
65
+ ## Первый запуск
66
+
67
+ ```sh
68
+ kitcode
69
+ ```
70
+
71
+ При первом запуске KitCode предложит выбрать язык, ввести базовый URL API и ключ. Затем он
72
+ определит тип провайдера, загрузит доступные модели и откроет основное окно агента.
73
+
74
+ Примеры базовых URL:
75
+
76
+ ```text
77
+ https://api.anthropic.com
78
+ https://openrouter.ai/api/v1
79
+ http://localhost:11434/v1
80
+ ```
81
+
82
+ ## Командная строка
83
+
84
+ | Команда | Назначение |
85
+ | --- | --- |
86
+ | `kitcode` | Запустить TUI в текущей директории. |
87
+ | `kitcode -c` | Продолжить последнюю сессию этого проекта. |
88
+ | `kitcode -r <id>` | Восстановить сессию по идентификатору. |
89
+ | `kitcode --cwd <path>` | Использовать другую рабочую директорию. |
90
+ | `kitcode --model <provider/model>` | Запуститься с выбранной моделью. |
91
+ | `kitcode --mode <normal\|accept\|plan>` | Выбрать начальный режим работы. |
92
+ | `kitcode sessions` | Показать сохранённые сессии. |
93
+ | `kitcode ask "вопрос"` | Выполнить один запрос без TUI. |
94
+ | `kitcode add <url>` | Добавить провайдер; ключ вводится в скрытом поле. |
95
+ | `kitcode add <url> --key-env <name>` | Прочитать ключ из переменной окружения. |
96
+ | `kitcode trust` | Включить конфиг и skills текущего проекта. |
97
+ | `kitcode config` | Показать расположение конфига и ключей. |
98
+ | `kitcode config --local` | Создать конфиг проекта `./kitcode.json`. |
99
+ | `kitcode prompt list` | Показать сохранённые промты. |
100
+ | `kitcode prompt rm <slug>` | Удалить сохранённый промт. |
101
+
102
+ ## Команды внутри TUI
103
+
104
+ Нажмите `/`, чтобы открыть список команд.
105
+
106
+ | Команда | Назначение |
107
+ | --- | --- |
108
+ | `/model` | Выбрать модель. |
109
+ | `/provider` | Переключить провайдера. |
110
+ | `/login` · `/logout [provider]` | Добавить провайдера или выбрать конкретный API для выхода. |
111
+ | `/key [provider]` | Сменить ключ провайдера. |
112
+ | `/effort` · `/thinking` | Настроить глубину и отображение reasoning. |
113
+ | `/resume` · `/clear` | Восстановить сессию или начать новую. |
114
+ | `/sessions` | Найти сессию и открыть, переименовать, удалить или экспортировать её. |
115
+ | `/sessions rename <id> <название>` | Переименовать сохранённую сессию. |
116
+ | `/sessions delete all` | Удалить все сохранённые чаты после двух отдельных подтверждений. |
117
+ | `/sessions export <id> [путь]` | Экспортировать сессию в приватный Markdown-файл (по умолчанию `.kitcode-exports/`). |
118
+ | `/attach <путь>` · `/attach clipboard` · `/attach clear` | Управлять вложениями следующего сообщения. |
119
+ | `/compact` | Заменить старую часть контекста краткой сводкой модели. |
120
+ | `/subagents` | Показать текущее количество активных суб-агентов. |
121
+ | `/undo` | Откатить встроенные правки файлов из последнего сообщения. |
122
+ | `/usage` | Показать токены, запросы, стоимость, доступный баланс и rate limits, если API их отдаёт. |
123
+ | `/checker` | Проверить настройку и список моделей без платного chat-запроса. |
124
+ | `/prompt` | Вставить сохранённый промт. |
125
+ | `/prompt save <name>` | Сохранить последнее сообщение как промт. |
126
+ | `/skills` · `/mcp list` | Показать skills и состояние MCP. |
127
+ | `/mcp add <имя> <url>` | Добавить и сразу подключить MCP-сервер. |
128
+ | `/mcp enable <имя>` · `/mcp disable <имя>` | Подключить или отключить MCP без удаления. |
129
+ | `/mcp delete <имя>` | Отключить и удалить MCP-сервер. |
130
+ | `/theme` · `/lang` | Изменить тему или язык. |
131
+ | `/config` | Показать активный конфиг. |
132
+ | `/bypass` | Переключить работу без запросов подтверждения. |
133
+ | `/help` · `/exit` | Показать помощь или выйти. |
134
+
135
+ ## Клавиши
136
+
137
+ | Клавиша | Действие |
138
+ | --- | --- |
139
+ | `Enter` | Отправить сообщение или выбрать пункт. |
140
+ | `↑` / `↓` | Листать историю сообщений или пункты меню. |
141
+ | `Tab` | Дополнить slash-команду. |
142
+ | `Shift+Tab` | Переключить режим `normal → accept → plan`. |
143
+ | `Ctrl+V` / `Cmd+V` | Прикрепить картинку из системного буфера; явный запасной вариант — `/attach clipboard`. |
144
+ | `Esc` | Остановить текущий запрос или закрыть окно. |
145
+
146
+ Сообщения можно вводить, пока агент работает: они попадут в очередь и выполнятся по порядку.
147
+
148
+ ## Режимы
149
+
150
+ - `normal` — изменения файлов, shell и MCP при необходимости запрашивают подтверждение;
151
+ - `accept` — изменения файлов применяются автоматически;
152
+ - `plan` — агент исследует проект и отвечает планом без изменений.
153
+
154
+ Текущий режим, модель и usage отображаются в нижней панели, а заполняющаяся слева направо колба
155
+ контекста — справа. До 60% она зелёная, затем жёлтая, а с 85% — красная. `ctx ?` означает, что
156
+ провайдер ещё не вернул точный usage для текущей модели. Под колбой показывается количество
157
+ подключённых MCP. Завершённый вывод переносится в обычный
158
+ scrollback терминала, поэтому историю можно плавно листать даже во время потокового ответа.
159
+
160
+ При достижении 80% известного окна KitCode автоматически сворачивает старые сообщения в сводку,
161
+ оставляя последние два пользовательских хода. Команда `/compact` запускает это вручную.
162
+
163
+ Перед изменением файла встроенными инструментами `write` и `edit` KitCode создаёт приватный
164
+ чекпоинт. Команда `/undo` восстанавливает последний чекпоинт и не перезаписывает более свежие
165
+ ручные изменения. После правок KitCode определяет стандартные команды проекта — например `lint`,
166
+ `typecheck` и `test` — и перед запуском показывает их для подтверждения.
167
+
168
+ ## Конфигурация
169
+
170
+ Основные файлы KitCode:
171
+
172
+ | Путь | Содержимое |
173
+ | --- | --- |
174
+ | `~/.kitcode/config.json` | Глобальные настройки. |
175
+ | `~/.kitcode/auth.json` | Ключи провайдеров. |
176
+ | `~/.kitcode/sessions/` | Сохранённые сессии. |
177
+ | `~/.kitcode/checkpoints/` | Автоматические чекпоинты для `/undo`. |
178
+ | `~/.kitcode/prompts/` | Сохранённые промты. |
179
+ | `~/.kitcode/skills/` | Глобальные skills. |
180
+ | `./.kitcode/skills/` | Skills текущего проекта. |
181
+ | `./kitcode.json` | Локальный конфиг проекта. |
182
+
183
+ Минимальный пример ручной настройки провайдера:
184
+
185
+ ```json
186
+ {
187
+ "version": 1,
188
+ "model": "openrouter/openai/gpt-5",
189
+ "providers": {
190
+ "openrouter": {
191
+ "type": "openai",
192
+ "baseUrl": "https://openrouter.ai/api/v1",
193
+ "keyEnv": "OPENROUTER_API_KEY"
194
+ }
195
+ }
196
+ }
197
+ ```
198
+
199
+ Основные параметры: `model`, `effort`, `thinking`, `maxTokens`, `budget`, `diagnostics`, `updates`,
200
+ `theme`, `permissions`, `providers` и `mcp`. Секция `budget` задаёт лимиты запросов к модели, токенов,
201
+ примерной стоимости (если провайдер сообщает цены) и субагентов на одно сообщение.
202
+ `diagnostics.autoRun` включает проверки после правок, а `diagnostics.commands` позволяет заменить
203
+ автоопределение списком до восьми команд. Проверка обновлений через GitHub подготовлена, но по
204
+ умолчанию выключена: `updates.checkOnStart: false`; в таком состоянии сетевого запроса при старте
205
+ нет. Обычно редактировать конфиг вручную не требуется —
206
+ провайдер можно добавить при первом запуске или через `/login`.
207
+
208
+ После проверки проекта включите его локальный конфиг и skills командой:
209
+
210
+ ```sh
211
+ kitcode trust
212
+ ```
213
+
214
+ Команда `kitcode trust --revoke` снова оставит для проекта только глобальные настройки и skills.
215
+
216
+ ## MCP и skills
217
+
218
+ MCP поддерживает локальные `stdio`-серверы и удалённые HTTP-серверы. Ими можно управлять из TUI:
219
+
220
+ ```text
221
+ /mcp add docs https://mcp.example.com/mcp
222
+ /mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .
223
+ /mcp list
224
+ /mcp disable filesystem
225
+ /mcp enable filesystem
226
+ /mcp delete filesystem
227
+ ```
228
+
229
+ Серверы сохраняются в секции `mcp`:
230
+
231
+ ```json
232
+ {
233
+ "mcp": {
234
+ "github": {
235
+ "type": "stdio",
236
+ "command": "npx",
237
+ "args": ["-y", "@modelcontextprotocol/server-github"],
238
+ "env": {
239
+ "GITHUB_TOKEN": "${env:GITHUB_TOKEN}"
240
+ }
241
+ }
242
+ }
243
+ }
244
+ ```
245
+
246
+ Skill — это директория с файлом `SKILL.md`. Глобальные skills находятся в
247
+ `~/.kitcode/skills`, проектные — в `./.kitcode/skills`.
248
+
249
+ Во вложениях поддерживаются PNG, JPEG, GIF и WebP до 10 МБ, а также UTF-8 текст до 256 КБ.
250
+ Если вставить или перетащить отдельный путь к существующему файлу, он автоматически появится
251
+ чипом под полем ввода. Содержимое отправляется провайдеру только вместе со следующим сообщением.
252
+
253
+ ## Разработка
254
+
255
+ ```sh
256
+ npm run dev # запустить исходники через tsx
257
+ npm run build # собрать dist/index.js
258
+ npm run typecheck # проверить TypeScript
259
+ npm test # запустить тесты
260
+ ```
261
+
262
+ Основные директории:
263
+
264
+ ```text
265
+ src/app/ запуск приложения и runtime
266
+ src/core/ цикл агента, сессии и usage
267
+ src/providers/ Anthropic и OpenAI-совместимые адаптеры
268
+ src/tools/ файловые, shell и служебные инструменты
269
+ src/mcp/ MCP-клиент и адаптер инструментов
270
+ src/ui/ TUI на Ink
271
+ test/ тесты Vitest
272
+ ```
273
+
274
+ ## Лицензия
275
+
276
+ MIT