ln-733-env-configurator について
ln-733-env-configuratorは、開発環境と本番環境の設定を行うL3ワーカーです。プロジェクト内の環境変数を検出して設定ファイルを生成し、.gitignoreに秘密情報の保護ルールを追加します。秘密情報の保存や外部シークレット管理サービスの設定は行いません。
主な機能
- 01コード内の環境変数を検出
- 02秘密情報と設定値を分類
- 033種類の環境設定ファイルを生成
- 04.gitignoreに保護ルールを追加
- 05実際の秘密情報ではなくプレースホルダーを使用
活用シーン
- 01環境変数テンプレートの作成
- 02ローカル開発設定の準備
- 03本番用プレースホルダー設定の生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-733-env-configuratorインストール後、Claude Code で/ln-733-env-configuratorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/templates/env_development.templateenv_example.templateenv_production.templategitignore_secrets.template詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリを基準とします。
ln-733-env-configurator
タイプ: L3 ワーカー カテゴリ: 7XX プロジェクトのブートストラップ
開発環境と本番環境の環境変数を設定します。
目的と範囲
環境設定ファイルを作成します。
- 行うこと: .env ファイルを生成し、シークレット保護のために .gitignore を更新します
- 行わないこと: シークレットの保存、外部シークレットマネージャーの管理、CI/CD シークレットの設定
入力
| 入力 | ソース | 説明 |
|---|---|---|
| プロジェクト名 | ディレクトリ名 | データベース/サービスの命名に使用 |
| バックエンドポート | スタックに依存 | 5000(.NET)、8000(Python) |
| フロントエンドポート | デフォルト | 3000 |
| データベースポート | デフォルト | 5432 |
| 検出された変数 | コード解析 | コード内で見つかった環境変数 |
出力
| ファイル | 目的 | テンプレート |
|---|---|---|
.env.example | 説明付きテンプレート | env_example.template |
.env.development | ローカル開発用のデフォルト設定 | env_development.template |
.env.production | 本番環境用のプレースホルダー | env_production.template |
.gitignore(追記) | シークレット保護 | gitignore_secrets.template |
ワークフロー
フェーズ 1:環境の調査
プロジェクト内で既存の環境変数の使用状況を調べます。
- 既存の .env ファイルを確認します
- コード内で
process.env、os.environ、Configuration[]を検索します - どの変数がシークレットで、どの変数が設定値かを特定します
出力: 必須の環境変数を種類とともに一覧表示します
フェーズ 2:変数の分類
検出した変数を分類します。
| カテゴリ | 例 | 対応 |
|---|---|---|
| データベース | DATABASE_URL、POSTGRES_* | プロジェクト名を使用して自動生成 |
| API 設定 | API_PORT、LOG_LEVEL | 検出した値またはデフォルト値を使用 |
| セキュリティ | JWT_SECRET、API_KEY | 警告を添えたプレースホルダー |
| 外部サービス | REDIS_URL、SMTP_* | オプションとしてコメントアウト |
フェーズ 3:テンプレートの生成
テンプレートから環境ファイルを生成します。
- 変数を置換します
- 検出したすべての変数を含めます
- 説明のない変数にはコメントを追加します
フェーズ 4:Gitignore の更新
シークレット保護の設定を .gitignore に追記します。
- 既存の .gitignore を読み込みます(存在する場合)
- シークレットのパターンがすでに含まれているか確認します
- テンプレートにある未登録のパターンを追記します
- 既存のエントリーを保持します
生成されるファイルの構成
.env.example
すべての変数を含む、説明付きテンプレートです。
- セクション見出し(データベース、バックエンド、フロントエンド、セキュリティ、外部サービス)
- 各変数の説明コメント
- 安全なプレースホルダー値(実際のシークレットは使用しません)
- オプション変数はコメントアウト
.env.development
すぐに使える開発用設定です。
- docker-compose で動作する値を事前に設定
- 開発環境専用のシークレット(明確に表示)
- デバッグレベルのログを有効化
.env.production
本番環境用のプレースホルダーファイルです。
- デプロイ時の置換には
${VARIABLE}構文を使用 - 必須のシークレットを示すコメント
- 本番環境に適したデフォルト値(Warning ログレベル)
セキュリティのベストプラクティス
| 対策 | 実装 |
|---|---|
| 実際のシークレットを使用しない | テンプレートにはプレースホルダー値のみを使用 |
| Gitignore による保護 | .env.example を除くすべての .env ファイル |
| 開発環境での警告 | 開発用シークレットを安全でないものとして明示 |
| 本番環境向けのガイダンス | シークレットマネージャーの使用に関するコメント |
| キーのローテーションに関する注意 | シークレットを定期的にローテーションするよう記載 |
セキュリティに関する注意事項
生成されるファイルには、次のセキュリティに関する注意事項が含まれます。
- 実際のシークレットを絶対にコミットしないでください - .gitignore により、誤ってコミットするのを防ぎます
- シークレットマネージャーを使用してください - 本番環境では GitHub Secrets、AWS Secrets Manager を使用します
- シークレットを定期的にローテーションしてください - 特に JWT シークレットは対象です
- 強力な JWT シークレットを使用してください - 最低 256 ビット(32 バイト)にします
- CORS を制限してください - 本番環境では必要なオリジンのみを許可します
品質基準
生成されるファイルは、次の条件を満たす必要があります。
- .env.example に必須の変数がすべて含まれている
- どのファイルにも実際のシークレットやパスワードが含まれていない
- .gitignore がシークレットのパターンで更新されている
- .env.development が docker-compose で動作する
- .env.production がプレースホルダー構文を使用している
重要な注意事項
- テンプレートベース:references/ のテンプレートを使用してください。ファイルの内容をハードコードしないでください。
- 冪等性:ファイルの存在を確認してください。.gitignore は上書きせず、追記してください。
- 実際のシークレットを使用しない:実際のパスワードや API キーを含むファイルを生成しないでください。
- 開発環境の安全性:開発環境のデフォルト設定は、docker-compose ですぐに使用できる必要があります。
参照ファイル
| ファイル | 用途 |
|---|---|
| env_example.template | 説明付きの .env テンプレート |
| env_development.template | 開発環境のデフォルト設定 |
| env_production.template | 本番環境用のプレースホルダー |
| gitignore_secrets.template | .gitignore への追加項目 |
完了の定義
- .env.example、.env.development、.env.production が生成されている
- 生成されたファイルに実際のシークレットやパスワードが含まれていない
- .gitignore がシークレット保護パターンで更新されている
バージョン: 1.1.0 最終更新日: 2026-01-10
コメント
Markdown 対応