# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

SYNC HANDLER
------------

ОПИСАНИЕ
------------
Синхронизирует содержимое файловой системы с базой данных BACH. Читает навыки и
Инструменты из файлов (Markdown, Text, Python) и соответственно обновляет/создает
Записи базы данных. Сравнивает изменения с использованием хеширования SHA256.

ОПЕРАЦИИ
-----------
навыки Загрузка содержимого файлов навыков в БД
инструменты Загрузить содержимое файлов инструментов в БД
все Синхронизировать оба (навыки + инструменты)
status Показать статус синхронизации, выделить измененные файлы

ОПЦИИ
--------
--dry-run Только показывать изменения, но не выполнять их
--force Игнорировать сравнение хешей, перезагрузить все

ПРИМЕРЫ
---------
bach --sync skills
    Синхронизирует все навыки из навыков/ в базу данных.
    Находит: файлы .md, .txt, .py (рекурсивно).
    Пропускает: файлы с _ или . в начале (кроме .py).

bach --sync tools
    Синхронизирует все инструменты Python из Tools/ с базой данных.
    Находит: файлы *.py (рекурсивно).
    Пропускает: файлы с _ или . в начале.

bach --sync all --dry-run
    Показывает запланированные изменения, не выполняя их.

bach --sync status
    Проверяет изменения: сравнивает хэши файлов с хэшами БД.
    Отчеты: [ИЗМЕНЕНО], [ОТСУТСТВУЕТ], [НОВОЕ], [ОК].

bach --sync all --force
    Принудительно перезагружает все файлы (игнорирует сравнение хешей).

ФАЙЛЫ
-------
skills/Источник файлов навыков (.md, .txt, .py)
инструменты/Источник файлов инструментов Python (.py)
data/bach.db Целевая база данных
                        Таблицы: навыки, инструменты
                        Столбцы: имя, путь, content_hash, описание, ...

СМОТРИ ТАКЖЕ
----------
docs/help/ Дополнительная документация по обработчику
реализация Hub/sync.py (исходный код)
