mcpField
I
init-config

init-config

github.com/fradserエージェントワークフロー596104 回インストール5 週間前に更新
リポジトリ

init-config について

init-configは、プロジェクト向けのCLAUDE.mdを設定する開発者向け初期化スキルです。環境やテスト方式、技術スタックの選択を段階的に集め、レンダラースクリプトでファイルを生成します。

主な機能

  1. 01導入済み言語とパッケージマネージャーの検出
  2. 02開発者情報の収集
  3. 03テスト方式とメモリルールの選択
  4. 04技術スタックとパッケージマネージャーの指定
  5. 05レンダラーによるCLAUDE.md生成

活用シーン

  1. 01新しい開発環境向けのCLAUDE.md作成
  2. 02選択したスタックに応じた開発ルールの設定

インストール

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

$npx skills add https://github.com/fradser/dotclaude --skill init-config

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

詳細

初期化

後続のフェーズは前のフェーズで保存した選択内容に依存するため、フェーズは順番に実行します。

フェーズ 1:環境の検出

目標:インストールされている言語、ツール、パッケージマネージャーを検出します。

アクション:

  1. インストールされている言語(Node.js、Python、Rust、Go、Java、Docker など)を検出します。
  2. 選択したエコシステムで利用できるパッケージマネージャーの候補を検出します。
  3. フェーズ 4 での選択肢の生成に使う検出結果を保存します。

フェーズ 2:開発者プロフィール

目標:パーソナライズのために、開発者の情報を検出または収集します。

アクション:

  1. git config user.name と git config user.email を実行して、開発者情報を検出します。
  2. 両方を検出できた場合は、レンダラーの引数に使う developer_name と developer_email として保存し、フェーズ 3 に進みます。
  3. どちらかが未設定の場合は、会話を通じてユーザーに直接尋ねます。
    • 名前が未設定の場合:「git config から名前を検出できませんでした。使用する名前を教えてください。(省略する場合は「skip」と返信してください)」
    • メールアドレスが未設定の場合:「git config からメールアドレスを検出できませんでした。使用するメールアドレスを教えてください。(省略する場合は「skip」と返信してください)」
  4. ユーザーの回答(省略した場合は空の値)を、レンダラーの引数に使う developer_name と developer_email として保存します。

フェーズ 3:テストの方法論

目標:テストの進め方を選択します。

アクション: 見出し Testing Methodology を付けて尋ねます。

  • BDD first, then TDD (Recommended) → Red-Green-Refactor による BDD 主導の TDD
  • BDD 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:技術スタックとパッケージマネージャーの選択

目標:言語とパッケージマネージャーを選択します。

アクション:

  1. 技術スタックの選択には AskUserQuestion(multiSelect: true)を使用します。
  2. 検出された技術から選択肢を生成し、検出されたものを推奨として示します。
  3. 複数のパッケージマネージャーがある言語を選択した場合は、希望するものを尋ねます。
  • Node.js:npm、pnpm(推奨)、yarn、bun。
  • Python:pip、uv(推奨)、poetry。
  • マシンで検出されたパッケージマネージャーのみを表示します。
  1. 選択したスタックを、レンダラーの引数に使う language:::package_manager として順序を保ったまま保存します。

フェーズ 5:レンダラー入力の準備

目標:ユーザーの選択から、決定的なレンダラー入力を準備します。

アクション:

  1. 選択した各スタックを、順序付きのレンダラー入力形式 language:::package_manager に正規化します。
  • 選択順を変更しないでください。
  1. パッケージマネージャーを明示的に選択していない言語では、language:::(マネージャーは空)を使用します。
  2. 言語キーは、利用可能な場合は正確な表記(Node.js、Python、Rust、Swift、Go、Java)を維持し、別名を作らないでください。
  3. このフェーズではオンライン検索を行わないでください。

フェーズ 6:スタイルの設定

目標:生成する CLAUDE.md での絵文字の使用方針を選択します。

アクション: 見出し Style を付けて尋ねます。

  • No Emojis (Recommended)
  • Use Emojis 出力内の絵文字方針のテキストを制御するレンダラー引数に使うブール値 use_emojis を保存します。

フェーズ 7:組み立てと生成

目標:1 つのレンダラースクリプトで最終コンテンツを生成します。

アクション:

  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" エントリを必要な数だけ指定
  1. フラグメントの組み立て、テストコンテンツの挿入、開発者プロフィール、技術スタックのセクション、任意のメモリーセクション、最終書き込みなど、組み立てに関するすべての処理はレンダラーに任せます。
  2. レンダラーの出力を手動で編集しないでください。出力の形式が正しくない場合は、入力またはレンダラーの動作を修正してください。

フェーズ 8:CLAUDE.md の書き込み

目標:レンダラーによる書き込みとバックアップの結果を報告します。

アクション:

  1. レンダラーの出力を使って、次の内容を確認します。
  • 書き込まれたターゲットパス。
  • 既存のターゲットファイルがあった場合に作成されたバックアップパス。
  1. 次の内容を報告します。
  • ファイルとバックアップの場所。
  • 開発者情報とテストモード。
  • 選択した技術スタックとパッケージマネージャー。
  • レンダラーによるルール適用の概要:ローカルルール行が追加されたスタックと、追加されなかったスタック。

ベストプラクティス

  • ワークフローを段階的かつ決定的に進めます。
  • スタックのガイダンスには、生成した文章よりローカルの参照情報を優先します。
  • 生成する制約は簡潔で、確実に適用できるものにします。
  • 既存のファイルを上書きする前に、必ずバックアップを作成します。

コメント