Перейти к содержимому
FRGEPLAN

forgeplan watch

Запускает демон-наблюдатель за файлами, который отслеживает .forgeplan/**/*.md и переиндексирует любой артефакт, изменяющийся на диске. Идеально подходит для интерактивных сессий, когда вы переключаетесь между редактором Markdown и CLI - изменения становятся доступными для поиска немедленно без ручных вызовов reindex.

forgeplan watch
-h, --help Вывести справку
-V, --version Вывести версию
  1. Открывает рекурсивный наблюдатель файловой системы, укоренённый в .forgeplan/.
  2. При каждом событии CREATE/MODIFY/DELETE для файла .md в отслеживаемых директориях артефактов планирует отложенный повторный парсинг.
  3. Повторно парсит изменённый файл, обновляет LanceDB на месте, пересчитывает производные поля (теги, ссылки, оценки).
  4. Регистрирует каждое событие синхронизации в stdout, чтобы вы могли видеть, что было обнаружено.
  5. Работает до тех пор, пока вы не отправите Ctrl-C (SIGINT) - затем корректно завершает работу.

Дебонсинг объединяет быстро следующие друг за другом события (например, когда редактор записывает временный файл, а затем переименовывает его в целевой), так что одно сохранение = одно обновление индекса.

  • Интерактивные сессии написания - вы составляете PRD в VS Code и хотите, чтобы forgeplan list / forgeplan search отражали каждое сохранение.
  • Совместная работа с ИИ-агентами - агент редактирует Markdown, наблюдатель отправляет изменения в LanceDB, следующий вызов search видит обновление без полного цикла переиндексации.
  • Массовая реорганизация - перемещение/переименование артефактов в файловом менеджере с желанием, чтобы индекс отслеживал эти изменения.
  • Пакетный импорт - предпочтительнее использовать reindex или scan-import для однократного приёма данных.
  • CI / скриптовые рабочие процессы - однократный reindex проще и детерминированнее.
  • После git pull - используйте git-sync, который точно знает, что изменилось на основе git diff.
Окно терминала
# Запустите наблюдатель в одном терминале
$ forgeplan watch
[watch] observing .forgeplan/ (Ctrl-C to stop)
[watch] synced prds/prd-001-auth.md (1 artifact)
[watch] synced evidence/evid-042-benchmark.md (1 artifact)
# В другом терминале отредактируйте и сохраните - демон подхватит изменения
$ vim .forgeplan/prds/prd-001-auth.md
$ forgeplan search "auth" # немедленно видит новое содержимое

Остановите с помощью Ctrl-C:

^C
[watch] shutting down, flushing pending syncs
  • Вручную - запустите forgeplan reindex после серии изменений. Проще, если вы сохраняете изменения лишь изредка.
  • После pull - forgeplan git-sync сравнивает с ORIG_HEAD и переиндексирует только те файлы, которые были затронуты слиянием/pull.
  • Не является фоновой службой - работает на переднем плане, поэтому используйте его с tmux, панелью терминала или управлением заданиями вашей оболочки, если хотите, чтобы он был постоянным.
  • Нет поддержки удалённых файловых систем - опирается на inotify/FSEvents/kqueue (все нативные ОС-наблюдатели), поэтому сетевые монтирования могут пропускать события.
  • Одно рабочее пространство - запускайте один watch для каждого корневого каталога .forgeplan/.