init-config について
init-configは、プロジェクト向けのCLAUDE.mdを設定する開発者向け初期化スキルです。環境やテスト方式、技術スタックの選択を段階的に集め、レンダラースクリプトでファイルを生成します。
主な機能
- 01導入済み言語とパッケージマネージャーの検出
- 02開発者情報の収集
- 03テスト方式とメモリルールの選択
- 04技術スタックとパッケージマネージャーの指定
- 05レンダラーによるCLAUDE.md生成
活用シーン
- 01新しい開発環境向けのCLAUDE.md作成
- 02選択したスタックに応じた開発ルールの設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ fradser/ dotclaude --skill init-configインストール後、Claude Code で/init-configを入力して読み込まれたか確認します。
詳細
初期化
後続のフェーズは前のフェーズで保存した選択内容に依存するため、フェーズは順番に実行します。
フェーズ 1:環境の検出
目標:インストールされている言語、ツール、パッケージマネージャーを検出します。
アクション:
- インストールされている言語(Node.js、Python、Rust、Go、Java、Docker など)を検出します。
- 選択したエコシステムで利用できるパッケージマネージャーの候補を検出します。
- フェーズ 4 での選択肢の生成に使う検出結果を保存します。
フェーズ 2:開発者プロフィール
目標:パーソナライズのために、開発者の情報を検出または収集します。
アクション:
git config user.nameとgit config user.emailを実行して、開発者情報を検出します。- 両方を検出できた場合は、レンダラーの引数に使う
developer_nameとdeveloper_emailとして保存し、フェーズ 3 に進みます。 - どちらかが未設定の場合は、会話を通じてユーザーに直接尋ねます。
- 名前が未設定の場合:「git config から名前を検出できませんでした。使用する名前を教えてください。(省略する場合は「skip」と返信してください)」
- メールアドレスが未設定の場合:「git config からメールアドレスを検出できませんでした。使用するメールアドレスを教えてください。(省略する場合は「skip」と返信してください)」
- ユーザーの回答(省略した場合は空の値)を、レンダラーの引数に使う
developer_nameとdeveloper_emailとして保存します。
フェーズ 3:テストの方法論
目標:テストの進め方を選択します。
アクション:
見出し Testing Methodology を付けて尋ねます。
BDD first, then TDD (Recommended)→ Red-Green-Refactor による BDD 主導の TDDBDD only→ TDD サイクルを使わない Gherkin シナリオTDD only→ BDD シナリオを使わないテスト駆動開発None→ 特定のテスト方法論を使用しない 選択した内容を、フェーズ 7 のレンダラー引数に使うtesting_mode(bdd-tdd | bdd | tdd | none)として保存します。
フェーズ 3.5:メモリ管理(任意)
目標:CLAUDE.md のメモリに関する指示を追加するかどうかを決定します。
アクション:
見出し Memory を付けて尋ねます。
Skip (Recommended)Include memory rulesレンダラーの引数に使うブール値include_memoryを保存します。メモリのテキストを手動で追加しないでください。
フェーズ 4:技術スタックとパッケージマネージャーの選択
目標:言語とパッケージマネージャーを選択します。
アクション:
- 技術スタックの選択には AskUserQuestion(
multiSelect: true)を使用します。 - 検出された技術から選択肢を生成し、検出されたものを推奨として示します。
- 複数のパッケージマネージャーがある言語を選択した場合は、希望するものを尋ねます。
- Node.js:npm、pnpm(推奨)、yarn、bun。
- Python:pip、uv(推奨)、poetry。
- マシンで検出されたパッケージマネージャーのみを表示します。
- 選択したスタックを、レンダラーの引数に使う
language:::package_managerとして順序を保ったまま保存します。
フェーズ 5:レンダラー入力の準備
目標:ユーザーの選択から、決定的なレンダラー入力を準備します。
アクション:
- 選択した各スタックを、順序付きのレンダラー入力形式
language:::package_managerに正規化します。
- 選択順を変更しないでください。
- パッケージマネージャーを明示的に選択していない言語では、
language:::(マネージャーは空)を使用します。 - 言語キーは、利用可能な場合は正確な表記(
Node.js、Python、Rust、Swift、Go、Java)を維持し、別名を作らないでください。 - このフェーズではオンライン検索を行わないでください。
フェーズ 6:スタイルの設定
目標:生成する CLAUDE.md での絵文字の使用方針を選択します。
アクション:
見出し Style を付けて尋ねます。
No Emojis (Recommended)Use Emojis出力内の絵文字方針のテキストを制御するレンダラー引数に使うブール値use_emojisを保存します。
フェーズ 7:組み立てと生成
目標:1 つのレンダラースクリプトで最終コンテンツを生成します。
アクション:
${CLAUDE_PLUGIN_ROOT}/scripts/render-claude-config.shを次の引数で実行します。
--target-file $HOME/.claude/CLAUDE.md--testing-mode <bdd-tdd|bdd|tdd|none>(フェーズ 3 の値)--include-memory <true|false>--use-emojis <true|false>- 任意の
--developer-nameと--developer-email - フェーズ 5 の
--stack "language:::package_manager"エントリを必要な数だけ指定
- フラグメントの組み立て、テストコンテンツの挿入、開発者プロフィール、技術スタックのセクション、任意のメモリーセクション、最終書き込みなど、組み立てに関するすべての処理はレンダラーに任せます。
- レンダラーの出力を手動で編集しないでください。出力の形式が正しくない場合は、入力またはレンダラーの動作を修正してください。
フェーズ 8:CLAUDE.md の書き込み
目標:レンダラーによる書き込みとバックアップの結果を報告します。
アクション:
- レンダラーの出力を使って、次の内容を確認します。
- 書き込まれたターゲットパス。
- 既存のターゲットファイルがあった場合に作成されたバックアップパス。
- 次の内容を報告します。
- ファイルとバックアップの場所。
- 開発者情報とテストモード。
- 選択した技術スタックとパッケージマネージャー。
- レンダラーによるルール適用の概要:ローカルルール行が追加されたスタックと、追加されなかったスタック。
ベストプラクティス
- ワークフローを段階的かつ決定的に進めます。
- スタックのガイダンスには、生成した文章よりローカルの参照情報を優先します。
- 生成する制約は簡潔で、確実に適用できるものにします。
- 既存のファイルを上書きする前に、必ずバックアップを作成します。
コメント
Markdown 対応