mcpField
M
make-env-setup

make-env-setup

github.com/qfeius開発0252 回インストール1 日前に更新
リポジトリ

make-env-setup について

make-env-setupは、Make Appの開発に向けてマシンとプロジェクトフォルダーを準備するスキルです。新規か既存かに応じてツールを選び、Makeのログインを確認し、必要な場合のみ初期化します。

主な機能

  1. 01新規・既存プロジェクトのモード選択
  2. 02ランタイムとパッケージマネージャーの確認
  3. 03makecliとMakeスキルのセットアップ
  4. 04ガイド付きログイン確認
  5. 05新規Appフォルダーの初期化

活用シーン

  1. 01新しいMake App用の開発マシン準備
  2. 02既存Make Appのパッケージマネージャーを維持したツール更新
  3. 03App開発前のMakeログイン確認

インストール

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

$npx skills add https://github.com/qfeius/make-platform-skills --skill make-env-setup

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

同梱ファイルagents/openai.yaml

詳細

make-env-setup

Make App をビルドできるように、このマシンを準備します。適切なツールチェーンを選択し、Make へのログインを確認して、新しい App の場合に限りプロジェクトフォルダーを初期化します。新しいマシンで実行し、ツールを更新する必要がある場合にも再度実行してください。リソースやデプロイの操作には makecli を使用し、実装には担当のスキルを使用してください。

安全に関するルール

  • トークン、Cookie、Authorization ヘッダー、パスワード、シークレットを出力したり保存したりしないでください。
  • PRD、DSL、Service、UI の各ファイルを手動で作成しないでください。選択したディレクトリで makecli app init のみを実行してください。
  • シークレットの対話形式での入力は、ユーザーが行う必要があります。チャットにシークレットを貼り付けるようユーザーに求めないでください。
  • npm を通じて pnpm をインストールしないでください。新しい App または明示的に移行した App では、以下の固定された Corepack/pnpm のベースラインを使用してください。互換性のある既存の npm または Yarn App では、宣言されたインストーラーとロックファイルを維持してください。この環境スキルによって pnpm に切り替えてはいけません。

プロジェクトモードの選択

  • 新しい App またはユーザーが明示的に希望するランタイム移行では、以下の固定された Node.js/Corepack/pnpm のベースラインに従ってください。ランタイム移行そのものは make-app-runtime の担当です。このセットアップの手順では、既存のリポジトリのマニフェストやロックファイルを変更しないでください。
  • 明示的な移行を伴わない既存の Make App では、ツールを選択する前に、ワークスペースの packageManager、Node の engines、Node の選択ファイル、ロックファイル、CI/インストールのワークフローを確認してください。npm や Yarn を含め、互換性のある宣言済みの Node とパッケージマネージャーを維持してください。ローカル環境を更新するだけの目的で、Corepack や pnpm を追加しないでください。これらの宣言に食い違いがある場合、必要なランタイムが不明な場合、またはターゲットプラットフォームのビルドイメージに互換性がない場合は、推測したり別のロックファイルを作成したりせずに停止し、問題を make-app-runtime に報告してください。
  • ターゲットフォルダーまたは新規/既存のモードが不明な場合は、プロジェクトのランタイムを選択したりフォルダーを初期化したりする前に、ユーザーに確認してください。

ツールチェーンのインストールまたは更新

このスキルは macOS、Linux、Windows に対応しています。新しい App または明示的に移行された App では、ランタイムが Node.js 22.20.0、同梱の Corepack 0.34.0、および [email protected] に固定されています。以下の手順 1~3 は、このモードにのみ適用されます。更新され続ける LTS リリース、Homebrew またはグローバルの pnpm バイナリ、新しい Corepack リリースで代用しないでください。

移行せずに既存の Make App を使用する場合は、アクティブな Node バイナリで宣言されている Node バージョンを確認し、確立済みの npm、Yarn、または Corepack 管理の pnpm ワークフローを使用してください。宣言されている Node がインストールされていない場合は、そのバージョンをインストールする前に確認してください。自動的な代替として 22.20.0 をインストールしないでください。App ファイルを書き換えずに、共通の git、makecli、Skill の確認に進んでください。

  1. 正確なバージョンの Node.js 22.20.0 と git が利用できることを確認します。どちらかがない場合は、ユーザーの確認後にのみ、各プラットフォーム固有の方法でインストールしてください。

    プラットフォームNode.js 22.20.0git
    macOSnvm install 22.20.0 を実行してインストールし、次に nvm use 22.20.0 で選択します。nvm を利用できない場合は、ユーザーが選択した正確なバージョンに対応するバージョン管理ツールを使用しますxcode-select --install、またはすでにインストールされている場合は Homebrew
    Linuxnvm install 22.20.0 を実行してインストールし、次に nvm use 22.20.0 で選択します。nvm を利用できない場合は、ユーザーが選択した正確なバージョンに対応するバージョン管理ツールを使用しますディストリビューションのパッケージ。例:apt install git
    Windowsnvm-windows などの正確なバージョンに対応するバージョン管理ツールで 22.20.0 をインストールして選択するか、公式の Node.js 22.20.0 インストーラーを使用しますwinget install Git.Git

    Make App のランタイムに、brew install node、apt install nodejs、winget install OpenJS.NodeJS.LTS などの更新され続けるパッケージマネージャーの式を使用しないでください。正確なバージョンに対応する Node 管理ツールが利用できない場合は、処理を中断してユーザーに選択を求めてください。

  2. pnpm をインストールする前に、固定された Node.js と Corepack の基準バージョンを確認します。以下のチェックはクロスプラットフォーム対応であり、両方に合格する必要があります。

    node -e 'if (process.versions.node !== "22.20.0") { throw new Error(`Make Apps require Node.js 22.20.0; got ${process.versions.node}`) }'
    node -e 'const { execFileSync } = require("node:child_process"); const actual = execFileSync("corepack", ["--version"], { encoding: "utf8" }).trim(); if (actual !== "0.34.0") { throw new Error(`Corepack must report 0.34.0; got ${actual}`) }'
    
  3. Corepack を有効にし、新規/移行済み App 用に固定された pnpm 基準バージョンをキャッシュします。npm、Homebrew、その他のグローバルパッケージマネージャー経由で pnpm をインストールしないでください。非推奨の corepack prepare ではなく、corepack install -g を使用してください。

    corepack enable
    corepack install -g [email protected]
    node -e 'const { execFileSync } = require("node:child_process"); const actual = execFileSync("corepack", ["pnpm", "--version"], { encoding: "utf8" }).trim(); if (actual !== "10.20.0") { throw new Error(`pnpm must report 10.20.0; got ${actual}`) }'
    
  4. makecli をインストールまたは更新します。makecli が存在する場合は makecli update --skip-skills を実行し、存在しない場合は npm install -g @qfeius/makecli を実行します。makecli update はインストール方法を認識します。npm または pnpm でインストールされている場合はそのパッケージマネージャー経由でアップグレードされ、それ以外のインストール方法の場合はバイナリがその場で置き換えられます。

    macOS または Linux で npm のグローバルインストールが EACCES で失敗した場合、sudo は使用しないでください。npm のグローバルプレフィックスをユーザー所有のディレクトリに設定し、そのディレクトリを PATH に追加してから再試行してください。

    npm config set prefix "$HOME/.npm-global"
    export PATH="$HOME/.npm-global/bin:$PATH"   # also add this line to the shell profile
    
  5. 実行のたびに Make プラットフォームのスキルをインストールまたは更新します。

    npx skills add qfeius/make-platform-skills --all -y
    

    コマンド出力に基づいて、インストール済み、更新済み、または最新の状態など、Make スキルの結果を簡潔に表示します。

バージョンの確認

新しい App または明示的に移行された App では、すべてのチェックを実行し、簡潔な概要を表示します。

node --version
npm --version
corepack --version
corepack pnpm --version
git --version
makecli version

このモードでは、Node は正確に v22.20.0、Corepack は正確に 0.34.0、pnpm は正確に 10.20.0 を返す必要があります。いずれかのチェックに失敗した場合は処理を中断し、アクティブなランタイムを修復してください。異なるバージョンで続行しないでください。

移行せずに既存の Make App を使用する場合は、node --version、git --version、makecli version と、プロジェクトで宣言されているパッケージマネージャーのコマンドのみ(pnpm に対応した App では npm --version、yarn --version、または corepack pnpm --version)を確認します。確認したマニフェスト、Node 選択ファイル、CI/インストールワークフローと比較してください。新しい App 用の固定された 3 つのバージョンを要求したり、npm/Yarn App に対して Corepack のチェックを実行したりしないでください。一致しない場合は処理を中断し、互換性の問題を make-app-runtime に引き継いでください。

ガイド付きログインでトークンを検証する

環境の設定が正常に完了したら、現在のトークンを確認します。

makecli configure verify --output=json

検証に成功した場合は、状況に応じてプロジェクトフォルダーの選択または初期化に進みます。

トークンがない、期限切れ、無効、または環境が異なることが原因で検証に失敗した場合は、次の手順を実行します。

  1. 次を実行します。
    makecli login --timeout=60s
    
    コマンドはブラウザーを開き、ログインコールバックを最大60秒間待機してから自動的に終了します。ブラウザーを開かずに認証URLを表示した場合は、そのURLをユーザーに伝えてください。
  2. コマンドが正常に終了した場合はログイン完了です。状況に応じて、プロジェクトフォルダーの選択または初期化に進みます。
  3. コマンドがタイムアウトまたはコールバックエラーで終了した場合は、ユーザーに次のように伝えてください。
    请在浏览器中完成 makecli 登录。完成后回复“已经完成登录”。
    
    その後、ユーザーが「已经完成登录」と返信するまで待ちます。
  4. ユーザーの返信後、makecli configure verify --output=json を実行します。valid が true の場合はログイン成功です。そのまま続行します。valid が false の場合は、手順1に戻ります。

ブラウザーログインが不便な場合は、トークンを使う代替手段を案内します。

makecli configure token

ユーザー自身のターミナルで、対話形式のシークレット入力を完了してもらう必要があります。入力完了後、makecli configure verify --output=json を実行してトークンを確認します。valid が false の場合は、トークンを再入力するようユーザーに依頼するか、上記のガイド付き makecli login フローに切り替えます。

App プロジェクトフォルダーを初期化する

既存の Make App について、再初期化の依頼がない場合は makecli app init を実行しないでください。現在のプロジェクトフォルダーをそのまま使い、その場所を伝えます。以下の手順は、新しい App またはユーザーが初期化を依頼した場合にのみ適用されます。

makecli app init は対象ディレクトリのベース名からアプリキーを導き出し、名前自体を検証します。このスキルで名前を事前検証しないでください。

  1. 候補を選びます。
    • ユーザーが作成したい App についてすでに説明している場合は、その説明に基づくフォルダー名を提案します。
    • そうでなく、現在のディレクトリが既存のプロジェクトではない場合は、現在の場所への初期化を提案します。
    • それ以外の場合は、make_app のような汎用的な名前を提案します。
  2. ユーザーに確認します。
    是否使用 <app-folder> 作为 App 目录?请回复 “是” 或 “否”。
    
    ユーザーが 是 または 否 以外で返信した場合は、同じプロンプトでもう一度尋ねます。
  3. ユーザーが 否 と返信した場合は、次のように尋ねます。
    请输入 App 目录地址:
    
    指定された絶対パスまたは相対パスをそのまま受け入れます。
  4. makecli app init <app-folder> を実行します。現在のディレクトリを初期化する場合は、引数なしで makecli app init を実行します。コマンドは必要に応じてディレクトリを作成し、冪等に動作します。
  5. init が無効なキーのエラーで失敗した場合、エラーメッセージに命名規則が記載されています。選んだ名前から規則に適合するフォルダー名を導き出し(例:contract-ledger → contract_ledger)、変更後の名前をユーザーに伝えてから再試行します。それ以外のエラーの場合は、エラーを報告し、再試行するか別のディレクトリを選ぶかをユーザーに尋ねます。init が成功するまで先に進まないでください。

セットアップ完了時の出力

選択したツールチェーンの検証とトークンの有効性確認が完了するまで、セットアップを終了しないでください(最初の検証に成功するか、ログインフローが成功している必要があります)。新しい App の場合は makecli app init の成功も必要です。既存の App の場合は、再初期化せずに、申告されたランタイムとフォルダーを検証する必要があります。簡潔な準備完了レポートを使用します。

  • ツールのバージョン:Node、git、makecli、および選択したプロジェクトのパッケージマネージャー。Corepack は、そのプロジェクトのワークフローで必要な場合のみ含めます。
  • Make スキルの結果。
  • ログイン状態:すでに有効、または makecli login で更新済み。
  • App フォルダー:初期化したディレクトリ、または検証済みの既存ディレクトリ。

完了時の出力は簡潔にし、次の手順に焦点を当てます。実行しなかった操作について、否定的な要約は含めないでください。

すべての確認に成功した場合は、次のように伝えます。

Make 开发环境已经准备好,可以进行下一步开发 App。

新しく初期化した App の場合は、次の短い例を提示します。

App 参考示例:

我要做一个 Make App,用来演示合同台账管理。
角色包括管理员和业务人员。
核心流程是新建合同、维护付款计划、查看合同列表和详情。
请先和我确认需求细节,生成 apps/docs/PRD.md,再进行 DSL 建模;DSL 必须先 diff,等我确认后才 apply。

コメント