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
- 01Separates new-app and existing-app workflows
- 02Loads references relevant to the task
- 03Guides site, DocType, and controller development
- 04Covers APIs, databases, permissions, and testing
- 05Sets rules for running bench commands
Use cases
- 01Build a Frappe app from scratch
- 02Add features to an existing Frappe app
- 03Implement DocTypes, APIs, or background jobs
- 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-devAfter installing, type/frappe-app-devin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with 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.mdDetails
From the project READMEFrappe 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/ Procfileyourself. - Do not create DocType folders with
mkdir. Frappe creates them viabench migrate. - Run
bench startin 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 barebench 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:
| Topic | When to load | File |
|---|---|---|
| Site management | Finding/creating/managing sites | site-management.md |
| DocTypes | Creating/modifying DocTypes, fields, naming | doctypes.md |
| Controllers | Document lifecycle, server logic | controllers.md |
| Whitelisted APIs | REST endpoints, @frappe.whitelist() | api.md |
| Database & ORM | frappe.db, queries, raw SQL | database.md |
| Caching | Redis, frappe.cache | caching.md |
| Realtime | WebSocket, publish_realtime | realtime.md |
| Background jobs | frappe.enqueue, scheduled jobs | background-jobs.md |
| Hooks | hooks.py patterns | hooks.md |
| Permissions | Roles, DocType permissions, has_permission | permissions.md |
| Testing | Writing & running tests | testing.md |
| Frontend & UI | Desk UI, Vue SPA, portal pages | frontend.md (router → 3 sub-files) |
| Bench CLI | All bench commands reference | bench-operations.md |
Comments
Markdown supported