frappe-project-triage について
Frappe プロジェクトの種類、インストール済みアプリ、バージョン、利用可能なツールを素早く調べるためのスキルです。初期調査やコード変更前の確認に使えます。
主な機能
- 01プロジェクト構成と種類の特定
- 02インストール済みアプリの確認
- 03Frappe バージョンの確認
- 04ツールと開発モードの把握
活用シーン
- 01Frappe プロジェクトを開いた際の環境調査
- 02コード変更前のアプリとバージョン確認
- 03デバッグ時のプロジェクトツール把握
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lubusin/ frappe-skills --skill frappe-project-triageインストール後、Claude Code で/frappe-project-triageを入力して読み込まれたか確認します。
詳細
Frappe プロジェクトのトリアージ
Frappe プロジェクトをすばやく分析し、種類、インストール済みアプリ、バージョン、利用可能なツールを確認します。
使用するタイミング
- 新しい Frappe プロジェクトを開いたときの最初の手順として
- コードを変更する前に、コードベースを把握するため
- デバッグ時に、関係するアプリやバージョンを特定するため
- 開発環境(Bench と Frappe Manager)を特定するため
必要な入力
- プロジェクトのルートパス(
apps/、sites/、またはアプリのコードがある場所) - シェルコマンドを実行する権限(バージョンの確認用)
手順
0) プロジェクト構造を特定する
次のパターンを確認します。
| パターン | プロジェクトの種類 |
|---|---|
apps/ と sites/ ディレクトリ | Bench インストール |
frappe を含む docker-compose.yml | Frappe 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.yml | Docker/FM |
cypress/ | UI テストを利用可能 |
.github/workflows/ | CI を設定済み |
@frappe/* を含む package.json | JS ビルドツール |
4) 開発モードを確認する
# Check site config
bench --site <site> console
>>> frappe.conf.developer_mode
検証
- プロジェクトの種類を特定済み(bench/FM/スタンドアロンアプリ)
- インストール済みアプリを一覧表示済み
- Frappe のバージョンを確認済み
- 開発モードの状態を確認済み
- 利用可能なツールを記録済み
失敗例/デバッグ
- サイトが見つからない:アプリのディレクトリ内にいる可能性があります。bench のルートに移動してください
- bench コマンドが見つからない:bench 環境ではありません。
fm shellを使うか、venv を有効にしてください - 権限エラー:正しいユーザーとして実行しているか確認してください
エスカレーション
プロジェクト構造が不明確な場合:
- アプリのルートを特定するために
hooks.pyを探します - bench のルートを特定するために
sites/common_site_config.jsonを探します - アプリのリポジトリを特定するために 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 の作業 →
frappe-doctype-development - API の作業 →
frappe-api-development - テスト →
frappe-testing - エンタープライズパターン →
frappe-enterprise-patterns
ガードレール
- トリアージを完了する前にコードを変更しないでください。まずプロジェクトを把握してください
- 標準の動作を上書きする可能性のあるカスタムアプリを確認してください
- サイト固有のコマンドを実行する前にサイトが存在することを確認してください
- スキーマを変更する前にdeveloper_mode を確認してください(DocType の変更に必要です)
- Node.js のバージョンを記録してください。フロントエンドのビルドには互換性のある Node が必要です(v15 では通常 18 以上)
よくある間違い
| 間違い | 失敗する理由 | 修正方法 |
|---|---|---|
サイトを指定せずに bench migrate を実行する | 誤ったサイト、またはデフォルトのサイトに影響します | 必ず --site sitename を指定してください |
| ERPNext がインストール済みだと思い込む | インポートエラーや DocType の不足が発生します | まず list-apps の出力を確認してください |
| FM シェルのコンテキストがない | bench コマンドが見つかりません | まず fm shell sitename を実行してください |
| ディレクトリ階層が違う | コマンドが失敗しても何も表示されません | bench のルート(apps/ がある場所)に移動してください |
| カスタムアプリによる上書きを無視する | 予期しない動作が発生します | hooks.py で上書きを確認してください |
| Python のバージョンを確認しない | 構文エラーや互換性エラーが発生します | v15 以降では Python >= 3.10 であることを確認してください |
コメント
Markdown 対応