このディレクトリは1Passwordを使用した機密情報管理のためのテンプレートとスクリプトを含みます。
credentials/
├── README.md # このファイル
├── setup.md # 詳細なセットアップガイド
├── templates/ # 各種サービスのテンプレート
│ ├── devcontainer.env.template # DevContainer環境変数用
│ └── mcp.env.template # MCP設定用
└── .gitignore # 生成されたファイルを無視
-
1Password CLI をインストール
brew install --cask 1password-cli
-
1Password にサインイン
op signin
-
環境変数を自動セットアップ
bash script/setup-env.sh
このスクリプトは以下を自動生成します:
~/.devcontainer.env- DevContainer 環境変数credentials/mcp.env- MCP 設定用環境変数
-
MCP 設定を生成
bash script/setup-mcp.sh
.mcp.jsonが自動生成されます。
このリポジトリは以下のMCP (Model Context Protocol) サーバーをサポートしています:
| MCPサーバー | パッケージ | 必要な環境変数 | 説明 |
|---|---|---|---|
| Playwright | @playwright/mcp@latest |
なし | ブラウザ自動化とテスト |
| n8n | @leonardsellem/n8n-mcp-server |
N8N_API_URL, N8N_API_KEY |
n8n ワークフロー自動化 |
credentials/templates/mcp.env.templateに必要な環境変数が定義されています。
1Password CLIを使用する場合、以下の形式で1Passwordボールトに保存してください:
# 例: 1Password "Dev" ボールトに以下のアイテムを作成
- N8N_API_URL
- N8N_API_KEYレガシーな方法でクレデンシャルを取得する場合:
make credentials- 生成されたクレデンシャルファイルは
.gitignoreに追加されています - クレデンシャルファイルは定期的に更新してください
- 使用後は
make clean-credentialsで削除できます
script/export.sh は設定をリポジトリにエクスポートする際、自動的にクレデンシャルをフィルタリングします:
~/.gitconfig の [user] セクションから以下の情報を自動でコメントアウト:
name: ユーザー名email: メールアドレスsigningkey: SSH署名鍵
エクスポート後の形式:
[user]
# name = # Configure with: git config --global user.name "Your Name"
# email = # Configure with: git config --global user.email "your.email@example.com"
# signingkey = # Configure with: git config --global user.signingkey ~/.ssh/id_ed25519.pub~/.zshrc から以下のパターンに一致する環境変数を自動除外:
NPM_TOKENBUNDLE_RUBYGEMS__**_TOKEN*_SECRET*_PASSWORD*_API_KEY*_CREDENTIAL
推奨される管理方法:
- トークンを
~/.zshrcから削除 ~/.zsh/configs/pre/.env.secretに移動- テンプレート
~/.zsh/configs/pre/.env.secret.templateを参照
例:
# ~/.zsh/configs/pre/.env.secret
export NPM_TOKEN="your_npm_token_here"
export BUNDLE_RUBYGEMS__PKG__GITHUB__COM="your_github_token_here"
# Or use 1Password references:
export NPM_TOKEN="op://Dev/NPM_TOKEN/credential"
export BUNDLE_RUBYGEMS__PKG__GITHUB__COM="op://Dev/GITHUB_TOKEN/credential"script/import.sh を実行すると、フィルタリングされた設定ファイルがインポートされた際に警告メッセージが表示されます:
⚠️ 注意: ~/.zshrc にトークンがなくなっています
トークンは ~/.zsh/configs/pre/.env.secret に設定してください
⚠️ 注意: ~/.gitconfig に個人情報がコメントアウトされています
以下のコマンドで設定してください:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
git config --global user.signingkey ~/.ssh/id_ed25519.pub
テンプレートが正しく動作するように、1Password の Vault "Dev" に以下の構造でアイテムを作成してください:
Vault: Dev
├── AWS (Login)
│ ├── AWS_ACCESS_KEY_ID: AKIA...
│ ├── AWS_SECRET_ACCESS_KEY: ...
│ └── AWS_REGION: ap-northeast-1
└── その他のクレデンシャル
# AWS クレデンシャルを作成
op item create --category=login \
--title="AWS" \
--vault=Dev \
AWS_ACCESS_KEY_ID="AKIA..." \
AWS_SECRET_ACCESS_KEY="..." \
AWS_REGION="ap-northeast-1"症状: op: command not found
解決策:
- インストール:
brew install --cask 1password-cli - サインイン:
op signin
または手動設定:
cp credentials/templates/devcontainer.env.template ~/.devcontainer.env
# エディタで開いて op:// 参照を実際の値に置換症状: postCreateCommand でエラー
解決策:
- スクリプトの実行権限確認:
ls -l script/setup-*.sh - 手動実行でデバッグ:
bash -x script/setup-env.sh
症状: envsubst: command not found
解決策:
envsubstインストール:brew install gettext brew link --force gettext
credentials/mcp.envが正しく生成されているか確認:cat credentials/mcp.env
.mcp.json.template: MCP 設定テンプレート(環境変数参照)script/setup-env.sh: 環境変数自動セットアップスクリプトscript/setup-mcp.sh: MCP 設定自動生成スクリプト.zsh/configs/pre/.env.secret.template: シェル環境変数トークンのテンプレート.claude/settings.local.json.template: Claude Code ローカル設定のテンプレートscript/export.sh: 設定エクスポートスクリプト(フィルタリング機能含む)script/import.sh: 設定インポートスクリプト(警告表示含む)