frappe-router

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Frappe Router

Frappe Router

Route to the appropriate Frappe skill based on your task.
根据你的任务匹配对应的Frappe技能。

When to use

适用场景

  • First step when starting any Frappe-related work
  • To determine which specialized skill applies to your task
  • 开展任何Frappe相关工作的第一步
  • 确定你的任务适用哪种专业技能

Procedure

操作流程

0) Identify task type

0) 识别任务类型

TaskSkill
Understand project structure, versions, apps
frappe-project-triage
Scaffold new app, hooks, architecture, background jobs
frappe-app-development
Create/modify DocTypes, fields, controllers
frappe-doctype-development
Build REST/RPC APIs, webhooks, integrations
frappe-api-development
Customize Desk UI, form scripts, list views, JS API
frappe-desk-customization
Build Vue 3 frontends with Frappe UI, portals
frappe-frontend-development
UI/UX patterns from CRM/Helpdesk/HRMS
frappe-ui-patterns
Create print formats, email templates, Jinja, PDFs
frappe-printing-templates
Build reports (Builder, Query, Script)
frappe-reports
Create public web forms for data collection
frappe-web-forms
Write or run tests
frappe-testing
Set up dev environment with Docker/FM
frappe-manager
Build CRM/Helpdesk/enterprise systems
frappe-enterprise-patterns
任务对应技能
了解项目结构、版本、应用
frappe-project-triage
搭建新应用、钩子、架构、后台任务
frappe-app-development
创建/修改DocTypes、字段、控制器
frappe-doctype-development
构建REST/RPC API、webhook、集成功能
frappe-api-development
自定义Desk界面、表单脚本、列表视图、JS API
frappe-desk-customization
结合Frappe UI、门户搭建Vue 3前端
frappe-frontend-development
从CRM/Helpdesk/HRMS中提取UI/UX模式
frappe-ui-patterns
创建打印格式、邮件模板、Jinja模板、PDF
frappe-printing-templates
构建报表(报表构建器、查询报表、脚本报表)
frappe-reports
创建用于数据收集的公共Web表单
frappe-web-forms
编写或运行测试
frappe-testing
使用Docker/FM搭建开发环境
frappe-manager
构建CRM/Helpdesk/企业系统
frappe-enterprise-patterns

1) Run triage first (recommended)

1) 建议先执行项目诊断(triage)

Before deep work, run
frappe-project-triage
to understand:
  • Project type (bench/FM/standalone)
  • Frappe version
  • Installed apps
  • Available tooling
在深入开展工作前,先运行
frappe-project-triage
来了解:
  • 项目类型(bench/FM/独立部署)
  • Frappe版本
  • 已安装的应用
  • 可用工具

2) Combine skills as needed

2) 根据需要组合技能

Complex tasks may require multiple skills:
  • New app =
    frappe-app-development
    +
    frappe-doctype-development
    +
    frappe-api-development
    +
    frappe-testing
  • Feature with UI =
    frappe-doctype-development
    +
    frappe-desk-customization
    +
    frappe-api-development
  • Custom frontend =
    frappe-frontend-development
    +
    frappe-api-development
  • Document workflow =
    frappe-doctype-development
    +
    frappe-printing-templates
    +
    frappe-reports
  • Enterprise app =
    frappe-enterprise-patterns
    +
    frappe-doctype-development
复杂任务可能需要多种技能组合:
  • 新应用 =
    frappe-app-development
    +
    frappe-doctype-development
    +
    frappe-api-development
    +
    frappe-testing
  • 带UI的功能 =
    frappe-doctype-development
    +
    frappe-desk-customization
    +
    frappe-api-development
  • 自定义前端 =
    frappe-frontend-development
    +
    frappe-api-development
  • 文档工作流 =
    frappe-doctype-development
    +
    frappe-printing-templates
    +
    frappe-reports
  • 企业级应用 =
    frappe-enterprise-patterns
    +
    frappe-doctype-development

Quick decision tree

快速决策树

Is this about understanding the project?
  → frappe-project-triage

Is this about creating a new app or app architecture?
  → frappe-app-development

Is this about data models or DocTypes?
  → frappe-doctype-development

Is this about APIs or external access?
  → frappe-api-development

Is this about Desk UI, form scripts, or client-side JS?
  → frappe-desk-customization

Is this about a Vue 3 frontend or portal?
  → frappe-frontend-development

Is this about UI/UX patterns or app design?
  → frappe-ui-patterns

Is this about print formats, PDFs, or Jinja templates?
  → frappe-printing-templates

Is this about reports or data analysis views?
  → frappe-reports

Is this about public web forms?
  → frappe-web-forms

Is this about testing?
  → frappe-testing

Is this about local dev environment?
  → frappe-manager

Is this a complex enterprise system?
  → frappe-enterprise-patterns
是否需要了解项目情况?
  → frappe-project-triage

是否需要创建新应用或设计应用架构?
  → frappe-app-development

是否涉及数据模型或DocTypes?
  → frappe-doctype-development

是否涉及API或外部访问?
  → frappe-api-development

是否涉及Desk界面、表单脚本或客户端JS?
  → frappe-desk-customization

是否涉及Vue 3前端或门户?
  → frappe-frontend-development

是否涉及UI/UX模式或应用设计?
  → frappe-ui-patterns

是否涉及打印格式、PDF或Jinja模板?
  → frappe-printing-templates

是否涉及报表或数据分析视图?
  → frappe-reports

是否涉及公共Web表单?
  → frappe-web-forms

是否涉及测试工作?
  → frappe-testing

是否涉及本地开发环境搭建?
  → frappe-manager

是否是复杂的企业级系统?
  → frappe-enterprise-patterns

Guardrails

注意事项

  • Always run triage first before making code changes to unknown projects
  • Check Frappe version before recommending features (API availability varies significantly between v13, v14, v15, v16)
  • Don't assume ERPNext - many projects use Frappe Framework without ERPNext
  • Verify site context - commands like
    bench migrate
    affect specific sites
  • 务必先执行项目诊断:在对未知项目进行代码修改前,一定要先做诊断
  • 检查Frappe版本:在推荐功能前先确认版本(v13、v14、v15、v16之间的API可用性差异很大)
  • 不要默认使用ERPNext:很多项目仅使用Frappe Framework而不包含ERPNext
  • 验证站点上下文:类似
    bench migrate
    的命令会影响特定站点

Common Mistakes

常见错误

MistakeWhy It FailsFix
Skipping project triageApplying wrong patterns for versionAlways run triage first
Using ERPNext-specific code in Frappe-only projectsModule not found errorsCheck installed apps first
Wrong skill for taskIncomplete implementationMatch task type to skill carefully
Ignoring version differencesDeprecated/missing APIsCheck version compatibility in skill references
Working on wrong siteChanges don't appearAlways specify
--site
flag
Using vanilla JS/jQuery for frontendsEcosystem mismatchUse Frappe UI (Vue 3) via
frappe-frontend-development
Custom app shell for CRUD appsInconsistent UXFollow CRM/Helpdesk patterns via
frappe-enterprise-patterns
错误失败原因修复方案
跳过项目诊断针对错误版本应用了不匹配的模式务必先执行项目诊断
在仅使用Frappe的项目中使用ERPNext专属代码出现模块未找到错误先检查已安装的应用
任务与技能不匹配实现不完整仔细匹配任务类型与对应技能
忽略版本差异API已弃用或缺失在技能参考中检查版本兼容性
在错误的站点上操作修改未生效务必指定
--site
参数
前端使用原生JS/jQuery与生态系统不兼容通过
frappe-frontend-development
使用Frappe UI(Vue 3)
为CRUD应用自定义应用外壳用户体验不一致通过
frappe-enterprise-patterns
遵循CRM/Helpdesk的设计模式