用途:在打开新的 Frappe/ERPNext 代码库、修改代码前或调试时,先快速判断项目类型、已安装应用、版本和开发环境(Bench 还是 Frappe Manager),以便路由到后续合适的技能。
主要能力:识别项目结构(apps/ 与 sites/ 为 Bench 安装;含 frappe 的 docker-compose.yml 为 Frappe Manager 站点;含 frappe 的 pyproject.toml 或 setup.py 为独立应用;doctype/ 目录表示位于应用模块内);检测已安装应用;检查 Frappe 版本;识别工具链(Procfile、docker-compose.yml、cypress/、.github/workflows/、含 @frappe/* 的 package.json);检查开发模式。
使用方式:需要项目根路径与可执行 shell 命令的权限。常用命令:bench --site <site> list-apps、ls apps/、bench version、bench --site <site> console 后查看 frappe.version 与 frappe.conf.developer_mode。完成后按固定格式记录项目类型、版本、已安装应用、开发模式、工具链与站点名。
适用场景:新项目上手、改动前理解代码库、调试时确认涉及的应用与版本、判断开发环境。
限制与注意:排查完成前不要修改代码;运行站点命令前确认站点存在;做 DocType 修改前检查 developer_mode;注意自定义应用可能覆盖标准行为;前端构建需兼容的 Node 版本(v15 通常需 18+);v15+ 需 Python >= 3.10。常见错误包括未指定 --site、假设已装 ERPNext、缺少 FM shell 上下文、目录层级错误。若结构不清晰,可查 hooks.py、sites/common_site_config.json 或 git remote。