Specification
Skill ID
frappe/skills/frappe-app-dev
Publisher
frappe
Repository
skills
Installs
0
Files
19
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

frappe/skills/frappe-app-devInstalls these files
  • SKILL.md
  • references/api.md
  • references/background-jobs.md
  • references/bench-operations.md
  • references/caching.md
  • references/controllers.md
  • references/database.md
  • references/doctypes.md
  • references/existing-app.md
  • references/frontend-desk.md
  • references/frontend-portal.md
  • references/frontend-vue.md
  • references/frontend.md
  • references/hooks.md
  • references/new-app.md
  • references/permissions.md
  • references/realtime.md
  • references/site-management.md
  • references/testing.md

What this skill tells the agent

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

Use this skill in a project

Open any RiverX project, search the Skills panel for frappe/skills/frappe-app-dev, and install it in one click.

Use this skill