複数のMac間でClaude Code CLIの設定を共有するためのリポジトリです。
- 複数Mac間での設定共有: 別のMacでも同じClaude Code環境をすぐに構築できます
- 権限設定の自動化: 危険なコマンド(
rm -rf /、git push --force等)を自動的にブロックします - ブラウザ操作機能: MCP Puppeteerにより、Claudeがブラウザを操作できるようになります
- AI指示の統一: コミットメッセージ形式や開発方針をClaude Code全体で統一できます
以下のソフトウェアが必要です。未インストールの場合は先にインストールしてください。
- Claude Code CLI - このリポジトリの設定を適用するために必要です
- インストール: 公式ガイド
- 確認方法:
claude --version
- Node.js / npm - MCP Puppeteerのインストールに必要です
- インストール: 公式サイト
- 確認方法:
npm --version
既に~/.claudeディレクトリが存在する場合、上書きされてしまうため先にバックアップします。
# ~/.claudeが存在する場合のみ実行してください
if [ -d ~/.claude ]; then
mv ~/.claude ~/.claude_$(date +"%Y%m%d%H%M%S")
echo "既存の~/.claudeをバックアップしました"
fiこのリポジトリを~/.claudeにクローンします。
git clone git@github.com:mg1986jp/claude-sync.git ~/.claude
cd ~/.claude結果: ~/.claudeに設定ファイル(settings.json、CLAUDE.md等)が配置されます。
init.shを実行して、追加機能をインストールします。
bash init.sh実行される内容:
- claude-code-ui のインストール - Claude Codeの操作UIツール(未インストールの場合のみ)
- MCP Puppeteerの設定 - ブラウザ操作機能の有効化(Claude Code CLIとnpmが両方インストールされている場合のみ)
スキップされる場合:
- Claude Code CLIが未インストール → MCP Puppeteer設定がスキップされます
- 対処方法: Claude Code CLIをインストール後、再度
bash init.shを実行してください
- 対処方法: Claude Code CLIをインストール後、再度
- npmが未インストール → claude-code-ui とMCP Puppeteer設定がスキップされます
- 対処方法: Node.js/npmをインストール後、再度
bash init.shを実行してください
- 対処方法: Node.js/npmをインストール後、再度
Claude Codeを起動して設定が反映されているか確認します。
claude確認ポイント:
- 画面右下に
[U]と表示される → User設定(このリポジトリの設定)が読み込まれています - 危険なコマンドがブロックされるか試す(例:
rm -rf /tmp/test)→ 拒否されれば成功
MCP Puppeteerの確認:
claude
/mcp期待される表示:
1 server
❯ 1. puppeteer ✔ connected
puppeteer ✔ connectedと表示されればブラウザ操作機能が使えます。
- settings.json - 権限設定とstatusLine設定(全プロジェクトで有効)
- CLAUDE.md - Claudeへの指示(開発方針、Git規約等)
- init.sh - claude-code-ui とMCP Puppeteerのセットアップスクリプト
- scripts/status-line.sh - statusLine表示用スクリプト
- .gitignore - 個人データ(セッション履歴等)を除外
このリポジトリは~/.claude/settings.json(User設定)として機能します。これにより、全てのプロジェクトで共通の設定が自動的に適用されます。プロジェクト毎に.claude/settings.jsonを作成・管理する手間を省くことができます。
Claude Codeは複数の設定ファイルを優先順位に従って読み込みます。
優先度(高) 1. .claude/settings.local.json - プロジェクト固有、個人用
2. .claude/settings.json - プロジェクト固有、チーム共有
優先度(低) 3. ~/.claude/settings.json - 全プロジェクト共通(このリポジトリの設定)
このリポジトリの利点: プロジェクト内に設定ファイルを作らなくても、全てのプロジェクトで同じ権限設定・AI指示が自動適用されます。特定のプロジェクトだけカスタマイズしたい場合のみ、プロジェクト設定を追加すればOKです。
statusLineで確認可能: 画面右下に表示される設定スコープで、どの設定が有効か確認できます。
[U]- User設定のみ(このリポジトリの設定)[P]- Project設定あり[L]- Local設定あり[PL]- Project + Local 両方あり
Claudeの作業を長時間監視できない場合、確認プロンプトを完全に無効化できます。
方法: ~/.claude/settings.jsonのpermissions.allowからAskUserQuestionを削除
{
"permissions": {
"allow": [
"Bash",
"Read(//**)",
// ... 他の設定 ...
// "AskUserQuestion" ← この行を削除またはコメントアウト
]
}
}影響: Claudeが確認なしで作業を進めます。予期しない変更が発生する可能性があるため、信頼できるタスクのみで使用してください。
現在ブロックされるコマンド:
rm -rf /,rm -rf ~- ファイルシステムの破壊dd if=/dev/zero- ディスクの破壊shutdown,reboot- システム停止git push --force- Git強制push
変更方法: ~/.claude/settings.jsonのpermissions.denyを編集してください。
確認方法:
claude
/mcp対処方法:
- Claude Code CLIとnpmが両方インストールされているか確認
bash init.shを再実行- 新しいClaude Codeセッションを起動(
claude -rではなくclaude)
確認方法: 画面右下のstatusLineで[U]が表示されているか確認
対処方法:
- プロジェクト内に
.claude/settings.jsonや.claude/settings.local.jsonがある場合、そちらが優先されます - プロジェクト固有の設定を削除するか、このリポジトリの設定をプロジェクト設定にコピーしてください
同じ手順で~/.claudeにクローンしてbash init.shを実行するだけで、同じ環境が構築されます。
# 既存設定のバックアップ
if [ -d ~/.claude ]; then
mv ~/.claude ~/.claude_$(date +"%Y%m%d%H%M%S")
fi
# クローンとセットアップ
git clone git@github.com:mg1986jp/claude-sync.git ~/.claude
cd ~/.claude
bash init.sh