AI Coding Agent for Frappe apps. Describe a bug fix, feature request, or improvement -- the agent reads the target app codebase, creates a plan, implements the changes, and opens a pull request on GitHub.
- Live Monitoring: Track agent progress in real-time with an auto-scrolling log console and visual status dashboard.
- Human-in-the-loop: Full control over every phase. Review and edit implementation plans and bench commands before they run.
- Smart Exploration: Powered by LangGraph, the agent performs deep codebase analysis to minimize hallucinations.
- Git Native: Automatically manages branches and creates clean Pull Requests on GitHub.
- Multi-Model Support: Choose between OpenAI, Google Gemini, or Anthropic Claude.
cd frappe-bench
bench get-app ampower_koda
bench --site your-site install-app ampower_koda
bench migrate
bench restart
- Frappe v15 or later
- Python 3.10+
- One of: OpenAI API key, Google AI Studio (Gemini) API key, or Anthropic (Claude) API key
- GitHub personal access token with repo scope
Python dependencies :
- langchain
- langgraph
- Open AI Agent Settings from the search bar.
- Check Enable AI Agent.
- Enter your API key for the provider you want to use (OpenAI, Gemini, or Claude).
- Optionally set a default provider and model.
- Save.
Each request goes through a multi-step pipeline with human approval gates. You can monitor the progress in real-time via the Live Log Panel and the visual Status Dashboard at the top of each request.
1. Explore -- agent reads the target app codebase
2. Plan -- agent creates a detailed implementation plan
3. Review -- you review and optionally edit the plan, then approve
4. Implement -- agent writes the code changes
5. Verify -- agent reviews its own implementation
6. Bench -- you see the exact bench commands and approve them
7. Push -- you review branch details and approve the push
8. Done -- pull request is created on GitHub
- Go to AI Agent Request list (search for it or find it under the AI Agents module).
- Click New.
- Fill in:
- Title -- short summary of what you need.
- Type -- Bug Fix, Feature Request, or Improvement.
- Description -- detailed explanation of the change.
- Provider and Model -- pick your AI provider and model.
- Target App Name -- the Frappe app directory name (e.g. ampower_task_manager).
- GitHub Repo URL -- full URL of the repository.
- GitHub Token -- personal access token.
- Base Branch -- the branch to base changes on (e.g. develop or main).
- Save the document.
- Click Start Agent.
The app remembers your most-used configuration (Target App Name, GitHub Repo URL, AI Provider, Model, Base Branch, Branch Prefix, Git identity) and pre-fills it on every new request. The GitHub token is never persisted across requests for security reasons you must enter it on each new request (or store it in AI Agent Settings as the encrypted default).
Plan Approval: After the agent explores the codebase and creates a plan, the status changes to Awaiting Approval. Read the plan in the Agent Plan section. You can edit it directly -- it is a Markdown editor. Click Approve Plan to proceed, or Reject Plan to cancel.
Bench Command Approval: After implementation and code review, the agent computes which bench commands are needed (migrate, build, clear-cache, restart). The status changes to Awaiting Bench Approval. Each command is shown as an editable checklist -- you can uncheck commands you want to skip, or edit the command strings directly before approving them.
Push Approval: After bench commands run and changes are committed to a branch, the status changes to Awaiting Push Approval. You can test the changes on your instance first. Review the branch and repository details, then click Approve Push to commit, push, and create the pull request.
Our AI Agent operations are designed with strict compliance and security measures in mind. All sensitive tokens are securely stored and encrypted, and every action requires explicit human approval to ensure full oversight.
These buttons appear in the Actions dropdown whenever the agent is not actively running:
- Checkout Base Branch -- switch back to the base branch and discard uncommitted changes.
- Run Bench Commands -- manually run migrate, build, clear-cache, and restart.
- Re-run Agent -- start over from scratch (explore, plan, implement).
- Execute Existing Plan -- skip exploration and use the existing plan.
Each request carries its own configuration:
- Target App Name -- directory name of the Frappe app to modify.
- GitHub Repo URL -- https://github.com/org/repo format.
- GitHub Token -- personal access token (stored encrypted).
- Base Branch -- branch to base changes on.
- Branch Prefix -- prefix for agent-created branches (default: ai-agent/).
- Git User Name / Email -- identity for commits.
These fields (except the GitHub Token) are remembered across requests using user settings.
For advanced use cases, you can override the agent's default logic on a per-request basis:
- Open an AI Agent Request.
- Go to the Prompts tab.
- Uncheck Use Default Prompts.
- In the Custom Prompts table, add one or more overrides:
- System Prompt: Global identity and constraints.
- Understand Prompt: How the agent explores the codebase.
- Plan Prompt: How the agent synthesizes findings into a task list.
- Implement Prompt: Instructions for the file-editing phase.
- Review Prompt: Criteria for self-review and verification.
If a prompt type is not explicitly added to the table, the agent will fall back to its internal system default for that phase.
Please note that we use LLMs, and the data (repositories) will be processed by an LLM. We do not consider this a data security concern, as this is how agentic workflows typically operate. To perform tasks on your data, the LLM must be able to access and read the relevant information. Appropriate security controls and data handling practices should still be followed to ensure the protection of sensitive information.
- OpenAI
- Anthropic
For more detailed guidance and tips, search for AI Agents Help in your Frappe search bar.
MIT