Перейти к основному содержимому
Версия: Future

Командная работа с Git

Git переносит память между компьютерами и сохраняет историю изменений. Engram является Git-ориентированным инструментом: память хранится в виде простого Markdown, поэтому применяется обычный рабочий процесс Git.

Память рабочего пространства как субмодуль

Если человек хочет, чтобы каталог .agents/.engram отслеживался как отдельный репозиторий:

engram inject --submodule
engram inject --submodule-remote <git-url>

Engram проверяет URL, инициализирует субмодуль на ветке main и создает первый коммит субмодуля с сообщением Initialize engram.

Общий глобальный репозиторий Git

Если engram entry не показывает global_git_detected.remote_url, спросите человека, следует ли делиться глобальной памятью через Git. Если они предоставляют URL:

engram inject --global-remote <git-url>

Настройте поведение синхронизации с помощью полей global_git.*:

  • global_git.enabled — включает функции Git для глобальной памяти
  • global_git.remote — имя удаленного репозитория (по умолчанию origin)
  • global_git.remote_url — URL удаленного репозитория общей глобальной памяти
  • global_git.branch — целевая ветка (по умолчанию main)
  • global_git.auto_sync — поведение автоматического pull/push
  • global_git.auto_resolve — автоматическая обработка конфликтов
warning

Автоматическое разрешение конфликтов может скрыть разницу (diffs) в памяти. Изучайте разницу в памяти перед тем, как полагаться на global_git.auto_resolve.

Процесс проверки (Review workflow)

  1. Агент предлагает кандидатов для сохранения в памяти.
  2. Человек одобряет предложение через шлюз A/B/C (в терминале) или yes/audit/cancel (в чате).
  3. Engram записывает утвержденный Markdown и обновляет хэши, индекс, граф и журнал изменений.
  4. Вы фиксируете коммит и отправляете (push) изменения памяти через Git.
  5. Коллеги по команде затягивают (pull) изменения и запускают engram upgrade для сверки.

Следующие шаги