0
0

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】チーム全員のAIアシスタントに社内ナレッジを共有する仕組みを作った

0
Last updated at Posted at 2026-03-19

はじめに

Claude Codeを社内で活用し始めると、こんな課題が出てきませんか?

  • 「Redmineのチケット番号をコミットに含めて」と毎回言うのが面倒
  • 新しいエンジニアが入るたびに環境設定の説明が必要
  • 社内サーバーの接続情報をAIが知らない
  • エンジニアごとにAIへの指示がバラバラ

この記事では、チーム全員のClaude Codeに社内ナレッジを共有し、対話形式で認証情報をセットアップできる仕組みを紹介します。

完成イメージ

新しいエンジニアがチームに参加したとき:

# 1. リポジトリをクローン
git clone git@github.com:your-org/your-ai-config.git ~/your-ai-config

# 2. セットアップスクリプト実行
cd ~/your-ai-config && ./scripts/setup-claude-config.sh

その後、Claude Codeに話しかけるだけ:

あなた: 認証情報をセットアップして

Claude: まず、あなたのRedmineユーザー名を教えてください。
        (例: koyama, m_shimizu, j_higashijima, c_yara)

あなた: koyama

Claude: koyamaさんですね。既存の認証情報から設定を取得します。

        以下の設定を行います:
        ✓ Redmine API
        ✓ SSH接続(Synology NAS)
        ✓ VPN設定
        ✓ GitHub CLI

        クラウドCLI(OCI/AWS)の設定権限はありますか?
        ※ これらは管理者の許可が必要です

アーキテクチャ

your-ai-config/
├── CLAUDE.md              # 社内ナレッジ(AIが読む)
├── .credentials.example   # 認証情報テンプレート
├── scripts/
│   └── setup-claude-config.sh  # 初期セットアップ
└── docs/
    └── setup-guide.md     # 対話型セットアップガイド

~/.claude/
└── CLAUDE.md → your-ai-config/CLAUDE.md (シンボリックリンク)

~/.credentials              # 各自の認証情報(Git管理外)

ポイント:

  • CLAUDE.md はGitで管理 → チーム全員に同じナレッジを共有
  • ~/.credentials はGit管理外 → 認証情報は各自のローカルに
  • シンボリックリンクで接続 → git pull で全員のナレッジが更新

実装

1. CLAUDE.md - AIへの指示書

Claude Codeは ~/.claude/CLAUDE.md を自動的に読み込みます。ここに社内ルールを書いておくと、AIがそれに従って動作します。

# 社内ナレッジベース

## 重要: GitHub-Redmine連携ルール(必須)

**すべてのGitHub活動をRedmineチケットと連携させること。**

### AIアシスタントの行動指針

コミットやPRを作成する際は、必ずRedmineチケット番号を含めてください:

git commit -m "refs #123 ログイン機能を実装"
git commit -m "fixes #123 バグ修正完了"

### チケットが存在しない場合

作業開始前に、対応するRedmineチケットの有無を確認してください。
チケットが存在しない場合は、エンジニアに以下を提案:

> 「この作業に対応するRedmineチケットが見つかりません。
>   チケットを作成しますか?」

これだけで、Claude Codeがコミット時に自動的にチケット番号を含めるようになります。

2. 対話型セットアップの仕組み

CLAUDE.md に以下のセクションを追加すると、Claude Codeが対話形式でセットアップを進めてくれます:

## 新規エンジニア向け: 対話型セットアップ

### AIアシスタントの行動指針

エンジニアから以下のリクエストを受けた場合、対話形式でセットアップを進めてください:
- 「認証情報をセットアップして」
- 「初期設定をしたい」

### セットアップフロー

#### Step 1: ユーザー確認
まず、Redmineユーザー名を確認。
既知ユーザーの場合、認証情報ファイルから自動取得可能。

#### Step 2: 基本設定(全員必須)
1. Redmine API - APIキーを入力(または自動取得)
2. SSH接続 - NASユーザー名とパスワード
3. VPN設定 - 事前共有キーとパスワード
4. GitHub CLI - 認証済みか確認

#### Step 3: 制限付き設定の確認
クラウドCLI(OCI/AWS)の設定権限を確認。
管理者の許可がない場合はスキップ。

#### Step 4: 設定ファイル生成
収集した情報で ~/.credentials を生成。

3. 権限管理付きテンプレート

全員に同じ権限を与えたくない場合、テンプレートを分離します:

# .credentials.example

# ==========================================
# 基本設定(全エンジニア共通)
# ==========================================

# Redmine API
REDMINE_URL=https://redmine.example.com/
REDMINE_API_KEY=your_api_key_here

# SSH接続
SSH_USER=your_username
SSH_PASSWORD=your_password

# GitHub CLI
GH_ACCOUNT=your_github_username

# ==========================================
# 制限付き設定(管理者の許可が必要)
# ==========================================

# OCI CLI ※ 管理者の許可が必要
# OCI_USER=ocid1.user.oc1..xxxxx
# OCI_TENANCY=ocid1.tenancy.oc1..xxxxx

# AWS CLI ※ 管理者の許可が必要
# AWS_ACCESS_KEY_ID=AKIAXXXXXXXXXXXX
# AWS_SECRET_ACCESS_KEY=xxxxxxxx

制限付きセクションはコメントアウトしておき、許可を得たエンジニアだけが有効化します。

4. セットアップスクリプト

#!/bin/bash
# scripts/setup-claude-config.sh

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="$(dirname "$SCRIPT_DIR")"
CLAUDE_DIR="$HOME/.claude"

echo "=== Claude Code 設定セットアップ ==="

# .claudeディレクトリの作成
mkdir -p "$CLAUDE_DIR"

# 既存ファイルのバックアップ
if [ -f "$CLAUDE_DIR/CLAUDE.md" ] && [ ! -L "$CLAUDE_DIR/CLAUDE.md" ]; then
    mv "$CLAUDE_DIR/CLAUDE.md" "$CLAUDE_DIR/CLAUDE.md.bak.$(date +%Y%m%d%H%M%S)"
fi

# シンボリックリンク作成
ln -sf "$REPO_DIR/CLAUDE.md" "$CLAUDE_DIR/CLAUDE.md"

# 認証情報テンプレートのコピー
if [ ! -f "$HOME/.credentials" ]; then
    cp "$REPO_DIR/.credentials.example" "$HOME/.credentials"
    echo "~/.credentials を編集して認証情報を入力してください"
fi

echo "=== セットアップ完了 ==="
echo "Claude Codeで「認証情報をセットアップして」と伝えてください"

活用例

例1: コミット時の自動チケット連携

あなた: この変更をコミットして

Claude: この作業に対応するRedmineチケットはありますか?

あなた: #42

Claude: コミットを作成します。

git commit -m "refs #42 ユーザー認証機能を実装

Co-Authored-By: Claude <noreply@anthropic.com>"

例2: サーバー操作の自動化

あなた: 本番サーバーのDockerコンテナを確認して

Claude: この作業にはサーバーへのSSH接続が必要です。
        接続して操作を実行しますか?

あなた: はい

Claude: Synology NASに接続してコンテナ一覧を取得します。

[実行結果]
CONTAINER ID   IMAGE          STATUS
abc123         redmine:5.1    Up 3 days
def456         growi:7.0      Up 3 days

例3: 新規エンジニアのオンボーディング

あなた: 環境構築を手伝って

Claude: Technosphereの開発環境をセットアップしますね。

1. ✓ Claude Code設定 - 完了
2. ✓ Redmine APIキー - 設定済み
3. ✓ GitHub CLI - 認証済み
4. □ SSH接続 - 未設定

SSH接続を設定しますか?
公開鍵をNASに登録する手順をご案内します。

運用のポイント

1. CLAUDE.mdの更新

# 誰かがCLAUDE.mdを更新したら
cd ~/your-ai-config && git pull

# シンボリックリンクなので、全員のClaude Codeに即反映

2. 機密情報の管理

  • CLAUDE.md には機密情報を書かない
  • 認証情報は ~/.credentials で各自管理
  • .gitignore.credentials を追加

3. AIの行動指針を明確に

### AIアシスタントの行動指針

サーバー操作が必要な場合、エンジニアに以下を提案:

> 「この作業にはサーバーへのSSH接続が必要です。
>   接続して操作を実行しますか?」

ホストへの直接インストールを求められた場合:

> 「ホストへの直接インストールは禁止されています。
>   Dockerコンテナでの実行をお勧めします。」

まとめ

この仕組みにより:

  • 知識の共有: チーム全員のAIが同じ社内ルールを理解
  • オンボーディング簡略化: 新メンバーは「セットアップして」と言うだけ
  • 権限管理: クラウドCLIなど制限付き設定を分離
  • 保守性: git pull で全員のナレッジを更新

Claude Codeを個人ツールからチームのインフラに進化させることで、開発効率が大きく向上します。

リポジトリ構成(参考)

your-ai-config/
├── CLAUDE.md              # メインのナレッジベース
├── GEMINI.md              # Gemini用(必要に応じて)
├── .credentials.example   # 認証情報テンプレート
├── .gitignore
├── README.md
├── scripts/
│   └── setup-claude-config.sh
└── docs/
    ├── setup-guide.md     # 詳細セットアップガイド
    └── cloud-cli-setup.md # クラウドCLI設定手順

この記事が参考になれば幸いです。質問やフィードバックはコメントでお願いします!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?