diff --git a/README.md b/README.md
index 339a0e0..d855c8a 100644
--- a/README.md
+++ b/README.md
@@ -3,13 +3,18 @@
[](https://pypi.python.org/pypi/nexusx)
[](https://pepy.tech/projects/nexusx)
-> **Declare your SQLModel entities once — GraphQL, REST, MCP, CLI, and a
-> TypeScript SDK all derive from that single model.**
-
-nexusx is a Python library for SQLModel applications. You declare entities +
-relationships, `DefineSubset` DTOs, and use-case methods; nexusx derives every
-delivery protocol from that one model — sharing one DataLoader-backed query
-graph (N+1-proof) and the same typed DTOs everywhere.
+> **A framework for building MCP-first, Agent-first applications — declare
+> your SQLModel entities once; MCP, GraphQL, REST, CLI, and a TypeScript
+> SDK all derive from that single model.**
+
+nexusx is a Python framework for building **MCP-first, Agent-first
+applications** on SQLModel. You declare entities + relationships,
+`DefineSubset` DTOs, and use-case methods; nexusx derives every delivery
+protocol from that one model — sharing one DataLoader-backed query graph
+(N+1-proof) and the same typed DTOs everywhere. Its specialty: **APIs that
+agents understand easily** — an agent can always see what data exists,
+explore the API piece by piece, and fetch only the fields it needs, so the
+context window is spent on your data, not on decoding the interface.
What it removes: in a typical FastAPI + SQLModel app you re-declare the same
data shape for each transport — response models, GraphQL types, MCP tool
@@ -23,18 +28,29 @@ schemas, CLI arguments. nexusx collapses those re-declarations into one.
| A non-ORM async batch function | A relationship that joins the same loaders, DTOs, and ER diagrams |
| Entity `__federation_keys__` | Cross-service federation (auto-detected + batch-fetched) |
+**For AI** — nexusx builds **agent-first APIs**: MCP is a first-class protocol
+with **strong typing** and **GraphQL under the hood**. Three capabilities make
+an API easy for agents to use:
+
+- **See what data exists** (field awareness) — the schema describes every
+ type, field, and relationship with exact names and types, so an agent
+ always knows what the data looks like and what it can query.
+- **Explore the API piece by piece** (progressive disclosure) — the schema is
+ revealed on demand, layer by layer (app → service → method), so an agent
+ never has to load the whole schema into its context window up front.
+- **Fetch only what is needed** (field selection) — an agent asks for the
+ exact fields it wants; one MCP call returns the whole nested result, with
+ nothing extra.
+
+In short: the agent always has enough context to understand the data, and
+only pulls back what it needs — context is spent on your business data, not
+wasted. See [MCP & context efficiency](docs/mcp-context-efficiency.md) for
+the details.
+
**For Human** — write SQLModel entities + typed DTOs; get REST routes, GraphQL
schema, CLI, and TS SDK without boilerplate. Change business logic once → all
protocols update in sync.
-**For AI** — MCP is a first-class protocol with **strong typing** and
-**GraphQL under the hood** — the biggest win is **context efficiency**.
-Instead of dumping large, fixed-shape objects into the context window, AI agents
-**select exactly the fields they need**, with progressive disclosure on the
-schema side and DataLoader batch-loading on the data side: one MCP call returns
-a fully-nested, N+1-proof data tree — and only what was asked for. See
-[MCP & context efficiency](docs/mcp-context-efficiency.md) for the details.
-
## Installation
```bash
@@ -52,6 +68,51 @@ pip install "nexusx[cli]" # Typer CLI generation
nexusx requires Python 3.10 or newer.
+## Build an application with a single prompt
+
+The fastest start is not writing code at all. The
+[nexusx-4phase skill](skills/nexusx-4phase/) gives your coding agent a staged
+workflow over nexusx: first confirm the domain model, then build entities,
+GraphQL, and use-case APIs (REST / MCP / CLI), with an optional TypeScript
+SDK at the end. Install it with the open skills CLI (works with Claude Code,
+Codex, Cursor, and more):
+
+```bash
+npx skills add KLR-Pattern/nexusx -s nexusx-4phase -a claude-code
+```
+
+Then describe the application you want. The prompt below is the actual
+prompt that kicked off
+[MindMap X](https://github.com/allmonday/mindmap-x) (translated from the
+original Chinese):
+
+```text
+/nexusx-4phase
+
+Core requirements:
+
+- A mind map / tree editor
+- Humans can edit directly in a graphical interface
+- Agents can read and modify the same tree
+- Human and agent edits are visible to each other immediately
+- Self-hosted
+- Can be started or invoked directly from agent environments
+ like Claude Code or Codex
+
+Ideal state: start it with one command inside the agent, then let the agent
+reason about and modify the mind map while the human keeps editing in the
+browser at the same time.
+```
+
+The result is a complete, self-hosted application: a browser canvas for
+humans, an MCP server for agents — Claude Code joins the same tree with one
+command (`claude mcp add --transport http mindmap http://localhost:8740/mcp`)
+— plus CLI and REST on the same operations, all derived from one nexusx
+model. Humans and agents co-edit one tree and see each other's changes in
+real time. See the
+[MindMap X repository](https://github.com/allmonday/mindmap-x) for the full
+source.
+
## Why nexusx
A SQLModel application usually grows through the same stages:
@@ -660,12 +721,8 @@ Start with the layer your application needs:
| Compose engines in one process | [ComposedErManager](docs/advanced/composed_er_manager.md) |
For complete runnable examples, see [`demo/`](demo/). For the progressive
-Schema-to-SDK development workflow, install the [4-phase skill](skills/nexusx-4phase/)
-with the open skills CLI (works with Claude Code, Codex, Cursor, and more):
-
-```bash
-npx skills add KLR-Pattern/nexusx -s nexusx-4phase -a claude-code
-```
+Schema-to-SDK development workflow, see
+[Build an application with a single prompt](#build-an-application-with-a-single-prompt).
## Project
diff --git a/docs/index.md b/docs/index.md
index d7679af..3e2f688 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -2,26 +2,27 @@
template: home.html
home:
hero:
- badge: "Next-Gen Business Modeling · AI-Native · SQLModel"
+ badge: "MCP-First · Agent-First · SQLModel"
title: "Model your business once —
for humans and AI alike."
- subtitle: "Model your business entities, relationships, and use cases once — GraphQL, REST, MCP, CLI, and TS SDK all derive from it. Data is a graph; tools are just its projections."
+ subtitle: "A Python framework for building MCP-first, Agent-first applications: model entities, relationships, and use cases once — MCP, GraphQL, REST, CLI, and TS SDK all derive from it. Its specialty: APIs that agents understand easily — agents always have enough context to know what the data looks like, and fetch only the fields they need."
install: "pip install nexusx"
primary: {label: "Get Started", ref: "guide/quick_start"}
- secondary: {label: "GitHub", url: "https://github.com/allmonday/nexusx"}
+ secondary: {label: "GitHub", url: "https://github.com/KLR-Pattern/nexusx"}
sections:
# ── AI-native integration ──
- type: cards
muted: true
two: true
- title: "AI-native integration — not bolted on"
+ title: "Agent-first — not bolted on"
subtitle: "The same typed business model serves AI agents and developers as first-class consumers."
cards:
- icon: "🤖"
- title: "For AI — first-class"
- text: "MCP is a native protocol: strongly typed, GraphQL under the hood."
+ title: "For AI — APIs agents understand"
+ text: "MCP is a first-class protocol: strongly typed, GraphQL under the hood. Three capabilities make an API agent-friendly:"
bullets:
- - text: "Context efficiency — agents select exactly the fields they need; one call returns a nested, N+1-proof tree with only what was asked."
- - text: "Progressive disclosure — list_apps → describe_compose_schema → describe_compose_method → compose_query; the schema enters context piece by piece, never whole."
+ - text: "See what data exists (field awareness) — the schema describes every type, field, and relationship with exact names and types, so an agent always knows what the data looks like and what it can query"
+ - text: "Explore the API piece by piece (progressive disclosure) — list_apps → describe_compose_schema → describe_compose_method → compose_query; the schema enters context slice by slice, never as one dump"
+ - text: "Fetch only what is needed (field selection) — an agent picks the exact fields; one call returns the full nested data tree with only what was asked"
- {label: "MCP & context efficiency →", ref: "mcp-context-efficiency"}
- icon: "🧑💻"
title: "For Human — same model"
@@ -177,13 +178,21 @@ home:
# ── Build with an agent ──
- type: cards
- title: "Skip the API manual — build with an agent"
- subtitle: "Install the 4-phase skill into your coding agent — Claude Code, Codex, Cursor, and more — then describe your app in plain words. The agent drives the workflow; you review the model."
+ title: "Build an application with a single prompt"
+ subtitle: "Install the 4-phase skill into your coding agent — Claude Code, Codex, Cursor, and more — then describe your app in plain words. The agent drives the staged workflow; you review the model."
command: "npx skills add KLR-Pattern/nexusx -s nexusx-4phase -a claude-code"
cards:
- {icon: "🗺️", title: "Phase 0 — model the domain", text: "Confirm the domain model and persistence strategy with you before any code is written."}
- {icon: "🏗️", title: "Phase 1–3 — build the layers", text: "Entities and relationships, GraphQL helper surface, then UseCase REST / MCP / CLI deliveries."}
- {icon: "🚀", title: "Phase 4 — generate the SDK", text: "Optionally emit a typed TypeScript SDK from the compose schema."}
+ - icon: "🧠"
+ title: "Real case — MindMap X"
+ text: "The original prompt that built MindMap X was one line — /nexusx-4phase — plus a requirement list:"
+ bullets:
+ - text: "A mind map / tree editor"
+ - text: "Humans edit in a graphical interface; agents read and modify the same tree, with edits visible to both sides immediately"
+ - text: "Self-hosted, launchable directly from agent environments like Claude Code or Codex"
+ - text: "The result: a complete self-hosted app — browser canvas + MCP server + CLI + REST, all derived from one nexusx model"
# ── Integrations ──
- type: integrations
@@ -202,17 +211,17 @@ home:
title: "Start from entities, not boilerplate"
subtitle: "Declare the model once — the data graph, response DTOs, and every delivery follow."
primary: {label: "Read the Guide", ref: "guide/quick_start"}
- secondary: {label: "View on GitHub", url: "https://github.com/allmonday/nexusx"}
+ secondary: {label: "View on GitHub", url: "https://github.com/KLR-Pattern/nexusx"}
---
# nexusx
-**nexusx** is a next-generation business modeling tool with deep AI integration.
-Model your business entities, relationships, and use cases once — GraphQL,
-REST, MCP, CLI, and TS SDK all derive from that single model, sharing one
-DataLoader-backed query graph (N+1-proof) and one set of typed DTOs
-(`DefineSubset`): semantic-level isomorphism, not transport-level wrapping.
+**nexusx** is a Python framework for building MCP-first, Agent-first
+applications. Model your business entities, relationships, and use cases
+once — MCP, GraphQL, REST, CLI, and TS SDK all derive from that single model,
+sharing one DataLoader-backed query graph (N+1-proof) and one set of typed
+DTOs (`DefineSubset`): semantic-level isomorphism, not transport-level wrapping.
## Run It in 60 Seconds
diff --git a/docs/index.zh.md b/docs/index.zh.md
index e204d83..0c98541 100644
--- a/docs/index.zh.md
+++ b/docs/index.zh.md
@@ -2,26 +2,27 @@
template: home.html
home:
hero:
- badge: "次世代业务建模工具 · AI 原生 · SQLModel"
+ badge: "MCP 优先 · Agent 优先 · SQLModel"
title: "一次业务建模,
人与 AI 共享。"
- subtitle: "把业务实体、关系与用例建模一次,GraphQL、REST、MCP、CLI 与 TS SDK 全部派生。数据是一张图,工具只是它的投影视图。"
+ subtitle: "构建 MCP 优先、Agent 优先应用的 Python 框架:实体、关系与用例建模一次,MCP、GraphQL、REST、CLI 与 TS SDK 全部派生。特色:高效构建 Agent 容易理解的 API——Agent 有充分上下文了解数据,也只取所需字段。"
install: "pip install nexusx"
primary: {label: "快速开始", ref: "guide/quick_start"}
- secondary: {label: "GitHub", url: "https://github.com/allmonday/nexusx"}
+ secondary: {label: "GitHub", url: "https://github.com/KLR-Pattern/nexusx"}
sections:
# ── AI 原生集成 ──
- type: cards
muted: true
two: true
- title: "AI 原生集成,而非外挂"
+ title: "Agent 优先,而非外挂"
subtitle: "同一份类型化业务模型,AI 代理与开发者都是一级消费者。"
cards:
- icon: "🤖"
- title: "面向 AI —— 一等公民"
- text: "MCP 是原生协议:强类型,底层是 GraphQL。"
+ title: "面向 AI —— Agent 容易理解的 API"
+ text: "MCP 是一等公民协议:强类型,底层是 GraphQL。三个能力让 API 对 Agent 友好:"
bullets:
- - text: "Context 效率 —— agent 按需选字段,一次调用返回无 N+1 的嵌套数据树,且只要所求内容"
- - text: "渐进披露 —— list_apps → describe_compose_schema → describe_compose_method → compose_query,schema 按需分片进入上下文"
+ - text: "看得见有什么数据(字段信息感知)—— schema 精确描述每个类型、字段与关系,Agent 始终知道数据长什么样、能查什么"
+ - text: "一步步摸清 API(渐进披露)—— list_apps → describe_compose_schema → describe_compose_method → compose_query,schema 按需分片进入上下文,不必一次性全量加载"
+ - text: "要什么取什么(字段选择)—— Agent 指定所需字段,一次调用返回完整嵌套的数据树,且只要所求内容"
- {label: "MCP 与 context 效率 →", ref: "mcp-context-efficiency"}
- icon: "🧑💻"
title: "面向人类 —— 同一模型"
@@ -177,13 +178,21 @@ home:
# ── Agent 陪建 ──
- type: cards
- title: "不用啃 API 文档 —— 让 Agent 陪你建模"
- subtitle: "把 4-phase skill 装进你的编码 Agent(Claude Code、Codex、Cursor 等),用自然语言描述你的应用。Agent 驱动流程,你只需审视模型。"
+ title: "用一句 prompt 构建应用"
+ subtitle: "把 4-phase skill 装进你的编码 Agent(Claude Code、Codex、Cursor 等),然后用自然语言描述你想要的应用。Agent 驱动分阶段工作流,你只需审视模型。"
command: "npx skills add KLR-Pattern/nexusx -s nexusx-4phase -a claude-code"
cards:
- {icon: "🗺️", title: "Phase 0 —— 领域建模", text: "先和你确认领域模型与持久化策略,再动代码。"}
- {icon: "🏗️", title: "Phase 1–3 —— 逐层实现", text: "实体与关系、GraphQL 辅助接口、UseCase 的 REST / MCP / CLI 交付。"}
- {icon: "🚀", title: "Phase 4 —— 生成 SDK", text: "可选从 compose schema 生成类型化 TypeScript SDK。"}
+ - icon: "🧠"
+ title: "真实案例 —— MindMap X"
+ text: "构建 MindMap X 的原始 prompt,就是一句 /nexusx-4phase 加一张需求清单:"
+ bullets:
+ - text: "脑图 / 树状结构编辑器"
+ - text: "人类在图形界面直接编辑;Agent 读写同一棵树,双方修改即时可见"
+ - text: "支持 self-hosted,可从 Claude Code、Codex 这类 Agent 环境直接启动唤起"
+ - text: "成果是一个完整自托管应用:浏览器画布 + MCP 服务 + CLI + REST,全部派生自同一个 nexusx 模型"
# ── 技术栈 ──
- type: integrations
@@ -202,13 +211,13 @@ home:
title: "从实体开始,而不是样板代码"
subtitle: "声明一次模型 —— 数据图、响应 DTO 与所有交付随之而来。"
primary: {label: "阅读指南", ref: "guide/quick_start"}
- secondary: {label: "查看 GitHub", url: "https://github.com/allmonday/nexusx"}
+ secondary: {label: "查看 GitHub", url: "https://github.com/KLR-Pattern/nexusx"}
---
# nexusx
-**nexusx** 是一款深度集成 AI 的次世代业务建模工具。把业务实体、关系与用例建模一次,GraphQL、REST、MCP、CLI 与 TS SDK 全部由此派生,共享同一个 DataLoader 批量加载的查询图(无 N+1)和一套类型化 DTO(`DefineSubset`):语义级同构,而非传输层包装。
+**nexusx** 是一个构建 MCP 优先、Agent 优先应用的 Python 框架。把业务实体、关系与用例建模一次,MCP、GraphQL、REST、CLI 与 TS SDK 全部由此派生,共享同一个 DataLoader 批量加载的查询图(无 N+1)和一套类型化 DTO(`DefineSubset`):语义级同构,而非传输层包装。
## 60 秒运行起来