Команды GigaCode CLI

Общая схема команд

В CLI используются три основных типа команд:

ПрефиксНазначениеКогда использовать
/Управление сессией, настройками и поведением агентаСменить режим, посмотреть статистику, открыть помощь
@Добавление файлов и директорий в контекст диалогаПопросить агента проанализировать конкретный файл или папку
!Выполнение shell-команд прямо из CLIПосмотреть git status, список файлов, diff и т.д.

Слэш-команды /

Слэш-команды управляют самой CLI-сессией: контекстом, режимами, настройками и встроенными сценариями.

Управление сессией и проектом

КомандаОписаниеПример
/initАнализирует текущую директорию и создает начальный контекст проекта/init
/summaryГенерирует summary проекта по истории диалога/summary
/compressСжимает историю чата в summary для экономии токенов/compress
/resumeВозвращает предыдущую сессию/resume
/recapПоказывает краткое напоминание по текущей сессии/recap
/restoreВосстанавливает файлы к состоянию до выполнения инструментов/restore или /restore <ID>

Интерфейс и рабочее пространство

КомандаОписаниеПример
/clearОчищает экран терминала/clear
/contextПоказывает использование окна контекста/context
/context detailПоказывает детализацию контекста по элементам/context detail
/themeМеняет тему оформления CLI/theme
/vimВключает или выключает Vim-режим ввода/vim
/directoryУправляет multi-directory workspace/dir add ./src,./tests
/editorОткрывает выбор поддерживаемого редактора/editor

Язык интерфейса и ответов

КомандаОписаниеПример
/languageПоказывает или меняет языковые настройки/language
/language ui <language>Меняет язык интерфейса/language ui ru-RU
/language output <language>Меняет язык ответов модели/language output Russian

Поддерживаемые встроенные UI-языки на странице-источнике:

  • en-US;
  • ru-RU.

Инструменты, модели и режимы

КомандаОписаниеПример
/mcpПоказывает настроенные MCP-серверы и инструменты/mcp, /mcp desc
/toolsПоказывает доступные инструменты текущей сессии/tools, /tools desc
/skillsПоказывает и запускает доступные skills/skills, /skills <name>
/planВключает plan mode или выходит из него/plan, /plan <task>, /plan exit
/approval-modeМеняет режим подтверждений для использования инструментов/approval-mode <mode> --project
/modelПереключает модель текущей сессии/model
/extensionsПоказывает активные extensions/extensions
/memoryОткрывает менеджер памяти/memory

Режимы для /approval-mode, перечисленные в источнике:

РежимСмысл
planТолько анализ, без выполнения
defaultПодтверждение требуется для правок
auto-editПравки подтверждаются автоматически

Side Question: /btw

/btw позволяет задать быстрый боковой вопрос, не ломая основной поток работы.

КомандаОписание
/btw <вопрос>Задать быстрый side question

Особенности поведения:

  • вопрос отправляется отдельным API-вызовом;
  • используется недавний контекст беседы, до 20 последних сообщений;
  • ответ показывается над Composer, пока основной диалог остается активным;
  • ответ не добавляется в основную историю разговора;
  • поддерживается полноценный Markdown.

Горячие клавиши в интерактивном режиме:

СочетаниеДействие
EscapeОтмена во время загрузки или скрытие готового ответа
Space / EnterСкрыть ответ, если поле ввода пустое
Ctrl+C / Ctrl+DОтменить выполняющийся side question

Режимы выполнения:

РежимПоведение
InteractiveОтвет показывается над Composer с Markdown-рендерингом
Non-interactiveВозвращается текст в формате btw> question\nanswer
ACPВозвращается stream_messages async generator

Информация, настройки и помощь

КомандаОписаниеПример
/helpПоказывает помощь по доступным командам/help или /?
/aboutПоказывает информацию о версии/about
/statsПоказывает статистику текущей сессии/stats
/settingsОткрывает редактор настроек/settings
/authМеняет способ аутентификации/auth
/bugОтправляет сообщение о проблеме/bug Button click unresponsive
/copyКопирует последний ответ в буфер обмена/copy
/quitНемедленно завершает работу CLI/quit или /exit

Частые shortcuts

ShortcutДействиеПримечание
Ctrl/cmd+LОчистить экранАналог /clear
Ctrl/cmd+TПереключить описание инструментовУдобно для MCP/tool management
Ctrl/cmd+C x2Подтвержденный выходЗащита от случайного завершения
Ctrl/cmd+ZUndo вводаРедактирование текста
Ctrl/cmd+Shift+ZRedo вводаРедактирование текста
Ctrl/cmd+JПеренос строкиРедактирование текста

Команды @

@-команды позволяют быстро добавить локальные файлы и директории в контекст диалога.

ФорматОписаниеПример
@<path-to-file>Вставляет содержимое файла в контекст@src/main.py Explain this code
@<path-to-directory>Рекурсивно читает текстовые файлы в директории@docs/ Summarize this folder
@Используется как обычный символ, если обсуждается сам знак @@ What is this symbol used for in programming?

Примечание:

  • если в пути есть пробелы, их нужно экранировать, например @My\ Documents/file.txt.

Команды !

!-команды запускают shell-команды прямо из CLI.

ФорматОписаниеПример
!<shell command>Выполняет команду в под-shell!ls -la, !git status
!Переключает CLI в shell-режим! → ввести команды → ! для выхода

Кастомные команды

Кастомные команды позволяют сохранять часто используемые промпты как shortcut-команды.

Общая идея

ВозможностьОписание
Namespace через подпапкиПозволяет получать команды с именами через :
Глобальные командыХранятся в ~/.gigacode/commands/ и доступны во всех проектах
Проектные командыХранятся в <project>/.gigacode/commands/ и version-controlятся вместе с проектом

Приоритет:

  • проектные команды имеют приоритет над пользовательскими, если имена совпадают.

Правила именования

Расположение файлаКакой командой станетПример вызова
~/.gigacode/commands/test.md/test/test Parameter
<project>/.gigacode/commands/git/commit.md/git:commit/git:commit Message

Правило преобразования:

  • разделители пути / и \ превращаются в :.

Рекомендуемый формат: Markdown

Кастомные команды рекомендуется оформлять как Markdown-файлы с опциональным YAML frontmatter:

---
description: Optional description (displayed in /help)
---
 
Your prompt content here.
Use {{args}} for parameter injection.
ПолеОбязательностьОписание
descriptionНетОписание команды, показывается в /help
Тело MarkdownДаПромпт, отправляемый модели

Обработка параметров

МеханизмСинтаксисКогда полезенОсобенность
Context-aware injection{{args}}Нужен точный контроль над параметрамиАвтоматическое shell-экранирование
Default parameter processingБез специальной разметкиПростые командыПараметры просто дописываются в конец
Shell command injection!{command}Нужно подставить динамический результатТребуется подтверждение перед выполнением
File content injection@{path}Нужно встроить содержимое файлаПолезно для стандартов, шаблонов и reference-файлов

{{args}}

СценарийПримерРезультат
Прямая подстановкаFix: {{args}}Аргументы вставляются в нужное место
Использование внутри shellSearch: !{grep {{args}} .}Аргументы автоматически экранируются

Поведение по умолчанию

СитуацияЧто происходит
Команда вызвана с параметрамиПараметры добавляются в конец промпта через два перевода строки
Команда вызвана без параметровОтправляется только исходный промпт

Порядок динамических подстановок:

  1. @{file path}.
  2. !{command}.
  3. {{args}}.

!{...}: выполнение shell внутри кастомной команды

Порядок работы:

  1. Команда и параметры разбираются.
  2. Параметры автоматически экранируются.
  3. Пользователю показывается подтверждение на выполнение.
  4. Команда выполняется.
  5. Результат подставляется в промпт.

Пример:

---
description: Generate Commit message based on staged changes
---
 
Please generate a Commit message based on the following diff:
 
```diff
!{git diff --staged}
```

@{...}: подстановка файлов

Тип файлаСтатус поддержкиКак обрабатывается
Текстовые файлыПолная поддержкаСодержимое вставляется напрямую
Изображения / PDFПоддерживаетсяКодируются и добавляются в контекст
Бинарные файлыОграниченноМогут быть пропущены или урезаны
ДиректорииПоддерживаетсяЧтение рекурсивно, с учетом .gitignore

Пример:

---
description: Code review based on best practices
---
 
Review {{args}}, reference standards:
 
@{docs/code-standards.md}

Практический пример

Пример создания команды «refactor pure function»:

ШагДействие
1mkdir -p ~/.gigacode/commands/refactor
2touch ~/.gigacode/commands/refactor/pure.md
3Заполнить файл содержимым команды
4Проверить на файле через @file.js → /refactor:pure

Шаблон содержимого:

---
description: Refactor code to pure function
---
 
Please analyze code in current context, refactor to pure function.
Requirements:
1. Provide refactored code
2. Explain key changes and pure function characteristic implementation
3. Maintain function unchanged

Практики и безопасность

Рекомендации по проектированию команд:

ПрактикаРекомендуетсяНе рекомендуется
NamingИспользовать namespace-структуруДавать слишком общие имена
ParametersЯвно использовать {{args}}Полагаться на неявное дописывание
ErrorsУчитывать stderr и ошибки shellИгнорировать провалы выполнения
OrganizationГруппировать команды по папкамСкладывать все команды в корень
DescriptionВсегда заполнять descriptionОставлять команду без пояснения

Механизмы безопасности:

МеханизмЧто защищает
Shell escapingСнижает риск command injection
Execution confirmationЗащищает от случайного запуска shell-команд
Error reportingПомогает понять причину сбоя