mcpField
F
frappe-app-dev

frappe-app-dev

github.com/frappeDevelopment1591.2k installsUpdated 2d ago
Repository

About frappe-app-dev

frappe-app-dev is a skill for developers building or extending full-stack Frappe apps. It selects task-specific workflows and references, and specifies how to handle bench commands, sites, and development operations.

Key features

  1. 01Separates new-app and existing-app workflows
  2. 02Loads references relevant to the task
  3. 03Guides site, DocType, and controller development
  4. 04Covers APIs, databases, permissions, and testing
  5. 05Sets rules for running bench commands

Use cases

  1. 01Build a Frappe app from scratch
  2. 02Add features to an existing Frappe app
  3. 03Implement DocTypes, APIs, or background jobs
  4. 04Manage Frappe sites and run tests

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/frappe/skills --skill frappe-app-dev

After installing, type/frappe-app-devin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
api.md
background-jobs.md
bench-operations.md
caching.md
controllers.md
database.md
doctypes.md
existing-app.md
frontend-desk.md
frontend-portal.md
frontend-vue.md
frontend.md
hooks.md
new-app.md
permissions.md
realtime.md
site-management.md
testing.md

Details

From the project README

Frappe Full-Stack App Builder

Global Rules

  • Use bare bench. Not ./env/bin/bench. Not a full path.
  • Do not run which bench, bench --version, bench --help, or check frappe version. No discovery commands.
  • Do not delegate bench detection to a subagent. Run ls apps/ sites/ Procfile yourself.
  • Do not create DocType folders with mkdir. Frappe creates them via bench migrate.
  • Run bench start in a background process only.
  • Before running bench start, check if it's already running in an existing terminal. Do not start a second instance.
  • Always pass --site <site> explicitly to bench commands. Never run bare bench migrate.

Flow Selection

Determine which flow applies, then read ONLY the relevant file:

Creating a brand new app

Read new-app.md — covers bench setup, app scaffolding, site creation, and installation.

Working on an existing app

Read existing-app.md — covers finding the bench, locating the app, confirming site, and extending features.

Feature References

Load ONLY the references needed for the current task:

TopicWhen to loadFile
Site managementFinding/creating/managing sitessite-management.md
DocTypesCreating/modifying DocTypes, fields, namingdoctypes.md
ControllersDocument lifecycle, server logiccontrollers.md
Whitelisted APIsREST endpoints, @frappe.whitelist()api.md
Database & ORMfrappe.db, queries, raw SQLdatabase.md
CachingRedis, frappe.cachecaching.md
RealtimeWebSocket, publish_realtimerealtime.md
Background jobsfrappe.enqueue, scheduled jobsbackground-jobs.md
Hookshooks.py patternshooks.md
PermissionsRoles, DocType permissions, has_permissionpermissions.md
TestingWriting & running teststesting.md
Frontend & UIDesk UI, Vue SPA, portal pagesfrontend.md (router → 3 sub-files)
Bench CLIAll bench commands referencebench-operations.md

Comments

Markdown supported