# frappe-app-dev

Guides full-stack development for the Frappe Framework. It handles DocType setup, controller hooks, REST APIs, and bench CLI commands.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1100 installs · ★ 158
- Author: frappe
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/frappe/skills/tree/HEAD/skills/frappe-app-dev/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/frappe-app-dev

## What it does

This skill structures full-stack Frappe Framework workflows directly inside the coding assistant. It guides tasks from scaffolding new sites to writing DocType controllers, `@frappe.whitelist()` endpoints, and WebSocket events. Instead of wasting turns on discovery commands like `bench --version`, the agent inspects the file tree directly with `ls apps/ sites/ Procfile`.

The rules enforce strict execution constraints. Folders for DocTypes must not be created manually with `mkdir`, because the framework creates them during migrations. Every bench migration command requires an explicit `--site <site>` flag, preventing unintended modifications across multiple sites in the same environment.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add frappe/skills --skill frappe-app-dev -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/frappe-app-dev/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/frappe-app-dev/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add frappe/skills --skill frappe-app-dev -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/frappe-app-dev/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add frappe/skills --skill frappe-app-dev -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/frappe-app-dev/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install frappe/skills frappe-app-dev
```

2. **Manually: put the files in place**
- File: `.github/skills/frappe-app-dev/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add frappe/skills --skill frappe-app-dev -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/frappe/skills --path skills/frappe-app-dev
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/frappe-app-dev/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add frappe/skills --skill frappe-app-dev -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/frappe/skills/tree/HEAD/skills/frappe-app-dev/SKILL.md

## When to use it
- scaffold new DocTypes and configure controller lifecycle hooks
- create REST endpoints using the `@frappe.whitelist()` decorator
- dispatch asynchronous background jobs with `frappe.enqueue`
- run site-specific migrations using explicit bench flags

## Example prompts
- Add a custom field to the Customer DocType and run migrate for site test.local
- Write a whitelisted API method that returns order records
- Create a scheduled background task in hooks.py

## Similar
- [convex-explain-app](https://affpapa.org/en/nevibecode/skills/convex-explain-app.md) — skill · 35900 installs
- [dx-app-analytics-query](https://affpapa.org/en/nevibecode/skills/dx-app-analytics-query.md) — skill · 5200 installs
- [nextjs-app-router-patterns](https://affpapa.org/en/nevibecode/skills/nextjs-app-router-patterns.md) — skill · 32529 installs
- [power-apps-code-app-scaffold](https://affpapa.org/en/nevibecode/skills/power-apps-code-app-scaffold.md) — skill · 8700 installs
- [chatgpt-app-builder](https://affpapa.org/en/nevibecode/skills/chatgpt-app-builder.md) — skill · 7100 installs
- [build-mcp-app](https://affpapa.org/en/nevibecode/skills/build-mcp-app.md) — skill · 6458 installs

From the same set: [frappe/skills](https://affpapa.org/en/nevibecode/by/frappe/skills.md) — 5 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
