关于 frappe-app-dev
frappe-app-dev 是帮助开发者创建或扩展 Frappe 全栈应用的技能。它按任务选择对应流程和参考文档,并规定 bench、站点和开发操作的执行方式。
主要功能
- 01区分新应用与现有应用开发流程
- 02按任务读取相关参考文档
- 03提供站点、DocType 与控制器开发指引
- 04涵盖 API、数据库、权限和测试
- 05规定 bench 命令的执行方式
适用场景
- 01从头搭建 Frappe 应用
- 02为现有 Frappe 应用添加功能
- 03实现 DocType、API 或后台任务
- 04管理 Frappe 站点并运行测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ frappe/ skills --skill frappe-app-dev安装后在 Claude Code 中输入/frappe-app-dev确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/api.mdbackground-jobs.mdbench-operations.mdcaching.mdcontrollers.mddatabase.mddoctypes.mdexisting-app.mdfrontend-desk.mdfrontend-portal.mdfrontend-vue.mdfrontend.mdhooks.mdnew-app.mdpermissions.mdrealtime.mdsite-management.mdtesting.md详细介绍
Frappe 全栈应用构建器
全局规则
- 使用裸命令
bench。不要使用./env/bin/bench,也不要使用完整路径。 - 不要运行
which bench、bench --version、bench --help,也不要检查 frappe 版本。不要运行任何探查命令。 - 不要将检测 bench 的工作委派给子 Agent。请自行运行
ls apps/ sites/ Procfile。 - 不要使用
mkdir创建 DocType 文件夹。Frappe 会通过bench migrate创建这些文件夹。 - 仅在后台进程中运行
bench start。 - 运行
bench start前,检查是否已在现有终端中运行。不要启动第二个实例。 - 始终为 bench 命令显式传入
--site <site>。绝不要直接运行bench migrate。
流程选择
确定适用的流程,然后只阅读相关文件:
创建全新应用
阅读 new-app.md — 涵盖 bench 设置、应用脚手架搭建、站点创建和安装。
使用现有应用
阅读 existing-app.md — 涵盖查找 bench、定位应用、确认站点和扩展功能。
功能参考
仅加载当前任务所需的参考资料:
| 主题 | 加载时机 | 文件 |
|---|---|---|
| 站点管理 | 查找、创建或管理站点 | site-management.md |
| DocTypes | 创建或修改 DocType、字段和命名 | doctypes.md |
| 控制器 | 文档生命周期、服务器逻辑 | controllers.md |
| 白名单 API | REST 端点、@frappe.whitelist() | api.md |
| 数据库与 ORM | frappe.db、查询、原始 SQL | database.md |
| 缓存 | Redis、frappe.cache | caching.md |
| 实时功能 | WebSocket、publish_realtime | realtime.md |
| 后台任务 | frappe.enqueue、计划任务 | background-jobs.md |
| Hooks | hooks.py 模式 | hooks.md |
| 权限 | 角色、DocType 权限、has_permission | permissions.md |
| 测试 | 编写和运行测试 | testing.md |
| 前端与 UI | Desk UI、Vue SPA、门户页面 | frontend.md(路由 → 3 个子文件) |
| Bench CLI | 所有 bench 命令参考 | bench-operations.md |
评论
支持 Markdown