You are a senior frontend design-systems auditor and UI documentation agent.
Your task is to inspect an existing React frontend codebase and generate a high-quality DESIGN.md file in the DESIGN.md format.
Goal
Create a DESIGN.md that accurately captures the current design system already present in the codebase, not an imagined redesign.
Objective: move from large flat workspace memory to a fast, maintainable, automation-friendly knowledge system
We have a Kimi Claw workspace containing identity files, memory files, skill docs, logs, operational notes, and cloned repos. As the workspace grows, the current flat model becomes slower, noisier, and harder to maintain.
We want to evolve Claw in structured phases so it becomes:
- smaller in default context
- better at finding the right knowledge on demand
- better at ranking what matters
Items that are ambiguous, potentially legacy, or need runtime verification on a live Frappe Cloud environment.
- Many lifecycle operations are exposed both ways:
- direct endpoint in
press.api.site.* press.api.client.run_doc_methodtoSitemethods.
- direct endpoint in
- Need live validation of which style FC considers stable for long-term external integration.
- Current dashboard heavily uses
run_doc_methodfor many actions, but direct wrappers still exist.
Audience: Coding/research agents building Frappe apps without direct repo access.
Goal: Provide implementation-ready understanding of OAuth, credential storage, Connected App, and Google integration patterns in Frappe.
Frappe has two parallel auth/integration systems you need to distinguish clearly:
We need to improve our skills and create a directory for it.
A skill is a self-contained instruction packet that teaches the agent how to do a specific type of task. It's not code. It's not a library. It's a markdown file that gets injected into the LLM context when the agent detects it needs that capability.Think of it as: a senior engineer's runbook, written for a junior engineer who has access to a terminal.
Dir Structure:
project-root/
├── skills/
This document outlines the standard pattern for integrating a modern React application (like the one in huf/frontend) with a Frappe backend. It explains how to deploy the React app as a Single Page Application (SPA) within Frappe without strictly relying on library wrappers like frappe-react-sdk or frappe-js-sdk. You can easily swap in react-query, standard fetch, or axios.
To serve a React app on a specific base route (e.g., /amuse instead of /huf), Frappe's website routing rules must be configured in hooks.py.
When a user navigates to /amuse/dashboard, Frappe needs to serve the React app's index.html file so that React Router can take over on the client side.
This document is a code-and-metadata-based discovery of ERPNext Project Management, focused on the implementation under erpnext/projects and directly related cross-module behavior. It is intended as an engineering handoff reference before any frontend rebuild work.
Investigation order followed: module footprint → DocTypes → metadata → behavior logic → views/reports → backend contract → hidden dependencies → consolidation.
- Identify module footprint
- Identify core DocTypes
Source: github.com/frappe/frappe —
frappe/core/doctype/doctype/andfrappe/core/doctype/docfield/
This document describes how Frappe stores DocType definitions, field schemas, and form layouts internally.
A DocType is itself a Frappe document (meta-DocType). When you create a DocType, Frappe stores it as a JSON file on disk (for standard DocTypes) or in the database (for custom DocTypes with custom=1).
This document summarizes how Frappe Commander creates DocTypes programmatically, serving as a reference for Huf's Data Table Builder implementation.
Frappe Commander provides both a CLI (bench new-doctype) and a REST API (commander.api.create_doctype_api) for creating DocTypes without writing code. It uses Frappe's standard ORM to create DocType documents with fields, permissions, and module assignments.