* fix: exclude locale paths from lint performance rule default import check
The performance rule was incorrectly flagging default imports from
antd locale paths (e.g. `import enUS from 'antd/locale/en_US'`) as
wildcard imports, and suggesting nonsensical fixes like
`import { Button } from 'antd/locale/en_US'`. Locale modules only
export a default, so this is the documented import pattern.
- Split `ImportDefaultSpecifier` from `ImportNamespaceSpecifier` checks
- Add `isLocalePath()` to exclude `antd/locale/*`, `antd/es/locale/*`,
`antd/lib/locale/*` from default import warnings
- Improve error message for default imports vs wildcard imports
Fixes#99, Fixes#101
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: suggest actual used members instead of hardcoded Button in lint performance rule
Instead of always suggesting `import { Button }`, the performance rule
now tracks which members are actually accessed from the namespace import
(e.g. `<Antd.Button />`, `<Antd.Select />`) and uses those in the
suggestion message. Falls back to a generic example only when no member
usage is detectable.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* refactor: deduplicate performance rule specifier handling and suggestion logic
Collapse two near-identical specifier blocks into a single conditional,
and factor out shared suggestion construction in post-visit processing.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: remove hardcoded Button from lint performance rule fallback suggestion
When no actual member usage is detected, use a generic "Use named
imports instead" instead of suggesting a nonexistent \`import { Button }\`.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* fix: also exclude locale paths from wildcard import check
Locale files only export a default, so `import * as X from
'antd/locale/en_US'` has no tree-shaking penalty just like the default
import form. Exclude locale paths from both namespace and default
import checks for consistency.
Also correct spec.md wording: the rule flags all default imports
(except locale), not just subpath defaults.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
* docs: add antd v3 support design spec
Design for adding antd 3.x support to enable migration assistance
and legacy project queries. Covers data extraction, command support
matrix, and enhanced v3→v4 migration knowledge.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add antd v3 support
- Add v3 data extraction with demo format compatibility
- Generate v3.json and v3.26.20.json data files
- Add v3-to-v4 migration knowledge module
- Return UNSUPPORTED_VERSION_FEATURE for token/semantic on v3
- Update spec.md with v3 support documentation
Closes#66
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address PR review comments
- Fix regex \Z anchor to $ for JS compatibility in demo extractor
- Fix v3 theming docs URL (3x.ant.design)
- Remove redundant Tree filterTreeNode migration entry
- Correct Table render description (signature unchanged)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: update design spec for v3 support
- Add language tag to code block
- Fix v3 theming docs URL to 3x.ant.design
- Update migration module path to match implementation
- Correct BackTop and Less variables migration notes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address remaining PR review comments
- Fix enMatch regex to use lookahead for zh-CN section
- Make JSX code block regex more flexible (jsx or js)
- Correct ConfigProvider migration description (introduced in v4)
- Update design doc with correct module path and migration notes
- Update snapshot for v3 Watermark component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add comprehensive v3 test coverage
- Add e2e tests for `antd migrate 3 4` command
- Add v3 error tests for token and semantic commands
- Add v3 version detection tests
- Add v3 data loading tests (components, snapshots)
- Add tests for v3-specific components (Mention, Icon, LocaleProvider)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
utoo is not a recognized package manager or build tool framework.
Also improve version regex to handle pre-release version strings.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CI fix:
- Fix TS error: avoid passing interface type to Record<string, unknown> param
Review feedback addressed:
- toMcpResult: check error === true instead of just 'error' in data
- antd_changelog: reject partial v1/v2 with INVALID_ARGUMENT error
- list.ts: output [] for JSON when no components; keep category in JSON output
- prompts: add missing antd_changelog to tool workflow section
- semantic test: use Affix instead of duplicate Button test
- Add cross-version diff test and version-order validation test
- Add antd_semantic success test and partial v1/v2 test for MCP
- spec.md: "dedup" → "avoid duplicate calls"
- README: add note about --version flag for MCP server
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: add bug fixes round 2 plan
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: add agent skill file and update README with installation guides
Add docs/skill.md — a scenario-driven skill file that teaches code agents
when and how to use each @ant-design/cli command. Update both READMEs with
installation instructions for Claude Code, Cursor, Codex, and Gemini CLI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: add Claude Code skill frontmatter and improve agent install guides
- Add YAML frontmatter to docs/skill.md (name, description, allowed-tools)
so it works as a proper Claude Code skill when copied to .claude/skills/
- Update README install instructions: Claude Code uses skill directory,
Cursor uses .mdc rule, Codex/Gemini append to their config files
- Remove redundant "When to Use" section (covered by frontmatter description)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: restructure skill to skills/ directory and simplify install guide
- Move docs/skill.md to skills/antd/SKILL.md (follows skills standard)
- Rename src/commands/diff.ts to changelog.ts (matches actual command name)
- Replace per-agent install guides with `npx skills add`
- Fix incorrect `antd changelog diff` and `antd diff` references
- Update package.json files field to include skills/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: restore CLI install instructions in README
Keep npm/pnpm/bun global install as the primary installation method,
with skill-based install as a supplementary option.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>