frappe-agent is an AI coding assistant plugin for Frappe Framework, ERPNext, and the broader Frappe ecosystem. It gives Codex, Claude Code, Cursor, GitHub Copilot, and other assistant workflows Frappe-specific guidance for bench inspection, ERPNext customization, DocType design, SQL/ORM decisions, and ecosystem app development.
A Frappe and ERPNext agent plugin for AI coding tools, with skills for backend, frontend, bench operations, SQL, customization, DocType design, ERPNext modules, Frappe Helpdesk, Frappe CRM, Frappe LMS, Frappe Gameplan, Frappe Drive, Frappe HRMS, Frappe Insights, Frappe Builder, and Frappe Payments. Live plugin profile: hol.org/registry/plugins/dhairya-marwaha%2Ffrappe-agent
- Frappe full-stack reasoning across backend, frontend, customization, and bench work
- Bench-aware inspection before app installs, migrations, or environment changes
- Frappe-native SQL and ORM guidance
- Customization-layer routing for
Custom Field,Property Setter,Client Script,Server Script,Workspace,Web Page,Report,Dashboard, and related surfaces - DocType form UX guidance for useful fields, tabs, sections, columns, and required-field discipline
- ERPNext-aware guidance for accounting, selling, buying, stock, manufacturing, projects, HR, CRM, support, education, payments, and reporting
- Ecosystem app guidance for Helpdesk, CRM, LMS, Gameplan, Drive, HRMS, Insights, Builder, and Payments
- Frontend guidance for Vue, React,
frappe-ui, desk pages,www, and external SPA patterns
frappe-fullstackfrappe-backendfrappe-frontendfrappe-benchfrappe-sqlfrappe-customizationfrappe-doctype-designfrappe-searchfrappe-erpnextfrappe-helpdeskfrappe-crmfrappe-lmsfrappe-gameplanfrappe-drivefrappe-hrmsfrappe-insightsfrappe-builderfrappe-payments
This repository currently ships:
- a real Codex plugin
- a native Claude Code plugin package and marketplace file
- portable and reusable Cursor rules plus command files
- GitHub Copilot repository instructions
Codex supports repo marketplaces and local plugin installation.
If you cloned this repository locally, add it as a local marketplace:
codex marketplace add /path/to/frappe-agentThen enable frappe-agent from the added marketplace in Codex and restart Codex in a fresh session.
Local repo flow:
- Clone this repository somewhere on disk.
- Run:
codex marketplace add /path/to/frappe-agent- Enable
frappe-agentfrom that marketplace in Codex. - Restart Codex.
GitHub repo flow:
- Clone this repository or open the repo locally.
- Run:
codex marketplace add /path/to/local/clone/of/frappe-agent- Enable
frappe-agentand restart Codex.
This repo includes:
.codex-plugin/plugin.json.agents/plugins/marketplace.json
so it can act as a self-contained Codex plugin repository.
Claude Code supports plugins and plugin marketplaces.
This repository now includes:
.claude-plugin/plugin.json.claude-plugin/marketplace.jsoncommands/skills/
Install from GitHub with:
/plugin marketplace add Dkm0315/frappe-agent
/plugin install frappe-agent@frappe-agent --scope local
Install from a local clone with:
/plugin marketplace add /path/to/frappe-agent
/plugin install frappe-agent@frappe-agent --scope local
For local development:
claude --plugin-dir /path/to/frappe-agentLocal repo flow:
- Clone this repository locally.
- In Claude Code, run:
/plugin marketplace add /path/to/frappe-agent
/plugin install frappe-agent@frappe-agent --scope local
- Run
/reload-pluginsif Claude is already open.
After updates during a session, reload plugins with:
/reload-plugins
Cursor uses repository instructions such as AGENTS.md, .cursor/rules, and .cursor/commands.
This repository now includes:
AGENTS.md.cursor/rules/frappe-agent.mdc.cursor/commands/*.md
To install them into a local project repository:
cp /path/to/frappe-agent/AGENTS.md /path/to/your-frappe-project/AGENTS.md
mkdir -p /path/to/your-frappe-project/.cursor/rules
cp /path/to/frappe-agent/.cursor/rules/frappe-agent.mdc /path/to/your-frappe-project/.cursor/rules/frappe-agent.mdc
mkdir -p /path/to/your-frappe-project/.cursor/commands
cp /path/to/frappe-agent/.cursor/commands/*.md /path/to/your-frappe-project/.cursor/commands/Or use symlinks during development:
ln -s /path/to/frappe-agent/AGENTS.md /path/to/your-frappe-project/AGENTS.md
mkdir -p /path/to/your-frappe-project/.cursor
ln -s /path/to/frappe-agent/.cursor/rules /path/to/your-frappe-project/.cursor/rules
ln -s /path/to/frappe-agent/.cursor/commands /path/to/your-frappe-project/.cursor/commandsCursor does not currently use the same repo-marketplace plugin install flow here that Claude Code does, so the practical local installation path is still repo-level rules and commands.
Copilot uses repository custom instructions and agent instructions.
To install the local guidance into a repository:
mkdir -p /path/to/your-frappe-project/.github
cp /path/to/frappe-agent/.github/copilot-instructions.md /path/to/your-frappe-project/.github/copilot-instructions.md
cp /path/to/frappe-agent/AGENTS.md /path/to/your-frappe-project/AGENTS.mdOr use symlinks during development:
mkdir -p /path/to/your-frappe-project/.github
ln -s /path/to/frappe-agent/.github/copilot-instructions.md /path/to/your-frappe-project/.github/copilot-instructions.md
ln -s /path/to/frappe-agent/AGENTS.md /path/to/your-frappe-project/AGENTS.mdCopilot does not use the same plugin marketplace flow here, so the practical local installation path is repository instructions.
GitHub Releases are built by .github/workflows/release.yml.
Create a release from a tag:
git tag v0.1.0
git push upstream v0.1.0Or run the Release workflow manually from GitHub Actions and provide a version such as 0.1.0.
Each release uploads:
frappe-agent-{version}.zipfrappe-agent-{version}.tar.gzfrappe-agent-{version}.sha256
Ask a supported AI coding assistant to use the plugin naturally in the prompt:
Use Frappe Agent to inspect this bench before changing anything.
Use Frappe Agent to choose the right Frappe customization layer for adding fields to Sales Order.
Use Frappe Agent to design a clean DocType layout for a service request workflow.
Use Frappe Agent to review whether this Frappe SQL should use frappe.db, frappe.qb, or raw SQL.
Use Frappe Agent to decide whether this UI should be a desk page, a www page, a Vue frappe-ui page, or a React SPA.
Use Frappe Agent to design a Helpdesk ticket workflow with SLA, assignment, portal, and reporting needs.
Use Frappe Agent to plan a Frappe CRM pipeline customization and decide what belongs in CRM versus ERPNext Selling.
Use Frappe Agent to improve SEO and form UX for a Frappe Builder landing page.
frappe-agent/
├── .agents/
│ └── plugins/
│ └── marketplace.json
├── .cursor/
│ ├── commands/
│ │ └── frappe-*.md
│ └── rules/
│ └── frappe-agent.mdc
├── .claude-plugin/
│ ├── marketplace.json
│ └── plugin.json
├── .codex-plugin/
│ └── plugin.json
├── .github/
│ ├── copilot-instructions.md
│ └── workflows/
│ ├── plugin-scan.yml
│ └── release.yml
├── AGENTS.md
├── CLAUDE.md
├── commands/
│ └── frappe-*.md
├── skills/
│ └── frappe-*/
└── README.md
This repository is now:
- a Codex-native plugin package
- a Claude Code-native plugin package
- a Cursor-ready repository rules and commands bundle
- a Copilot-ready repository instructions bundle
Planned future work:
- official Claude marketplace submission
- deeper Copilot instruction coverage
- Inspect first, mutate second
- Prefer Frappe-native customization surfaces before invasive code changes
- Separate ERPNext configuration work from framework-code work
- Respect bench context, app provenance, and version boundaries
- Help agents make fewer generic Python, JavaScript, SQL, and frontend mistakes in Frappe codebases
- Add more first-class skills for custom fields, reports, workflows, dashboards, upgrade planning, and additional Frappe ecosystem apps
- Add better source-backed command and flag coverage for Bench
- Add deeper distribution adapters for Claude Code, Cursor, and Copilot
- Add richer repo examples and team onboarding docs
MIT