Skip to main content
Glama

Claude Code と Codex CLI のセットアップは複数のマシンにまたがって存在します — Windows、古い Linux ノート、Mac。bottari はそれらを同期させます: スキル、設定、セッション履歴、プロジェクトフォルダを あなた自身の Google Drive 上の暗号化バンドルにまとめ、すべてのマシンがそれに同期します。暗号化されたデータだけがコンピュータから送信されます。

  • ユニオンマージ、削除なし。 どちらかに存在するものは常に保持されます。同じファイルが2台のマシンで変更された場合のみ確認が求められます。

  • バージョン履歴。 各同期が世代となり、bottari restore で以前の状態を復元できます。

  • エンドツーエンド暗号化。 クラウドには平文ファイルが1つだけ置かれます(暗号化パラメータとラップされたキー)。パスワードを忘れると入る方法はありません — バックドアは存在しません。

  • 依存関係ゼロ。 Node.js 20+ のみで、他には何も必要ありません。

ステータス: 0.1.0。 Windows、Linux、macOS で日常的に使用中。初期段階 — 荒削りな部分があることを想定し、失うと困るものを預ける前に SECURITY.md をお読みください。

インストール

Node.js 20 以降 と Google アカウント が必要です。node -v で Node を確認してください。ない場合や古い場合は、先にインストールしてください(OS 別の手順は以下)。

Windows

# 1) Node — skip if `node -v` already prints v20+
winget install OpenJS.NodeJS.LTS

# 2) get bottari (pick one)
git clone https://github.com/dostevskii/bottari.git
#   or: download the ZIP from the green "Code" button and unzip it
cd bottari
npm link          # makes `bottari` available everywhere (optional)

macOS

# 1) Node — skip if `node -v` already prints v20+
#    with Homebrew:
brew install node
#    or download the LTS .pkg from https://nodejs.org

# 2) get bottari
git clone https://github.com/dostevskii/bottari.git
cd bottari
npm link          # optional; or run `node bin/bottari.mjs` directly

Linux

# 1) Node 20+ — use your distro (examples)
#    Arch:   sudo pacman -S nodejs npm
#    Debian/Ubuntu: sudo apt install nodejs npm   (check: node -v ≥ v20)
#    Fedora: sudo dnf install nodejs
# 2) get bottari
git clone https://github.com/dostevskii/bottari.git
cd bottari
# A desktop keyring (gnome-keyring + libsecret) is recommended so the
# sign-in is stored securely; without one, bottari falls back to a 0600
# file and warns.

Related MCP server: Ultimate Google Docs & Drive MCP Server

初回実行

最も多くのデータがあるマシン(通常はメインのマシン)で、以下を実行します:

bottari init --remember-key
  • ブラウザで Google にサインインし、パスワードの設定を求められます。

  • このパスワードを覚えておいてください。 バンドル全体をロックするもので、復元できません。

  • --remember-key はキーを OS の資格情報ストアに保存し、再度の入力を求められないようにします — また、Claude Desktop 拡張機能がパスワードなしで動作できるようにします。

他のすべてのマシンでは、同じコマンドを実行します: bottari がバンドルをダウンロードし、そのマシンとマージして(各マシン固有のものはすべて保持)、結果をアップロードします。

その後は、日常的に次のコマンドだけです:

bottari sync

コマンド

bottari sync

同期(プレビューは --dry-run)

bottari status

何がアップロード/ダウンロードされるかを表示(変更は行わない)

bottari restore --generation N

ファイルを以前のバージョンに復元

bottari generations

クラウド内のバージョンを一覧表示

bottari doctor

環境とストアを診断

bottari prune --keep N

古い世代から領域を解放

bottari projects add <path>

プロジェクトフォルダを同期に追加

bottari tools capture / show

インストール済みツールの記録と比較

bottari secrets set <name>

設定から分離されたシークレットを入力

bottari secrets sync --enable

MCP トークンもバンドルに含める(デフォルトはオフ — SECURITY.md を参照)

bottari login / logout

Google Drive にサインイン / サインアウト

Claude Desktop (MCP)

bottari には MCP サーバーが同梱されており、Claude がデスクトップアプリから操作できます。

  1. バンドルをビルド: node scripts/build-mcpb.mjs → dist/bottari.mcpb

  2. Claude Desktop → 設定 → 拡張機能 → bottari.mcpb をドラッグ。

ターミナルで bottari sync --remember-key を一度実行して(キーが保存される)、Claude に 「check my bottari status」 や 「sync bottari」 と頼むだけです。競合はリストとして返されるので、選択すると次の同期で適用されます。

同期されるもの

例

方法

assets

スキル、CLAUDE.md、AGENTS.md、フック

そのまま

settings

settings.json、config.toml、MCP サーバー

マシンに依存しない形式のみ。パスはプレースホルダーになり、シークレットは OS の資格情報ストアに移動

session history

会話 .jsonl

8 MB チャンク、追記は自動マージ

projects

登録したフォルダ

名前で共有、パスはマシンごと

資格情報ファイル(.credentials.json、auth.json など)はマシンの外に出ることはなく、フェイルクローズのスキャンがアップロード前に資格情報らしきコンテンツをブロックします。再生成可能なフォルダ(node_modules、dist など)とキャッシュは除外されます。

Google アカウント

ビルドには drive.file にスコープされた OAuth クライアントが埋め込まれています — このアプリが作成したファイルのみを参照し、Drive の他の部分にはアクセスしません。どの Google アカウントでもサインインできます。このアプリは Google の検証(drive.file では不要)を通過していないため、ブラウザに「未検証のアプリ」の通知が一度表示されます。詳細 → 続行 で進めます。

他のインストール型アプリと同様、埋め込まれたクライアントは秘密ではありません(RFC 8252 §8.5)— これは bottari を識別するもので、あなたを識別するものではありません。フォークして再配布する場合は、独自のクライアントを登録し、BOTTARI_CLIENT_ID / BOTTARI_CLIENT_SECRET を設定してください。

セキュリティ

設計と脅威モデル: SECURITY.md。同期モデル自体は docs/SYNC-MODEL.md で定義されています。

ライセンス

GPL-3.0-only · Copyright (C) 2026 JUNG HWANGBO <dostevskii@gmail.com>

Related MCP Connectors

Related MCP Servers