cd /news/ai-tools/show-hn-ant-design-cli-offline-cli-f… · home topics ai-tools article
[ARTICLE · art-20315] src=github.com pub= topic=ai-tools verified=true sentiment=↑ positive

Show HN: Ant-design/CLI – Offline CLI for Ant Design docs, lint and migration

Ant Design released an offline CLI tool that provides instant access to component documentation, migration guides, and linting for antd versions 3 through 6. The tool bundles all metadata locally, supports 16 commands including prop lookup and cross-version API diffing, and integrates with AI coding agents through a skills protocol and MCP server for IDE support.

read8 min publishedJun 3, 2026

Ant Design on your command line.

Query component knowledge, analyze project usage, and guide migrations — fully offline.

Code agents (Claude Code, Codex, Gemini CLI) write better antd code when they have instant access to the right API data. This CLI gives them exactly that — every prop, token, demo, and changelog entry for antd v3 / v4 / v5 / v6, bundled locally, queryable in milliseconds.

npx skills add ant-design/ant-design-cli    # install as an agent skill
  • 📦 Fully offline— All metadata ships with the package. No network calls, no latency, no API keys. - 🎯 Version-accurate— 55+ per-minor snapshots across v3/v4/v5/v6. Query the exact API surface ofantd@5.3.0

, not just "latest v5". - 🤖 Agent-optimized--format json

on every command. Structured errors with codes and suggestions. Clean stdout/stderr separation. - 🌍 Bilingual— Every component name, description, and doc has both English and Chinese. Switch with--lang zh

. - 🔮 Smart matching— TypoButtn

? The CLI suggestsButton

using Levenshtein distance, with first-letter preference. - 🧩 16 commands— From prop lookup to project-wide lint, from design token queries to cross-version API diffing. - 🔌 MCP serverantd mcp

starts a stdio server for native IDE integration (Claude Desktop, Cursor).

npm install -g @ant-design/cli

Other package managers #

pnpm add -g @ant-design/cli
bun add -g @ant-design/cli

The CLI ships with a skill file that teaches code agents when and how to use each command:

npx skills add ant-design/ant-design-cli

Or simply tell your code agent:

Install

@ant-design/cli

and the antd skill fromant-design/ant-design-cli

The agent will handle npm install

, npx skills add

, and start using the CLI automatically.

Works with Claude Code, Cursor, Codex, Gemini CLI, and any agent supporting the skills protocol.

For IDEs that support Model Context Protocol, the CLI can run as an MCP server:

{
  "mcpServers": {
    "antd": {
      "command": "antd",
      "args": ["mcp"]
    }
  }
}

To pin a specific antd version, add "--version", "5.20.0"

to the args

array.

This exposes 7 tools (antd_list

, antd_info

, antd_doc

, antd_demo

, antd_token

, antd_semantic

, antd_changelog

) and 2 prompts (antd-expert

, antd-page-generator

) for native IDE integration.

antd list                           # All components with versions
antd info Button                    # Component props, types, defaults
antd doc Button                     # Full markdown documentation
antd demo Select basic              # Runnable demo source code
antd token DatePicker               # Design Token values (v5+)
antd semantic Table                 # classNames / styles structure
antd changelog 4.24.0 5.0.0 Select  # API diff across versions
antd doctor                         # Diagnose project issues
antd env                            # Collect env info for bug reports
antd usage ./src                    # Analyze antd imports in project
antd lint ./src                     # Check deprecated APIs & best practices
antd migrate 3 4                    # v3 → v4 migration guide
antd migrate 4 5 --apply ./src      # Agent-ready migration prompt
antd mcp                            # Start MCP server for IDE integration
antd upgrade                        # Upgrade CLI to latest version
Command Description
antd list

since

versionsantd info <Component>

since

, and deprecated statusantd doc <Component>

antd demo <Component> [name]

antd token [Component]

antd semantic <Component>

classNames

/ styles

structure with usage examplesantd changelog

Command Description
antd doctor

antd env [dir]

antd usage [dir]

Form.Item

), non-component exportsantd lint [target]

antd migrate <from> <to>

--apply

agent prompt| Command | Description | |---|---| antd bug |

antd bug-cli

Command Description
antd mcp

antd upgrade

antd list                           # all components
antd list --version 5.0.0           # components available in v5.0.0

Example output #

Component       组件名     Description                                                Since
--------------  -------  -------------------------------------------------------  ------
Button          按钮       To trigger an operation.                                  4.0.0
Table           表格       A table displays rows of data.                            4.0.0
Form            表单       High performance Form component with data scope management. 4.0.0
Select          选择器      Select component to select value from options.            4.0.0
Modal           对话框      Modal dialogs.                                            4.0.0
ColorPicker     颜色选择器   Used for color selection.                                 5.5.0
...
antd info Button                    # props table
antd info Button --detail           # + descriptions, since, deprecated, FAQ
antd info Button --version 4.24.0   # v4 API snapshot

Example output #

Button (按钮) — To trigger an operation.

Property         Type                                          Default   Since
---------------  --------------------------------------------  --------  ------
autoInsertSpace  boolean                                       true      5.17.0
block            boolean                                       false     -
classNames       Record<SemanticDOM, string>                   -         5.4.0
disabled         boolean                                       false     -
href             string                                        -         -
icon             ReactNode                                     -         -
          boolean | { delay: number, icon: ReactNode }  false     -
size             large | middle | small                        middle    -
type             primary | default | dashed | text | link      default   -
variant          outlined | dashed | solid | filled | text     -         5.13.0
onClick          (event: React.MouseEvent) => void             -         -
antd doc Button                     # full markdown docs to stdout
antd doc Button --format json       # { name, doc }
antd doc Button --lang zh           # Chinese documentation
antd demo Button                    # list all available demos
antd demo Button basic              # get demo source code
antd token                          # global tokens (colorPrimary, borderRadius, ...)
antd token Button                   # component-level tokens
antd semantic Table

Example output #

Table Semantic Structure:
├── header    # Table header area
├── body      # Table body area
├── footer    # Table footer area
├── cell      # Table cell
├── row       # Table row
└── wrapper   # Outer wrapper

Usage:
  <Table classNames={{ header: 'my-header' }} />
  <Table styles={{ header: { background: '#fff' } }} />
antd changelog 5.22.0               # single version
antd changelog 5.21.0..5.24.0       # version range (inclusive)
antd changelog 4.24.0 5.0.0         # API diff between two versions
antd changelog 4.24.0 5.0.0 Select  # API diff for Select only

Runs 10 checks against your project: antd installed, React version compat, duplicate antd/dayjs/cssinjs installs, peer dependency satisfaction, theme config, babel-plugin-import usage, and CSS-in-JS setup.

antd doctor
antd doctor --format json

Collect all antd-related environment information — system, Node, package managers, browsers, dependencies, ecosystem packages (@ant-design/*

, rc-*

), and build tools — in one shot.

antd env                            # text output (paste into GitHub Issues)
antd env --format json              # structured JSON for AI consumption
antd env --format markdown          # markdown tables
antd env ./my-project               # scan a specific project directory

Example output #

Environment

  System:
    OS        macOS 15.3

  Binaries:
    Node      20.11.0
    pnpm      9.1.0
    Registry  https://registry.npmmirror.com/

  Browsers:
    Chrome    131.0.6778.86
    Safari    18.3

  Dependencies:
    antd                 5.22.0
    react                18.3.1
    react-dom            18.3.1
    dayjs                1.11.13
    @ant-design/cssinjs  1.22.1
    @ant-design/icons    5.5.2

  Ecosystem:
    @ant-design/pro-components  2.8.1
    rc-field-form               2.7.0

  Build Tools:
    umi         4.3.0
    typescript  5.6.3
    less        4.2.0
antd usage                          # scan current directory
antd usage ./src                    # scan specific directory
antd usage -f Button                # filter to one component

Four rule categories: deprecated

, a11y

, performance

, best-practice

. Deprecation rules are derived from metadata at runtime, so they're always version-accurate.

antd lint ./src
antd lint ./src --only deprecated
antd lint ./src --only a11y
antd lint ./src --only deprecated --format json --antd-alias @shared-components

Use --antd-alias <source>

to treat additional package names as aliases of antd

. Repeat the flag for multiple wrapper packages; antd

remains enabled by default.

v3→v4 covers 15+ migration steps; v4→v5 covers 25+ migration steps; v5→v6 covers 30+. Each step includes component name, breaking flag, search pattern, and before/after code.

antd migrate 3 4                    # v3 → v4 migration
antd migrate 4 5                    # full checklist
antd migrate 4 5 --component Select # component-specific
antd migrate 4 5 --apply ./src      # generate agent migration prompt

Example output #

Migration Guide: v4 → v5

  Select:
    🔧 [BREAKING] Prop `dropdownClassName` renamed to `popupClassName`
    🔧 [BREAKING] Prop `dropdownMatchSelectWidth` renamed to `popupMatchSelectWidth`

Total: 2 steps (2 auto-fixable, 0 manual)
antd bug --title "DatePicker crashes with dayjs 2.0"
antd bug --title "..." --steps "1. Click" --expected "Works" --actual "Crashes"
antd bug --title "..." --submit     # submit via gh CLI
antd bug-cli --title "info command crashes on v4"
antd bug-cli --title "..." --submit

Start an MCP (Model Context Protocol) stdio server for IDE agent integration. Exposes 7 tools and 2 prompts for native IDE integration (Claude Desktop, Cursor, etc.).

antd mcp                                # start with auto-detected version
antd mcp --version 5.20.0 --lang zh     # pin version and language

IDE configuration (claude_desktop_config.json

):

{
  "mcpServers": {
    "antd": {
      "command": "antd",
      "args": ["mcp"]
    }
  }
}

MCP Tools (7): antd_list

, antd_info

, antd_doc

, antd_demo

, antd_token

, antd_semantic

, antd_changelog

MCP Prompts (2): antd-expert

, antd-page-generator

Upgrade the CLI itself to the latest version published on npm. Automatically detects which package manager installed the CLI (npm, yarn, pnpm, bun, cnpm, utoo) and runs the corresponding upgrade command.

antd upgrade                        # upgrade to latest version

Example output #

Upgrading @ant-design/cli: v6.4.3 → v6.4.4
Running: npm install -g @ant-design/cli@latest
... (passthrough package manager output) ...
Successfully upgraded to v6.4.4
Flag Description Default
`--format json text markdown`
Output format text
--version <v>
Target antd version (e.g. 5.20.0 )
auto-detect
`--lang en zh`
Output language en
--detail
Include extended information false
-V, --cli-version
Print CLI version

Version auto-detection: --version

flag → node_modules/antd

package.json

dependencies → fallback 5.24.0

Variable Description
ANTD_NO_AUTO_REPORT=1
Disable bug-reporting suggestions from AI agents (see

NO_UPDATE_CHECK=1

CI=1

NO_UPDATE_CHECK=1

)

── more in #ai-tools 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-ant-design-c…] indexed:0 read:8min 2026-06-03 ·