2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code と Codex Agent の設定を dotfiles で管理する

Last updated at Posted at 2025-12-25

はじめに

Claude Code や Codex Agent を使い始めると、設定ファイルや MCP サーバーの管理が煩雑になってきます。

【個人で】

  • PC複数持ってる
  • 1台1台設定するのが面倒
  • バックアップを取り忘れて設定が消えたらどうしよう

【仕事で】

  • 新しい PC に移行するたびに設定をやり直すのは面倒
  • チームで設定を共有したいが、どうやって管理すればいいか分からない
  • どうせ共有する仕組みを作るなら差分管理開発できるようにしよう

こうした課題を解決するため、dotfiles リポジトリを作成して設定を一元管理する仕組みを整備しました。

作成したリポジトリ

1. claude-sync

Claude Code の設定を管理するリポジトリです。

  • ~/.claude/ 配下の設定ファイルを管理
  • ステータスライン表示のカスタマイズ
  • MCP Puppeteer の自動セットアップ
  • 初期化スクリプト付き

2. codex-sync

Codex Agent の設定を管理するリポジトリです。

  • ~/.codex/ 配下の設定ファイルを管理
  • エージェント向けの指示書(AGENTS.md)
  • ルールファイルと設定の一元管理

セットアップ手順

claude-sync のセットアップ

# リポジトリをクローン
cd ~
git clone https://github.com/mg1986jp/claude-sync.git .claude

# 初期化スクリプトを実行
cd ~/.claude
bash init.sh

初期化スクリプト(init.sh)が以下を自動で行います:

  1. claude-code-ui のインストール確認
    • 未インストールの場合は自動インストール
  2. MCP Puppeteer の設定
    • 既に設定済みの場合はスキップ(冪等性を確保)
  3. 検証方法の案内
    • claude コマンドで起動して /mcp で確認

codex-sync のセットアップ

# リポジトリをクローン
cd ~
git clone https://github.com/mg1986jp/codex-sync.git .codex

Codex Agent は設定ファイルを自動で読み込むため、追加の初期化は不要です。

主な機能

カスタムステータスライン(claude-sync)

Claude Code のステータスラインに以下の情報を表示します:

Sonnet 4.5 | ~/projects/my-app (feature/add-login) | [PL] | context: 45.2%

表示内容:

  • モデル名(Sonnet 4.5、Opus 4.5 など)
  • カレントディレクトリ
  • Git ブランチ名
  • 設定スコープ([P]=プロジェクト、[L]=ローカル、[U]=ユーザー)
  • コンテキスト使用率

実装は scripts/status-line.sh に分離しており、メンテナンス性を確保しています。

Git 操作のルール(両リポジトリ共通)

指示書(CLAUDE.md / AGENTS.md)に Git 操作のルールを明記:

  • コミットメッセージは日本語の Conventional Commits 形式
    • 例:fix: ログイン時の認証エラーを修正
  • Co-Authored-By 等のメタ情報は追加しない
    • GitHub が共同作成者として認識してしまうため
  • ユーザーの許可なくコミット・プッシュしない
    • 安全性を重視

MCP Puppeteer の自動設定(claude-sync)

初期化スクリプトが MCP Puppeteer を自動で設定します:

# 既に設定済みの場合
✓ MCP Puppeteer is already configured

# 新規設定の場合
✓ MCP Puppeteer configured successfully

冪等性を確保しているため、何度実行しても安全です。

ポイント

1. 冪等性の確保

init.sh は何度実行しても同じ結果になるよう設計:

  • 既にインストール済みのパッケージはスキップ
  • 既に設定済みの MCP サーバーは再設定しない
  • エラーメッセージが出ない、クリーンな再実行を実現

2. エラーハンドリング

Bash スクリプトに set -euo pipefail を設定し、堅牢性を確保:

#!/bin/bash
set -euo pipefail

# JSON解析失敗時の対策
total_input=${total_input:-0}
total_output=${total_output:-0}
context_size=${context_size:-0}

JSON 解析が失敗した場合でもデフォルト値でフォールバックします。

3. ドキュメントの充実

README に以下を記載:

  • セットアップ手順
  • ファイル構成の説明
  • トラブルシューティング
  • 前提条件とエラー時の対処方法

「それをしたらどうなるのか」を明記し、利用者が迷わないよう配慮しました。

まとめ

項目 claude-sync codex-sync
対象ツール Claude Code Codex Agent
配置場所 ~/.claude/ ~/.codex/
初期化スクリプト あり(init.sh 不要
ステータスライン カスタマイズ可 -
MCP設定 自動セットアップ -
指示書 CLAUDE.md AGENTS.md

設定を dotfiles として管理することで、新しい環境でも数コマンドで同じ開発環境を再現できるようになりました。

AI ツールの設定管理に悩んでいる方の参考になれば幸いです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?