mcpField
C
configuration-management

configuration-management

github.com/aj-geddes開発373445 回インストール34 週間前に更新
リポジトリ

configuration-management について

環境変数、設定ファイル、シークレット、フィーチャーフラグ、検証、12-Factorの実践を扱う、アプリケーション設定管理のガイドです。

主な機能

  1. 01環境別の設定管理
  2. 02シークレットと認証情報の管理
  3. 03設定階層の構築
  4. 04フィーチャーフラグと動的設定
  5. 05設定検証と12-Factorの実践

活用シーン

  1. 01開発環境と本番環境の設定
  2. 02認証情報やシークレットの保護
  3. 03機能の段階的なリリース
  4. 04設定のクラウドサービスへの移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill configuration-management

インストール後、Claude Code で/configuration-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
12-factor-app-configuration.md
configuration-hierarchies.md
configuration-validation.md
dynamic-configuration-remote-config.md
environment-variables.md
feature-flags.md
secret-management.md
scripts/
validate-schema.sh
templates/
migration-template.sql

詳細

設定管理

目次

概要

環境変数、設定ファイル、シークレット、機能フラグ、12-factor app の方法論に従うことなど、環境をまたいだアプリケーション設定の管理に関する包括的なガイドです。

使用する場面

  • 異なる環境向けの設定を行う
  • シークレットや認証情報を管理する
  • 機能フラグを実装する
  • 設定の階層構造を作成する
  • 12-factor app の原則に従う
  • 設定をクラウドサービスに移行する
  • 動的な設定を実装する
  • マルチテナントの設定を管理する

クイックスタート

最小限の動作例:

# .env.development
NODE_ENV=development
PORT=3000
DATABASE_URL=postgresql://localhost:5432/myapp_dev
REDIS_URL=redis://localhost:6379
LOG_LEVEL=debug
API_KEY=dev-api-key-12345

# .env.production
NODE_ENV=production
PORT=8080
DATABASE_URL=${DATABASE_URL}  # From environment
REDIS_URL=${REDIS_URL}
LOG_LEVEL=info
API_KEY=${API_KEY}  # From secret manager

# .env.test
NODE_ENV=test
DATABASE_URL=postgresql://localhost:5432/myapp_test
LOG_LEVEL=error

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド内容
環境変数環境変数
設定の階層構造設定の階層構造
シークレット管理シークレット管理
機能フラグ機能フラグ
12-Factor App の設定12-Factor App の設定
設定の検証設定の検証
動的な設定(リモート設定)動的な設定(リモート設定)

ベストプラクティス

✅ 推奨事項
  • 設定を環境変数に保存する
  • 環境ごとに異なる設定ファイルを使用する
  • 起動時に設定を検証する
  • 機密データにはシークレットマネージャーを使用する
  • シークレットをバージョン管理に絶対にコミットしない
  • 適切なデフォルト値を用意する
  • すべての設定オプションを文書化する
  • 型安全な設定オブジェクトを使用する
  • 設定の階層構造(ベース設定+上書き設定)を実装する
  • 段階的なロールアウトに機能フラグを使用する
  • 12-factor app の原則に従う
  • 設定がない場合に正常に縮退する仕組みを実装する
  • API 呼び出しを減らすためにシークレットをキャッシュする
❌ 禁止事項
  • 設定をソースコードにハードコードする
  • 実際のシークレットを含む .env ファイルをコミットする
  • サービス間で異なる設定形式を使用する
  • シークレットを平文で保存する
  • API を通じて設定を公開する
  • 開発環境で本番環境の認証情報を使用する
  • 設定の検証エラーを無視する
  • あらゆる場所で process.env に直接アクセスする
  • 設定をデータベースに保存する(循環依存)
  • 設定とビジネスロジックを混在させる

コメント