mcpField
P
project-setup

project-setup

github.com/loxosceles-dev開発117 回インストール
リポジトリ

project-setup について

GitHubのブループリントを使ったプロジェクト作成を案内するスキルです。環境確認、設定の組み立て、検証に加え、MCPサーバー設定の確認も扱います。

主な機能

  1. 01devcontainer-stateの事前確認
  2. 02ブループリント選択と変数収集
  3. 03フラグメントに基づく設定の組み立て
  4. 04バージョン差異と変更の制御
  5. 05検証コマンドの実行
  6. 06MCPサーバー配布設定の確認

活用シーン

  1. 01スタックのブループリントからプロジェクトを開始
  2. 02devcontainerとプロジェクト設定の組み立て
  3. 03完了前にセットアップコマンドを検証
  4. 04コンテナー起動時のMCP設定を確認

MCP 対応

MCPサーバー設定ファイルの確認を指示し、コンテナー起動時に設定済みサーバーをエージェントへ配布する仕組みを説明します。

インストール

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

$npx skills add https://github.com/loxosceles-dev/dev-skills --skill project-setup

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

詳細

プロジェクトのセットアップ

これは厳守すべきガイドラインです。 これらのルールに正確に従ってください。

新しいプロジェクトは、GitHub の loxosceles/project-blueprints に保存されているブループリントから作成します。


ワークフロー

  1. 事前確認:devcontainer-state を確認する:何よりも先に、~/.devcontainer-state/.git が存在することを確認してください。存在しない場合は、直ちに中止して、次のように指示してください。
    ⛔ ~/.devcontainer-state is not a git repo.
    Docker will auto-create mount targets as empty root-owned directories, breaking the devcontainer.
    
    Fix: git clone [email protected]:loxosceles/devcontainer-state.git ~/.devcontainer-state
    
    If ~/.devcontainer-state already exists (empty/root-owned), remove it first:
      sudo rm -rf ~/.devcontainer-state
    
    問題が解決するまで先に進まないでください。
  2. ブループリントを特定する:ユーザーが希望するスタック(例:「nextjs-sst」、「sst-python」)を尋ねます。リポジトリ内の blueprints/{stack}.md から該当するブループリントを読み込みます。
  3. 開始前にブループリント全体を読む:すべてのセクションを理解してください。
  4. 変数を収集する:project_name、git_name、git_email、およびブループリントで必要なその他の値を尋ねます。
  5. セクションを順番に実行する:ブループリントの手順に沿って、一つずつ進めてください。
  6. フラグメントをそのままコピーする:fragments/ のフラグメントファイルは正確な設定です。コピーした後、{{template_variables}} を実際の値に置き換えてください。
  7. スタック固有のファイルを組み立てる:共通フラグメント(fragments/common/)には {{INJECTION_MARKERS}} が含まれています。fragments/injections/{stack}/ から対応する挿入スニペットを読み込み、マーカーの位置に挿入してください。fragments/dockerfiles/{stack}/ から Dockerfile を選びます。各出力は、実行時のインクルードやソーシングを必要としない、単一の完成したファイルにしてください。devcontainer.json では、挿入スニペットの拡張機能と設定を共通のベースにマージしてください。
  8. バージョンが一致しない場合は一時停止する:ツール(create-next-app、SST など)のメジャーバージョンがブループリントの指定より新しい場合は、停止して次のように尋ねてください。「アップグレードを評価しますか、それとも固定バージョンを使用しますか?」
  9. フラグメントを無断で変更しない:フラグメントが現在のツールバージョンで動作しない場合は、競合を報告してユーザーに確認してください。
  10. 検証を実行する:最後にすべての検証コマンドを実行してください。すべて成功する必要があります。
  11. GitHub Copilot の指示:fragments/common/github/copilot-instructions.md を .github/copilot-instructions.md に、fragments/common/github/copilot/review.md を .github/copilot/review.md にコピーしてください。これらは、Copilot Chat と PR レビュー向けのコード品質ガイドラインです。
  12. スキルをインストールする:
    • npx skills add loxosceles/ai-dev --agent claude-code github-copilot codex kiro-cli -y を実行し、追加のサードパーティ製スキルが必要か尋ねてください。
    • すべてのホストマウント先を事前に作成してください(Docker は存在しないソースを root 所有で作成するため、権限の問題が発生します)。
      PROJECT=<project-name>
      mkdir -p ~/.devcontainer-state/cache/${PROJECT}/claude
      mkdir -p ~/.devcontainer-state/cache/${PROJECT}/kiro/settings
      
    • インストーラーは利便性のため、skills/ ディレクトリを常にシンボリックリンクとして作成します。これを防ぐことはできないため、gitignore に追加してください。
    • .gitignore に次の項目を含める必要があります:.agents/、.claude/skills/、.kiro/skills/、skills/
    • スキルの自動検出は、~/.devcontainer-state/ai/steering/ から ~/.kiro/steering/ に読み取り専用でマウントされるステアリングファイルが処理します。スキルですべてのワークフローに対応するため、エージェント設定は不要です。
  13. MCP サーバーの設定を確認する:~/.devcontainer-state/ai/mcp/servers.json が存在することを確認してください。存在しない場合は、servers.json.template からコピーするようユーザーに警告してください。MCP サーバーは、コンテナーの起動ごとに post_start.sh によってすべてのエージェント(Kiro、Claude、Amazon Q)に配布されます。
  14. devcontainer スクリプトを確認する:セットアップでは、次の 2 つのスクリプトを使用します。
    • post_create.sh — コンテナー作成後に一度実行されます(検証、シンボリックリンク、Git のユーザー情報、スキルの復元)。
    • post_start.sh — コンテナーの起動ごとに実行されます(Claude CLI のインストール/更新、Claude 設定のコピー、MCP サーバーの配布)。

ルール

  • 現在のディレクトリで実行してください(空であるか、空の Git リポジトリである必要があります)
  • Git のリモートには必ず SSH を使用し、HTTPS は使用しないでください:[email protected]:user/repo.git
  • 検証手順を省略しないでください
  • 手順が失敗した場合は、エラーと選択肢を提示してください。黙って再試行しないでください
  • テンプレート変数には {{double_braces}} 構文を使用してください
  • 設定の正本はフラグメントファイルです。別の方法を独自に考案しないでください
  • project-migration との一貫性:このスキルと project-migration は、共通の項目(devcontainer、スキル、kiro、lint、CI/CD)について同一の結果を生成する必要があります。このスキルの指示と project-migration の動作に食い違いを見つけた場合は、作業を中断し、開発者に警告してください。

段階的な改善

このスキルで防ぐべきだった動作について開発者から修正を受けた場合は、今後同じ修正が必要にならないよう、このスキルに加える具体的な変更を提案してください。

コメント