frappe-app-dev

Builds full-stack Frappe Framework applications end-to-end. Use this skill any time the user mentions: creating or modifying a DocType, writing a controller or lifecycle hook, adding a whitelisted API, setting up a new Frappe app or bench site, building a desk form or list view, creating portal page

By frappe · 721 installs

npx skills add frappe/skills --skill frappe-app-dev

Source repository · Upstream listing

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](./references/new app.md) — covers bench setup, app scaffolding, site creation, and installation. Working on an existing app Read [existing app.md](./references/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](./references/site management.md) DocTypes Creating/modifying DocTypes, fields, naming [doctypes.md](./references/doctypes.md) Controllers Document lifecycle, server logic [controllers.md](./references/controllers.md) Whitelisted APIs REST endpoints, @frappe.whitelist() [api.md](./references/api.md) Database & ORM frappe.db , queries, raw SQL [database.md](./references/database.md) Caching Redis, frappe.cache [caching.md](./references/caching.md) Realtime WebSocket, publish realtime [realtime.md](./references/realtime.md) Background jobs frappe.enqueue , scheduled jobs [background jobs.md](./references/background jobs.md) Hooks hooks.py patterns [hooks.md](./references/hooks.md) Permissions Roles, DocType permissions, has permission [permissions.md](./references/permissions.md) Testing Writing & running tests [testing.md](./references/testing.md) Frontend & UI Desk UI, Vue SPA, portal pages [frontend.md](./references/frontend.md) (router → 3 sub files) Bench CLI All bench commands reference [bench operations.md](./references/bench operations.md)