frappe-manager について
Frappe Managerは、FM CLIでDockerベースのFrappe開発環境を管理するスキルです。サイトの作成と運用、アプリのインストール、エージェント主導の開発手順を扱います。
主な機能
- 01選択したアプリを含むFrappeサイトの作成
- 02サイトの起動、停止、状態確認
- 03コンテナ内でのbenchコマンド実行
- 04fmxによるサービス管理
- 05再現可能な開発環境の運用
活用シーン
- 01ローカルのFrappe開発サイトの構築
- 02分離されたテスト環境の作成
- 03完全なbench環境なしでの試作
- 04AIエージェントによるFrappeアプリ開発
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lubusin/ frappe-skills --skill frappe-managerインストール後、Claude Code で/frappe-managerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/agent-workflow.mdbench-commands.mdbench.mddocker-config.mdfm-commands.mdfrappe-manager.mdssl-setup.md詳細
Frappe Manager
Frappe Manager(FM)を使用して、Docker ベースの Frappe 開発環境を管理します。
使用するタイミング
- ローカルの Frappe 開発環境をセットアップするとき
- 分離されたテスト環境を作成するとき
- エージェント主導の開発(バイブコーディング)ワークフローで使用するとき
- bench を完全にセットアップせずに、すばやくプロトタイプを作成するとき
- 複数のマシンで再現可能な環境を構築するとき
必要な入力
- Docker がインストールされ、実行されていること
- Python 3.11+ と pipx
- サイト/bench 名
- インストールするアプリ(frappe、erpnext、hrms、カスタム)
- 環境タイプ(dev/prod)
手順
0) Frappe Manager をインストールする
# Install via pipx
pipx install frappe-manager
# Enable shell completion
fm --install-completion
1) サイトを作成する
# Basic site (frappe only)
fm create mysite
# Site with ERPNext
fm create mysite --apps erpnext:version-15
# Site with multiple apps
fm create mysite --apps erpnext --apps hrms --environment dev
# Production site with SSL
fm create example.com --apps erpnext --env prod --ssl letsencrypt
2) サイトを管理する
# List all sites
fm list
# Start/stop site
fm start mysite
fm stop mysite
# View site info
fm info mysite
# View logs (follow)
fm logs mysite -f
# Delete site
fm delete mysite
3) 開発ワークフロー
# Access shell inside container
fm shell mysite
# Inside container - common commands:
bench new-app my_custom_app
bench --site mysite install-app my_custom_app
bench --site mysite migrate
bench build --app my_custom_app
bench --site mysite run-tests --app my_custom_app
# Exit shell
exit
# Open in VSCode
fm code mysite
# Open with debugger
fm code mysite --debugger
4) エージェント主導の開発
Frappe アプリを開発する AI エージェントに最適です:
# 1. Setup: Create fresh environment
fm create testsite --apps erpnext:version-15 --environment dev
fm start testsite
# 2. Develop: Enter shell, create app
fm shell testsite
bench new-app my_app
bench --site testsite install-app my_app
# ... make code changes ...
exit
# 3. Test: Run tests
fm shell testsite
bench --site testsite run-tests --app my_app
exit
# 4. Verify: Check logs
fm logs testsite -f
# 5. Reset if needed: Start fresh
fm stop testsite
fm delete testsite
fm create testsite --apps erpnext:version-15 --environment dev
5) 内部サービスの管理(fmx)
コンテナ内では、サービスの制御に fmx を使用します:
fm shell mysite
fmx status # Check service status
fmx restart # Restart Frappe services
fmx start # Start services
fmx stop # Stop services
検証
- http://mysite.localhost でサイトにアクセスできる
- 管理者の認証情報(デフォルト:admin/admin)でログインできる
- カスタムアプリがインストールされ、表示されている
- コンテナ内でテストが正常に実行される
- ログに重大なエラーが表示されていない
失敗時の対処/デバッグ
- Docker が実行されていない:Docker デーモンを起動します
- ポートの競合:別のサイト名を使用するか、ポート 80/443 を確認します
- サイトにアクセスできない:
fm listでステータスを確認し、fm startを試します - アプリをインストールできない:
fm logsでエラーを確認します - 起動が遅い:初回実行時はイメージがダウンロードされるため、しばらくお待ちください
エスカレーション
- 高度な Docker 設定については、references/docker-config.md を参照してください
- SSL の問題については、references/ssl-setup.md を参照してください
- bench コマンドについては、references/bench-commands.md を参照してください
参考資料
- references/fm-commands.md - FM コマンドの完全なリファレンス
- references/agent-workflow.md - エージェント開発のパターン
- references/bench-commands.md - コンテナ内の Bench CLI
- https://github.com/rtCamp/Frappe-Manager
注意事項
- 操作前に必ずバックアップする:大きな変更や更新の前に
fm backup <site>を実行します - 名前付きサイトを使用する:汎用的な名前は避け、プロジェクトを識別できる説明的なサイト名を使用します
- SSH アクセスを確認する:アプリのインストール前に、プライベートリポジトリ用の SSH キーが設定されていることを確認します
- Docker のステータスを確認する:操作前に
fm doctorを実行して、Docker と FM の状態を確認します - コマンドには
fm shellを使用する:bench コマンドを実行する前に、必ずコンテナのシェルに入ります
よくある間違い
| 間違い | 失敗する理由 | 修正方法 |
|---|---|---|
fm shell の外で bench コマンドを実行する | 「Command not found」と表示される、または別のサイトが対象になる | まず必ず fm shell <site> を実行します |
| サイトのコンテキストが正しくない | 操作が別のサイトに影響する | プロンプトに正しいサイトが表示されていることを確認し、bench --site <site> を使用します |
| 再作成時にボリュームを引き継がない | データが失われる | fm recreate --keep-volumes を使用するか、先にバックアップします |
fm doctor を実行しない | 設定の問題が見過ごされる | fm doctor を実行して問題を診断します |
サイト URL に localhost を使用する | DNS 名前解決の問題が発生する | ローカルアクセスには <site>.localhost 形式を使用します |
再起動後に fm start を実行し忘れる | サイトにアクセスできない | fm start <site> または fm start --all を実行します |
コメント
Markdown 対応