Skip to main content
Создавай кастомные slash-команды для автоматизации повторяющихся задач и расширения функциональности Harvi Code с помощью простых markdown файлов.

Обзор

Slash-команды позволяют создавать переиспользуемые промпты и workflow, которые можно вызвать мгновенно. Превращай сложные многошаговые процессы в одиночные команды, стандартизируй практики команды и автоматизируй повторяющиеся задачи с помощью простых markdown файлов. Ключевые преимущества:
  • Автоматизация workflow: Превращай сложные многошаговые процессы в одиночные команды
  • Стандартизация команды: Делись командами в команде для консистентных практик
  • Сохранение контекста: Включай специфичный для проекта контекст в каждую команду
  • Быстрый доступ: Нечёткий поиск и автодополнение для мгновенного обнаружения команд

Создание кастомных команд

Кастомные команды расширяют функциональность Harvi Code добавлением markdown файлов в специфичные директории:
  • Специфичные для проекта: .harvi/commands/ в корне workspace
  • Глобальные: ~/.harvi/commands/ в домашней директории
Имя файла становится именем команды. Например:
  • review.md/review
  • test-api.md/test-api
  • deploy-check.md/deploy-check

Базовый формат команды

Создай простую команду, добавив markdown файл:
# review.md
Пожалуйста, проверь этот код на:
- Проблемы производительности
- Уязвимости безопасности
- Нарушения стиля кода
- Потенциальные баги

Продвинутая команда с frontmatter

Добавь метаданные с помощью frontmatter для расширенной функциональности:
---
description: Комплексная проверка кода с фокусом на безопасность и производительность
argument-hint: <файл или директория для проверки>
---

## Проверка кода с приоритетом безопасности

Пожалуйста, выполни тщательную проверку безопасности выбранного кода:

1. **Аутентификация и авторизация**
   - Проверь правильность контроля доступа
   - Верифицируй валидацию токенов
   - Проверь проверки прав

2. **Валидация ввода**
   - Определи потенциальные точки инъекций
   - Проверь правильную санитизацию
   - Проверь валидацию типов данных

3. **Лучшие практики безопасности**
   - Ищи захардкоженные секреты
   - Проверь безопасную коммуникацию
   - Проверь обработку ошибок на утечку информации
Поля frontmatter:
  • description: Появляется в меню команд, помогая пользователям понять назначение команды
  • argument-hint: (Опционально) Подсказка об ожидаемых аргументах при использовании команды
  • mode: (Опционально) Slug режима для переключения перед выполнением команды (например, code, architect)

Управление командами

Создавай и поддерживай команды из настроек:
  1. Кликни на иконку шестерёнки в Harvi Code и открой Settings
  2. Перейди на вкладку Slash Commands
  3. Кликни “New Command”, назови её и выбери расположение (Project или Global)
  4. Файл команды откроется с шаблонным контентом

Использование slash-команд

Введи / в чате, чтобы открыть меню выбора команд. Используй иконку шестерёнки для открытия Settings > Slash Commands для создания и редактирования команд.
  1. Только выбор: Выбирай из существующих команд; создание и редактирование в Settings
  2. Автодополнение: Начни печатать для фильтрации команд (например, /sam покажет sample-command-name)
  3. Предпросмотр описания: Смотри описания команд в меню
  4. Приоритет команд: Команды проекта переопределяют глобальные команды с тем же именем

Подсказки аргументов

Подсказки аргументов предоставляют мгновенную помощь для slash-команд, показывая какую информацию нужно предоставить, когда команда ожидает дополнительный ввод. Когда ты вводишь / для вызова меню команд, команды, ожидающие аргументы, будут отображать светло-серую подсказку рядом с ними. Например:
  • /mode <mode_slug> - Подсказка <mode_slug> указывает, что нужно предоставить имя режима вроде code или debug
  • /api-endpoint <endpoint-name> <http-method> - Показывает, что нужны и имя endpoint, и HTTP метод
После выбора команды она будет вставлена в поле ввода чата с пробелом после. Подсказка не вставляется; это только визуальный гайд. Ты должен вручную ввести аргумент после команды.

Добавление подсказок аргументов в кастомные команды

Можешь добавить подсказки аргументов в свои кастомные команды, используя поле argument-hint в frontmatter:
---
description: Генерировать новый REST API endpoint с лучшими практиками
argument-hint: <endpoint-name> <http-method>
---
Это будет отображаться как /api-endpoint <endpoint-name> <http-method> в меню команд. Лучшие практики для подсказок аргументов:
  • Будь конкретным: Используй описательные плейсхолдеры вроде <file-path> вместо общих вроде <arg>
  • Показывай несколько аргументов: Если команде нужно несколько вводов, покажи их все: <source> <destination>
  • Используй консистентный формат: Всегда оборачивай плейсхолдеры в угловые скобки: <placeholder>
  • Будь кратким: Подсказки должны быть краткими и ясными

Примеры и сценарии использования

Команды с таргетингом по режимам

Используй поле mode для обеспечения выполнения команды в контексте конкретного режима:
---
description: Анализировать архитектуру и предлагать улучшения
mode: architect
---

Проверь текущую архитектуру системы и предложи улучшения для:
- Узких мест масштабируемости
- Связанности компонентов
- Границ безопасности
- Оптимизации потока данных
Когда ты запускаешь эту команду, Harvi Code сначала переключается в режим Architect, затем обрабатывает контент команды с определением роли и ограничениями инструментов Architect.

Workflow разработки

Генератор API Endpoint
---
description: Генерировать новый REST API endpoint с лучшими практиками
argument-hint: <endpoint-name> <http-method>
---

Создай новый REST API endpoint со следующими спецификациями:
- Правильная обработка ошибок
- Валидация ввода
- Middleware аутентификации
- OpenAPI документация
- Unit тесты
- Интеграционные тесты

Следуй конвенциям и паттернам API нашего проекта.
Помощник миграции базы данных
---
description: Создать миграцию базы данных с поддержкой отката
---

Сгенерируй миграцию базы данных, которая:
1. Включает миграции up и down
2. Имеет правильную обработку транзакций
3. Включает валидацию данных
4. Предоставляет ясные описания миграций
5. Следует нашим конвенциям именования

Не забудь проверить зависимые миграции и целостность данных.

Качество кода

Анализатор производительности
---
description: Анализировать код на узкие места производительности
---

Проанализируй выбранный код на проблемы производительности:
- Определи алгоритмы O(n²) или хуже
- Найди ненужные запросы к базе данных
- Обнаружь утечки памяти
- Предложи возможности кэширования
- Рекомендуй оптимизации async/await
- Проверь правильную очистку ресурсов
Ассистент рефакторинга
---
description: Предложить улучшения рефакторинга для более чистого кода
---

Проверь этот код и предложи улучшения рефакторинга:
- Извлеки повторяющийся код в функции
- Улучши имена переменных и функций
- Упрости сложные условия
- Примени принципы SOLID
- Уменьши связанность между компонентами
- Улучши тестируемость

Документация

Генератор README
---
description: Создать комплексный README для текущего проекта
---

Сгенерируй файл README.md, который включает:
1. Название и описание проекта
2. Инструкции по установке
3. Примеры использования
4. API документацию
5. Опции конфигурации
6. Руководство по внесению вклада
7. Информацию о лицензии

Основывайся на текущей структуре проекта и существующем коде.

Тестирование

Генератор тестов
---
description: Генерировать комплексные тестовые наборы
---

Создай тесты для выбранного кода:
1. Unit тесты для всех публичных методов
2. Тестирование крайних случаев
3. Тесты обработки ошибок
4. Мокирование внешних зависимостей
5. Бенчмарки производительности
6. Интеграционные тесты где применимо

Используй фреймворк тестирования и конвенции нашего проекта.

Лучшие практики

Именование команд:
  • Используй описательные, ориентированные на действие имена
  • Держи имена краткими, но ясными
  • Используй дефисы для многословных команд
  • Избегай общих имён вроде help или test
  • Имена автоматически преобразуются в slug (нижний регистр, удаляются спецсимволы)
Контент команд:
  • Начинай с ясной директивы
  • Используй структурированные форматы (списки, секции)
  • Включай конкретные требования
  • Ссылайся на конвенции проекта
  • Держи команды сфокусированными на одной задаче
Организация:
  • Группируй связанные команды в поддиректориях
  • Используй консистентные паттерны именования
  • Документируй сложные команды
  • Храни команды под контролем версий
  • Делись командами команды в репозитории проекта

Встроенные команды

Harvi Code включает мощную встроенную команду /init, которая анализирует твою кодовую базу и создаёт специализированные конфигурационные файлы для AI ассистента. Команда /init:
  • Выполняет многофазный анализ проекта
  • Определяет тип проекта, фреймворки и зависимости
  • Создаёт файлы AGENTS.md для разных режимов
  • Генерирует детальные правила для режимов AI ассистента
  • Создаёт комплексные todo списки для инициализации проекта
Просто введи /init в чате для анализа кодовой базы и настройки конфигурационных файлов AI ассистента, адаптированных под твой проект.

Решение проблем

Команды не появляются:
  • Проверь расположение файла: кастомные команды должны быть в .harvi/commands/ или ~/.harvi/commands/
  • Проверь расширение файла: кастомные команды должны быть .md файлами
  • Перезагрузи окно: Иногда VS Code нужно перезагрузить для обнаружения новых файлов команд
Команда не найдена: Когда slash-команда не найдена, LLM увидит сообщение об ошибке, указывающее где команды должны находиться. Конфликты команд:
  • Команды проекта (.harvi/commands/) переопределяют глобальные команды (~/.harvi/commands/) с тем же именем
  • Встроенные команды не могут быть переопределены
  • При создании дублирующих имён через UI добавляются номера (например, new-command-1, new-command-2)
Используй slash-команды для автоматизации повторяющихся задач и стандартизации workflow!