MCPcopy
hub / github.com/baidu/amis

github.com/baidu/amis @6.13.0 sqlite

repository ↗ · DeepWiki ↗ · release 6.13.0 ↗
14,482 symbols 36,852 edges 2,127 files 827 documented · 6%
README
<img width="284" src="https://github.com/baidu/amis/raw/master/examples/static/logo.png">

Documentation (China) | Documentation (Global) | Visual Editor | amis-admin | AiSuDa

Ruliu Group: 3395342 | Ruliu Group 2: 5511067 |

build license version language codecov last

A low-code front-end framework that allows you to generate various backend pages using JSON configuration, greatly reducing development costs, and even eliminating the need for front-end expertise.

Development Guide

The following is for those who want to contribute to the development of amis. For usage, refer to the documentation above.

If GitHub downloads are slow, you can use the mirror on gitee.

Node.js versions 12/14/16 are recommended. Use npm 7+ because the workspaces feature is required.

# Install project dependencies. There may be errors with Node.js 12, but they don't affect normal use.
npm i --legacy-peer-deps

# Start the project. Once compilation is complete, access it at http://127.0.0.1:8888/examples/pages/simple.
npm start

If you're developing the editor, access it at http://127.0.0.1:8888/packages/amis-editor/.

Testing

Note: After modifying code locally, you must run npm run build to complete compilation before executing test cases (npm test --workspaces), as Jest doesn't support TypeScript directly.

# Install dependencies
npm i --legacy-peer-deps

# Build the project
npm run build

# Run all test cases
npm test --workspaces

# Run a specific test case
# <spec-name> is the name of the test case, e.g., inputImage
npm test --workspace amis -- -t <spec-name>

# Run a specific test file
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx

# Run a specific example in a test file
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx -t 'Renderer:button-toolbar'

# View test coverage
npm run coverage

# Update snapshots
npm run update-snapshot

# Update a single snapshot
# <spec-name> is the name of the test case, e.g., inputImage
npm run update-snapshot --workspace amis -- -t <spec-name>

Release Version

# Publish to internal registry
npm run publish

# Publish to external environment
# First, set the version number with the following command
npm run version
npm run release

How to Contribute

Please use a branch for development. First, create a branch:

git checkout -b feat-xxx

After committing your changes, use git push --set-upstream origin feat-xxx to create a remote branch.

Then submit a PR using the system-generated link: https://github.com/xxx/amis/pull/new/feat-xxx.

Please write in TypeScript. All reasonable changes, new public renderers, test cases, or documentation submissions will be accepted.

Contributors

Low-Code Platform

amis enables low-code front-end development. For a complete low-code platform, we recommend using AiSuDa.

Extension points exported contracts — how you extend this code

OfficeViewer (Interface)
(no doc) [6 implementers]
packages/office-viewer/src/OfficeViewer.ts
RendererAction (Interface)
(no doc) [26 implementers]
packages/amis-core/src/actions/Action.ts
DNDModeInterface (Interface)
(no doc) [3 implementers]
packages/amis-editor-core/src/dnd/interface.ts
CSSRule (Interface)
* css 定义
packages/amis/src/renderers/Page.tsx
AvatarCmptProps (Interface)
* Avatar 属性
packages/amis-ui/src/components/Avatar.tsx
FormData (Interface)
表单数据
packages/amis-editor/src/renderer/crud2-control/AddColumnModal.tsx
FilterMap (Interface)
(no doc)
packages/amis-formula/src/types.ts
Options (Interface)
(no doc)
packages/amis-theme-editor-helper/src/helper/getGlobalData.ts

Core symbols most depended-on inside this repo

getSchemaTpl
called by 2403
packages/amis-editor-core/src/tpl.tsx
test
called by 1580
scripts/bot/split_markdown.py
push
called by 1405
packages/office-viewer/src/util/fflate.ts
render
called by 1110
packages/amis-core/src/index.tsx
forEach
called by 768
packages/office-viewer/src/util/LinkedMap.ts
replace
called by 532
packages/amis-editor-core/src/manager.ts
filter
called by 465
packages/amis-formula/src/evalutor.ts
regFunc
called by 381
packages/office-viewer/src/excel/formula/functions/functions.ts

Shape

Method 5,904
Function 3,271
Interface 3,131
Class 2,149
Enum 25
Route 2

Languages

TypeScript100%
Python1%

Modules by API surface

packages/office-viewer/src/openxml/ExcelTypes.ts597 symbols
packages/office-viewer/src/openxml/Types.ts527 symbols
packages/office-viewer/src/openxml/ChartTypes.ts370 symbols
packages/office-viewer/src/openxml/DMLTypes.ts231 symbols
packages/office-viewer/src/util/fflate.ts191 symbols
packages/amis-editor-core/src/store/editor.ts181 symbols
packages/amis-formula/src/evalutor.ts153 symbols
packages/amis-core/src/store/table.ts133 symbols
packages/amis-core/src/utils/helper.ts122 symbols
packages/office-viewer/src/util/saxes.ts96 symbols
packages/amis-editor-core/src/manager.ts90 symbols
packages/amis/src/renderers/CRUD.tsx81 symbols

Dependencies from manifests, versioned

@babel/generator7.22.9 · 1×
@babel/parser7.22.7 · 1×
@babel/traverse7.22.8 · 1×
@babel/types7.22.5 · 1×
@eslint/js9.18.0 · 1×
@fortawesome/fontawesome-free6.1.1 · 1×
@happy-dom/global-registrator14.2.0 · 1×
@rc-component/mini-decimal1.0.1 · 1×
@rollup/plugin-commonjs22.0.2 · 1×
@rollup/plugin-json4.1.0 · 1×
@rollup/plugin-node-resolve14.1.0 · 1×
@rollup/plugin-replace5.0.1 · 1×

For agents

$ claude mcp add amis \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact