amis is a free, open source automation project written in TypeScript and released under Apache-2.0. It has 18,895 GitHub stars, 2,736 forks and 1,715 open issues, and was last pushed 6 months ago. On this registry it ranks #10 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is amis?

amis is an Apache-2.0-licensed front-end low-code framework from Baidu that generates admin and back-office pages from JSON configuration, aimed at teams that want such interfaces without writing front-end code by hand.

What it is

amis is a front-end low-code framework written in TypeScript, published as the npm package amis, sourced in the baidu/amis repository and documented at https://baidu.github.io/amis/. Its GitHub description states that it generates various back-office pages through JSON configuration, greatly reducing development cost and potentially removing the need to understand front-end work. It carries topics such as admin, frontend, json, low-code and no-code, and sits alongside the amis-editor visual editor demo, the amis-admin project and Baidu's 爱速搭 platform. It has 18895 stars, 2735 forks and 1715 open issues, with the last push on 2026-03-18.

The concrete problem it solves is the manual construction of admin and back-office interfaces. Instead of hand-writing each screen, a team describes the page in JSON and lets the framework render it, which the README presents as a large reduction in development cost and a way to work without front-end knowledge for these pages. Its scope is deliberately front-end only: the README says amis can implement front-end low-code alone and recommends 爱速搭 when a complete low-code platform is required. It therefore replaces hand-coded front-end implementation for administrative screens rather than backend services or data storage.

Key capabilities

  • JSON configuration generates admin and back-office pages, as stated in the GitHub description and README.
  • A visual editor is available at https://aisuda.github.io/amis-editor-demo/.
  • amis-admin, linked from the README, provides an associated admin project.
  • The codebase is TypeScript; the README asks contributors to write TypeScript and accepts reasonable changes, new shared renderers, test cases and documentation.
  • The project uses npm workspaces and recommends node 12/14/16 with npm 7+; dependencies install with npm i --legacy-peer-deps.
  • Local development runs npm start, after which the example page is at http://127.0.0.1:8888/examples/pages/simple and the editor at http://127.0.0.1:8888/packages/amis-editor/.
  • Tests run through jest after npm run build, using npm test --workspaces, npm run coverage and npm run update-snapshot; releases use npm run version, npm run release and npm run publish.

Who uses it and how

  • Teams building admin or back-office interfaces that want pages described in JSON rather than built screen by screen.
  • Developers without a front-end background, since the README states the framework can be used without understanding front-end development.
  • Contributors adding shared renderers, tests or documentation; the README accepts reasonable changes of this kind and requires TypeScript.
  • Projects needing more than front-end low-code, which the README directs to 爱速搭 for a complete platform.
  • A large community, reflected in 18895 stars, 2735 forks and 1715 open issues, with domestic and overseas documentation and a Gitee mirror for slow GitHub downloads.

Getting started

The framework is distributed as the npm package amis; contributors and self-hosters clone the repository, install with npm i --legacy-peer-deps, and run npm start. Documentation is published at https://aisuda.bce.baidu.com/amis/ and https://baidu.github.io/amis/.

How it compares

No paid products are listed in the facts as being replaced by amis, so the comparison made in the README is internal to the Baidu ecosystem: amis covers front-end low-code only, and 爱速搭 is recommended when a complete low-code platform is needed. The amis-admin project offers an admin starting point, and the amis-editor demo provides the visual editor, so amis is positioned as the rendering framework rather than the full platform or the editor.

When to use it — and when not to

A self-hoster must operate a Node and npm toolchain using the recommended node 12/14/16 and npm 7+, install with --legacy-peer-deps, and run a build before jest tests because jest does not support TypeScript directly. Teams that need backend generation, data storage or a full low-code platform should not choose amis on its own, since it is front-end only and the README points such users to 爱速搭. The licence is clearly Apache-2.0 and the repository is active, but 1715 open issues and a development-focused README are worth weighing.

project readme (upstream, from github) — read inline

文档(国内) | 文档(国外) | 可视化编辑器 | amis-admin | 爱速搭

如流群:3395342 | 如流群2:5511067|

build license version language codecov last

前端低代码框架,通过 JSON 配置就能生成各种后台页面,极大减少开发成本,甚至可以不需要了解前端。

开发指南

以下是参与开发 amis 才需要看的,使用请看前面的文档。

如果 github 下载慢可以使用 gitee 上的镜像。

推荐使用 node 12/14/16。npm 7+, 因为用到了 workspaces 功能。

# 安装项目 npm 依赖,在 node 12 下会有报错但不影响正常使用。
npm i --legacy-peer-deps

# 启动项目,等编译结束后通过 http://127.0.0.1:8888/examples/pages/simple 访问。
npm start

如果是开发编辑器,需要访问 http://127.0.0.1:8888/packages/amis-editor/

测试

注意:本地修改代码后,执行测试用例(npm test --workspaces)之前需要先执行npm run build完成编译,因为 jest 并不支持 TypeScript

# 安装依赖
npm i --legacy-peer-deps

# 执行构建
npm run build

# 执行测试用例
npm test --workspaces

# 测试某个用例
# <spec-name>为用例名称,比如inputImage
npm test --workspace amis -- -t <spec-name>

# 运行某个单测文件
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx

# 运行某个单测文件里的某个例子
./node_modules/.bin/jest packages/amis/__tests__/renderers/Form/buttonToolBar.test.tsx -t 'Renderer:button-toolbar'

# 查看测试用例覆盖率
npm run coverage

# 更新 snapshot
npm run update-snapshot

# 更新单个 snapshot
# <spec-name>为用例名称,比如inputImage
npm run update-snapshot --workspace amis -- -t  <spec-name>

发布版本

# 发布内部 registry
npm run publish

# 发布外网环境
# 先通过一下命令设置版本号
npm run version
npm run release

如何贡献

请使用分支开发,首先创建分支

git checkout -b feat-xxx

开发提交后使用 git push --set-upstream origin feat-xxx 创建远程分支。

然后通过系统提示的 https://github.com/xxx/amis/pull/new/feat-xxx 链接来提交 PR。

请采用 typescript 编写,所有合理的改动、新的公用渲染器、用例或者文档的提交都会被接收。

贡献者

低代码平台

amis 只能实现前端低代码,如果需要完整的低代码平台推荐使用爱速搭

Frequently asked questions

Is amis free to use?

amis is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does amis do?

前端低代码框架,通过 JSON 配置就能生成各种页面。

What is amis written in?

amis is primarily written in TypeScript. Its source is publicly available at https://github.com/baidu/amis, and it has 18,895 GitHub stars.