mcpField
P
project-triage

project-triage

github.com/lubusin開発69100 回インストール12 週間前に更新
リポジトリ

project-triage について

Frappe のコードベースに着手する前に調査する開発者向けスキルです。プロジェクト種別、インストール済みアプリ、Frappe のバージョン、開発モード、利用可能なツールを確認します。

主な機能

  1. 01プロジェクト構造と種別の特定
  2. 02インストール済みアプリの一覧表示
  3. 03Frappe のバージョンと開発モードの確認
  4. 04開発・テストツールの特定
  5. 05調査結果の記録

活用シーン

  1. 01不慣れな Frappe プロジェクトの把握
  2. 02デバッグ前のバージョン確認
  3. 03次に使う開発スキルの選定

インストール

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

$npx skills add https://github.com/lubusin/frappe-skills --skill project-triage

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

詳細

Frappe プロジェクトのトリアージ

Frappe プロジェクトをすばやく分析し、タイプ、インストール済みアプリ、バージョン、利用可能なツールを確認します。

使用するタイミング

  • 新しい Frappe プロジェクトを開いたときの最初の手順として
  • コードを変更する前に、コードベースを理解するため
  • デバッグ時に、関係するアプリやバージョンを特定するため
  • 開発環境(Bench と Frappe Manager)を特定するため

必要な入力

  • プロジェクトのルートパス(apps/、sites/、またはアプリのコードがある場所)
  • シェルコマンドを実行するためのアクセス権(バージョン確認用)

手順

0) プロジェクト構成を特定する

次のパターンを確認します。

パターンプロジェクトタイプ
apps/ と sites/ ディレクトリBench インストール
frappe を含む docker-compose.ymlFrappe Manager サイト
frappe を含む pyproject.toml または setup.pyスタンドアロンアプリ
doctype/ ディレクトリアプリモジュール内
1) インストール済みアプリを検出する
# Inside Bench/FM shell
bench --site <site> list-apps

# Or check apps directory
ls apps/
2) Frappe のバージョンを確認する
# Inside Bench/FM shell
bench version

# Or check from Python
bench --site <site> console
>>> frappe.__version__
3) ツールを特定する
ファイル/ディレクトリツール
Procfile標準の bench
docker-compose.ymlDocker/FM
cypress/UI テストが利用可能
.github/workflows/CI が設定済み
@frappe/* を含む package.jsonJS ビルドツール
4) 開発モードを確認する
# Check site config
bench --site <site> console
>>> frappe.conf.developer_mode

検証

  • プロジェクトタイプを特定した(bench/FM/スタンドアロンアプリ)
  • インストール済みアプリを一覧にした
  • Frappe のバージョンを確認した
  • 開発モードの状態を確認した
  • 利用可能なツールを記録した

失敗のパターン/デバッグ

  • サイトが見つからない:アプリディレクトリ内にいる可能性があります。bench のルートに移動してください
  • bench コマンドが見つからない:bench 環境ではありません。fm shell を使用するか、venv を有効にしてください
  • 権限エラー:正しいユーザーで実行しているか確認してください

エスカレーション

プロジェクト構成が不明な場合:

  1. hooks.py を探してアプリのルートを特定します
  2. sites/common_site_config.json を探して bench のルートを特定します
  3. git のリモートを確認してアプリのリポジトリを特定します

出力形式

トリアージ後、次の内容を記録します。

Project Type: [bench|frappe-manager|standalone-app]
Frappe Version: X.Y.Z
Installed Apps: [list]
Developer Mode: [yes|no]
Tooling: [list]
Site Name: <site>

この出力を使って、適切なスキルに振り分けます。

  • DocType の作業 → doctype-development
  • API の作業 → api-development
  • テスト → testing
  • エンタープライズパターン → enterprise-patterns

ガードレール

  • トリアージを完了する前にコードを変更しないでください。まずプロジェクトを理解してください
  • 標準の動作を上書きする可能性があるカスタムアプリを確認してください
  • サイト固有のコマンドを実行する前に、サイトの存在を確認してください
  • スキーマを変更する前にdeveloper_modeを確認してください(DocType の変更に必須です)
  • Node.js のバージョンを記録してください。フロントエンドのビルドには互換性のある Node が必要です(v15 では通常 18 以降)

よくある間違い

間違い失敗する理由修正方法
サイトを指定せずに bench migrate を実行する間違ったサイト、またはデフォルトのサイトに影響する常に --site sitename を使用する
ERPNext がインストール済みだと思い込むインポートエラーや DocType の不足が発生するまず list-apps の出力を確認する
FM shell のコンテキストがないbench コマンドが見つからないまず fm shell sitename を使用する
ディレクトリ階層を間違えるコマンドがエラーを出さずに失敗するbench のルート(apps/ がある場所)に移動する
カスタムアプリによる上書きを無視する予期しない動作が発生するhooks.py で上書きを確認する
Python のバージョンを確認しない構文エラーや互換性エラーが発生するv15 以降では Python >= 3.10 であることを確認する

コメント