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

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

説明
------------
ファイル システムの内容を BACH データベースと同期します。スキルを読んだり、
ファイルからのツール (Markdown、Text、Python) およびそれに応じた更新/作成
データベースのエントリ。 SHA256 ハッシュを使用して変更を比較します。

OPERATIONS
-----------
スキル ファイルのスキル内容を DB にロードします
tools ツールのファイルの内容を DB にロードします
all 両方 (スキル + ツール) を同期します
status 同期ステータスを表示し、変更されたファイルを強調表示

オプション
--------
--dry-run 変更のみを表示し、実行はしません
--force ハッシュ比較を無視し、すべてをリロードします

例
---------
bach --sync skills
    Skills/ のすべてのスキルをデータベースに同期します。
    検索: .md、.txt、.py ファイル (再帰的)。
    スキップ: _ または . が付いているファイル(.py を除く) 先頭に。

bach --sync tools
    tools/ のすべての Python ツールをデータベースに同期します。
    検索: *.py ファイル (再帰的)。
    スキップ: _ または . が付いているファイル初めに。

bach --sync all --dry-run
    計画された変更を実行せずに表示します。

bach --sync status
    変更をチェックします: ファイルのハッシュと DB のハッシュを比較します。
    レポート: [変更済み]、[欠落]、[新規]、[OK]。

bach --sync all --force
    すべてのファイルを強制的にリロードします (ハッシュ比較は無視します)。

FILES
-------
skills/ スキル ファイルのソース (.md、.txt、.py)
tools/ツール Python ファイルのソース (.py)
data/bach.db ターゲットデータベース
                        表: スキル、ツール
                        列: 名前、パス、content_hash、説明、...

関連項目
----------
docs/help/ その他のハンドラー ドキュメント
Hub/sync.py 実装 (ソース コード)
