Skip to main content
Пользовательские инструкции позволяют настроить поведение Harvi Code — задать стиль кодирования, правила документации, требования к тестам и другие предпочтения.

Где хранятся инструкции

Инструкции можно задать на трёх уровнях:

Глобальные правила

Применяются ко всем проектам автоматически. Расположение:
  • macOS/Linux: ~/.harvi/rules/ и ~/.harvi/rules-{режим}/
  • Windows: %USERPROFILE%\.harvi\rules\ и %USERPROFILE%\.harvi\rules-{режим}\

Правила workspace

Применяются только к текущему проекту и имеют приоритет над глобальными. Основной способ — папка .harvi/rules/:
.
├── .harvi/
│   └── rules/              # правила для всего workspace
│       ├── 01-general.md
│       └── 02-style.txt
└── ...
Запасной способ — файл .harvirules:
.
├── .harvirules             # один файл с правилами
└── ...

Правила для конкретного режима

Применяются только в определённом режиме (например, code). Основной способ — папка .harvi/rules-{режим}/:
.
├── .harvi/
│   └── rules-code/         # правила только для режима code
│       ├── 01-js-style.md
│       └── 02-ts-style.md
└── ...
Запасной способ — файл .harvirules-{режим}:
.
├── .harvirules-code        # правила для режима code
└── ...

Порядок загрузки

Правила загружаются в таком порядке:
  1. Глобальные правила (из ~/.harvi/)
  2. Правила workspace (из .harvi/) — перекрывают глобальные при конфликте
  3. Устаревшие файлы (.harvirules) — используются только если нет папок с правилами
Внутри каждого уровня сначала загружаются правила для конкретного режима, потом общие.

Примеры инструкций

Вот что можно указать в правилах:
# Стандарты кодирования

1. Всегда использовать TypeScript для новых проектов
2. Писать unit-тесты для всех новых функций
3. Использовать понятные имена переменных
4. Добавлять JSDoc комментарии для публичных API
Другие примеры:
  • “Использовать 4 пробела для отступов”
  • “Имена переменных в camelCase”
  • “Объяснять логику перед написанием кода”
  • “Фокус на читаемости и поддерживаемости кода”
  • “При добавлении функций на сайт делать их адаптивными”

Настройка глобальных правил

Создание папки с правилами

# macOS/Linux
mkdir -p ~/.harvi/rules

# Windows
mkdir %USERPROFILE%\.harvi\rules

Добавление общих правил

Создай файл ~/.harvi/rules/coding-standards.md:
# Глобальные стандарты кодирования

1. Всегда использовать TypeScript
2. Писать тесты для новых функций
3. Использовать понятные имена переменных

Добавление правил для режима

Создай файл ~/.harvi/rules-code/typescript-rules.md:
# Правила TypeScript для режима Code

1. Использовать strict mode в tsconfig.json
2. Предпочитать interfaces вместо type для объектов
3. Всегда указывать типы возвращаемых значений

Доступные папки правил

ПапкаНазначение
rules/Общие правила для всех режимов
rules-code/Правила для режима Code
rules-architect/Правила для архитектурных задач
rules-debug/Правила для отладки
rules-{режим}/Правила для любого кастомного режима

Особенности работы с файлами правил

  • Рекурсивное чтение: Папки читаются рекурсивно, включая подпапки
  • Фильтрация: Автоматически исключаются временные файлы (.DS_Store, *.bak, *.cache, *.log, *.tmp)
  • Пустые файлы: Игнорируются автоматически
  • Сортировка: Файлы сортируются по имени (без учёта регистра)
  • Символические ссылки: Поддерживаются полностью (максимальная глубина 5)

Поддержка AGENTS.md

Harvi Code также поддерживает загрузку правил из файла AGENTS.md (или AGENT.md) в корне workspace:
  • Назначение: Правила и рекомендации для поведения AI агента
  • Расположение: Корень workspace
  • Загрузка: Автоматически по умолчанию
  • Отключение: Установи "harvi-code.useAgentRules": false в настройках VSCode
  • Приоритет: Загружается после правил режима и .harviignore, но перед общими правилами
  • Символические ссылки: Поддерживаются
Это удобно для командной работы — правила можно хранить в системе контроля версий вместе с кодом проекта.

Совет для команд

Стандарты проекта: Используй папку .harvi/rules/ под контролем версий для стандартизации работы Harvi Code в проекте. Стандарты организации: Используй глобальные правила (~/.harvi/rules/) для общих стандартов кодирования во всех проектах. Гибридный подход: Комбинируй глобальные правила для общих стандартов с правилами workspace для специфичных требований проекта. Папки с правилами удобнее одиночных файлов .harvirules и поддерживают как глобальную, так и проектную кастомизацию.