diff --git a/docs/guide/intro.en-US.md b/docs/guide/intro.en-US.md
new file mode 100644
index 00000000..cf1e3d2e
--- /dev/null
+++ b/docs/guide/intro.en-US.md
@@ -0,0 +1,45 @@
+---
+title: Quick Start
+group:
+ title: Getting Started Quickly
+ order: 1
+nav:
+ title: Documentation
+ order: 1
+---
+
+# Quick Start
+
+ProEditor is positioned as an editor UI framework, aiming to provide rich and easy-to-use basic components and atomic capabilities for the "editing" scenario.
+
+## Installation
+
+```bash
+# @ant-design/pro-editor is based on antd and antd-style, and needs to be installed in the project
+$ npm install antd antd-style -S
+$ npm install @ant-design/pro-editor -S
+```
+
+### Using Components
+
+ProEditor provides a series of components optimized for the "editing" scenario, including but not limited to "SortableList", "SortableTree", "DraggablePanel", "Highlight", "ContextMenu", and more. For complete component documentation, please refer to: [Basic Components](/components/action-icon)
+
+Below is a typical array object editing scenario. Our provided ColumnList can help developers quickly implement a high-quality array editing component.
+
+
+
+### Component Assembler
+
+Initially, ProEditor was positioned as a visual configuration framework for components. Therefore, ProEditor provides a series of containers and atomic components for visual component assembly, helping developers quickly implement a visual configuration component.
+
+See: [ProEditor Assembler Container](/pro-editor)
+
+## Engineering Capabilities
+
+### On-Demand Loading
+
+ProEditor supports tree shaking based on ES modules by default. Directly importing `import { ActionIcon } from '@ant-design/pro-editor';` will achieve on-demand loading.
+
+### TypeScript
+
+ProEditor is developed using TypeScript, thus providing complete type definitions.
diff --git a/docs/guide/nextjs.en-US.md b/docs/guide/nextjs.en-US.md
new file mode 100644
index 00000000..6bff665c
--- /dev/null
+++ b/docs/guide/nextjs.en-US.md
@@ -0,0 +1,78 @@
+---
+title: NextJs
+group:
+ title: Framework Usage
+ order: 5
+---
+
+## Integration with Next.js
+
+[Next.js](https://nextjs.org/) is a very popular development framework in the community, and integrating ProEditor with Next.js is very easy.
+
+```bash
+npx create-next-app@latest
+```
+
+### Dependency Installation
+
+```bash
+npm install @ant-design/pro-editor --save
+or
+pnpm install @ant-design/pro-editor
+```
+
+Since Next.js is a CSR/SSR isomorphic React framework, and ProChat only provides esm modules by default, after installation, you need to add relevant dependencies to `transpilePackages` in `next.config.(m)js`:
+
+> In the latest version of NextJS 14 AppRoute, this configuration is no longer needed
+
+```js
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ // Convert pure esm modules to node-compatible modules
+ transpilePackages: ['@ant-design/pro-editor'],
+};
+```
+
+### Usage
+
+Taking the `SortableList` component as an example, if it is a project created by the default scaffolding, you can simply write the following code in `page.js|tsx` to see it in action.
+
+```js
+'use client';
+import type { ColumnItemList } from '@ant-design/pro-editor';
+import { ColumnList } from '@ant-design/pro-editor';
+import { useState } from 'react';
+
+const tableColumnValueOptions = [
+ // ... (omitted for brevity)
+];
+
+type SchemaItem = {
+ title: string,
+ valueType: string,
+ dataIndex: string,
+};
+
+const INIT_VALUES = [
+ // ... (omitted for brevity)
+];
+
+const columns: ColumnItemList = [
+ // ... (omitted for brevity)
+];
+
+export default () => {
+ const [value, setValue] = useState(INIT_VALUES);
+
+ return (
+ {
+ setValue(values);
+ console.log('onChange', values);
+ }}
+ />
+ );
+};
+```
diff --git a/docs/guide/umi.en-US.md b/docs/guide/umi.en-US.md
new file mode 100644
index 00000000..e48f107e
--- /dev/null
+++ b/docs/guide/umi.en-US.md
@@ -0,0 +1,121 @@
+---
+title: Umi
+group:
+ title: Framework Usage
+ order: 5
+---
+
+## Integration with Umi
+
+In the development scene of the middle and back office, [umi](https://umijs.org/) is a very good choice. Integrating `ProEditor` with `umi` is very easy. After installation, you can use it directly.
+
+```bash
+npx create-umi@latest
+or
+yarn create umi
+pnpm dlx create-umi@latest
+```
+
+### Dependency Installation
+
+After creating it
+
+```bash
+npm install @ant-design/pro-editor --save
+or
+pnpm install @ant-design/pro-editor
+```
+
+### Usage
+
+```js
+import type { ColumnItemList } from '@ant-design/pro-editor';
+import { ColumnList } from '@ant-design/pro-editor';
+import { useState } from 'react';
+
+const tableColumnValueOptions = [
+ { label: 'index', value: 'index' },
+ { label: 'indexBorder', value: 'indexBorder' },
+ { label: 'digit', value: 'digit' },
+ { label: 'password', value: 'password' },
+ { label: 'money', value: 'money' },
+ { label: 'text', value: 'text' },
+ { label: 'textarea', value: 'textarea' },
+ { label: 'date', value: 'date' },
+ { label: 'option', value: 'option' },
+ { label: 'dateTime', value: 'dateTime' },
+ { label: 'dateWeek', value: 'dateWeek' },
+ { label: 'dateMonth', value: 'dateMonth' },
+ { label: 'dateQuarter', value: 'dateQuarter' },
+ { label: 'dateYear', value: 'dateYear' },
+ { label: 'dateRange', value: 'dateRange' },
+ { label: 'dateTimeRange', value: 'dateTimeRange' },
+ { label: 'time', value: 'time' },
+ { label: 'timeRange', value: 'timeRange' },
+ { label: 'select', value: 'select' },
+ { label: 'checkbox', value: 'checkbox' },
+ { label: 'rate', value: 'rate' },
+ { label: 'radio', value: 'radio' },
+ { label: 'radioButton', value: 'radioButton' },
+ { label: 'progress', value: 'progress' },
+ { label: 'percent', value: 'percent' },
+ { label: 'second', value: 'second' },
+ { label: 'avatar', value: 'avatar' },
+ { label: 'code', value: 'code' },
+ { label: 'switch', value: 'switch' },
+ { label: 'fromNow', value: 'fromNow' },
+ { label: 'image', value: 'image' },
+ { label: 'jsonCode', value: 'jsonCode' },
+ { label: 'color', value: 'color' },
+];
+
+type SchemaItem = {
+ title: string,
+ valueType: string,
+ dataIndex: string,
+};
+
+const INIT_VALUES = [
+ { title: 'Index', valueType: 'indexBorder', dataIndex: 'index' },
+ {
+ title: 'Enterprise',
+ valueType: 'text',
+ dataIndex: 'name',
+ },
+ { title: 'Company', valueType: 'text', dataIndex: 'authCompany' },
+];
+
+const columns: ColumnItemList = [
+ {
+ title: 'Title',
+ dataIndex: 'title',
+ type: 'input',
+ },
+ {
+ title: 'ValueType',
+ dataIndex: 'valueType',
+ type: 'select',
+ options: tableColumnValueOptions,
+ },
+ {
+ title: 'DataIndex',
+ dataIndex: 'dataIndex',
+ type: 'select',
+ },
+];
+
+export default () => {
+ const [value, setValue] = useState(INIT_VALUES);
+
+ return (
+ {
+ setValue(values);
+ console.log('onChange', values);
+ }}
+ />
+ );
+};
+```