mcpField
P
project-triage

project-triage

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

关于 project-triage

供开发者开始处理 Frappe 代码库前检查项目的技能,可识别项目类型、已安装应用、Frappe 版本、开发模式和可用工具。

主要功能

  1. 01识别项目结构与类型
  2. 02列出已安装应用
  3. 03检查 Frappe 版本和开发模式
  4. 04识别开发与测试工具
  5. 05记录项目检查结果

适用场景

  1. 01了解不熟悉的 Frappe 项目
  2. 02调试前确认版本
  3. 03选择后续开发技能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lubusin/frappe-skills --skill project-triage

安装后在 Claude Code 中输入/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 remote,以识别应用仓库

输出格式

完成初步排查后,记录:

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 工作 → doctype-development
  • API 工作 → api-development
  • 测试 → testing
  • 企业模式 → enterprise-patterns

防护措施

  • 完成初步排查前,绝不修改代码——先了解项目
  • 检查是否存在自定义应用,这些应用可能会覆盖标准行为
  • 运行站点专用命令前,确认站点存在
  • 进行架构更改前,检查 developer_mode(修改 DocType 时必须开启)
  • 记录 Node.js 版本——前端构建需要兼容的 Node.js 版本(v15 通常需要 18+)

常见错误

错误失败原因修复方法
未指定站点就运行 bench migrate影响错误的站点或默认站点始终使用 --site sitename
假设已安装 ERPNext导入错误、缺少 DocType先检查 list-apps 输出
缺少 FM shell 上下文找不到 bench 命令先使用 fm shell sitename
目录层级错误命令静默失败导航至 bench 根目录(存在 apps/ 的位置)
忽略自定义应用覆盖行为异常检查 hooks.py 中的覆盖项
未检查 Python 版本语法/兼容性错误确认 v15+ 使用 Python >= 3.10

评论

支持 Markdown