mcpField
F
frappe-project-triage

frappe-project-triage

github.com/lubusin开发69199 次安装12 周前更新
代码仓库

关于 frappe-project-triage

此技能帮助开发者快速检查 Frappe 项目,识别项目类型、已安装应用、版本和开发工具。适用于首次接手项目或修改代码前的环境摸查。

主要功能

  1. 01识别项目结构与类型
  2. 02检查已安装应用
  3. 03确认 Frappe 版本
  4. 04盘点开发工具与模式

适用场景

  1. 01初次打开 Frappe 项目时摸查环境
  2. 02修改代码前确认应用和版本
  3. 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/ 或应用代码的目录)
  • 运行 shell 命令的权限(用于检查版本)

流程

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 工作 → 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 shell 上下文找不到 bench 命令先使用 fm shell sitename
目录层级错误命令静默失败导航到 bench 根目录(包含 apps/ 的目录)
忽略自定义应用覆盖出现意外行为检查 hooks.py 中的覆盖项
未检查 Python 版本语法/兼容性错误确认 Python >= 3.10(适用于 v15+)

评论

支持 Markdown