router について
routerは、Frappeの作業内容に応じて適切な専門スキルを案内するガイドです。コード変更の前に、プロジェクトとFrappeのバージョンを確認することも推奨します。
主な機能
- 01作業内容に応じた専門スキルの案内
- 02事前のプロジェクト調査の推奨
- 03複数スキルの組み合わせ提案
- 04バージョンとサイトの確認事項
活用シーン
- 01不慣れなFrappeプロジェクトでの作業開始
- 02DocType、API、UI作業に必要なスキルの選定
- 03複数の開発領域にまたがる機能の計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lubusin/ frappe-skills --skill routerインストール後、Claude Code で/routerを入力して読み込まれたか確認します。
詳細
Frappe ルーター
タスクに応じて、適切な Frappe スキルに振り分けます。
使用するタイミング
- Frappe 関連の作業を始める際の最初のステップ
- タスクに適用する専門スキルを判断するとき
手順
0) タスクの種類を特定する
| タスク | スキル |
|---|---|
| プロジェクトの構成、バージョン、アプリを把握する | → project-triage |
| 新しいアプリ、フック、アーキテクチャ、バックグラウンドジョブを作成する | → app-development |
| DocType、フィールド、コントローラーを作成・変更する | → doctype-development |
| REST/RPC API、Webhook、連携機能を構築する | → api-development |
| Desk UI、フォームスクリプト、リストビュー、JS API をカスタマイズする | → desk-customization |
| Frappe UI を使った Vue 3 フロントエンドやポータルを構築する | → frontend-development |
| CRM/Helpdesk/HRMS の UI/UX パターンを利用する | → ui-patterns |
| 印刷フォーマット、メールテンプレート、Jinja、PDF を作成する | → printing-templates |
| レポート(Builder、Query、Script)を作成する | → reports |
| データ収集用の公開 Web フォームを作成する | → web-forms |
| テストを作成・実行する | → testing |
| Docker/FM で開発環境をセットアップする | → frappe-manager |
| CRM/Helpdesk/エンタープライズシステムを構築する | → enterprise-patterns |
1) まずトリアージを実行する(推奨)
詳細な作業に入る前に、project-triage を実行して以下を把握します。
- プロジェクトの種類(bench/FM/standalone)
- Frappe のバージョン
- インストール済みアプリ
- 利用可能なツール
2) 必要に応じてスキルを組み合わせる
複雑なタスクでは、複数のスキルが必要になる場合があります。
- 新しいアプリ =
app-development+doctype-development+api-development+testing - UI を含む機能 =
doctype-development+desk-customization+api-development - カスタムフロントエンド =
frontend-development+api-development - ドキュメントのワークフロー =
doctype-development+printing-templates+reports - エンタープライズアプリ =
enterprise-patterns+doctype-development
簡単な判断ツリー
Is this about understanding the project?
→ project-triage
Is this about creating a new app or app architecture?
→ app-development
Is this about data models or DocTypes?
→ doctype-development
Is this about APIs or external access?
→ api-development
Is this about Desk UI, form scripts, or client-side JS?
→ desk-customization
Is this about a Vue 3 frontend or portal?
→ frontend-development
Is this about UI/UX patterns or app design?
→ ui-patterns
Is this about print formats, PDFs, or Jinja templates?
→ printing-templates
Is this about reports or data analysis views?
→ reports
Is this about public web forms?
→ web-forms
Is this about testing?
→ testing
Is this about local dev environment?
→ frappe-manager
Is this a complex enterprise system?
→ enterprise-patterns
ガードレール
- 不明なプロジェクトでコードを変更する前に、必ず最初にトリアージを実行してください
- 機能を推奨する前にFrappe のバージョンを確認してください(API の利用可否は v13、v14、v15、v16 で大きく異なります)
- ERPNext を前提にしないでください。多くのプロジェクトでは ERPNext を使わず、Frappe Framework のみを使用しています
- サイトのコンテキストを確認してください。
bench migrateなどのコマンドは特定のサイトに影響します
よくある間違い
| 間違い | 失敗する理由 | 対処法 |
|---|---|---|
| プロジェクトのトリアージを省略する | バージョンに合わないパターンを適用してしまう | 必ず最初にトリアージを実行する |
| Frappe のみのプロジェクトで ERPNext 専用コードを使用する | モジュールが見つからないエラーが発生する | まずインストール済みアプリを確認する |
| タスクに合わないスキルを使う | 実装が不完全になる | タスクの種類とスキルを慎重に照合する |
| バージョンの違いを無視する | API が非推奨または利用できない | スキルのリファレンスでバージョン互換性を確認する |
| 間違ったサイトで作業する | 変更が反映されない | 必ず --site フラグを指定する |
| フロントエンドに標準の JS/jQuery を使用する | エコシステムに合わない | frontend-development を通じて Frappe UI(Vue 3)を使用する |
| CRUD アプリにカスタムアプリシェルを使用する | UX に一貫性がなくなる | enterprise-patterns を通じて CRM/Helpdesk のパターンに従う |
コメント
Markdown 対応