How Ant Design Manages Its Open‑Source Project: Docs, Testing, CI & Community
This article shares Ant Design’s multi‑year open‑source project operation experience, covering project documentation, website setup, code style, unit testing, CI services, release workflow, issue/PR templates, Git tips and community‑driven growth strategies for a frontend UI library.
Project Documentation
The README should contain a one‑sentence description, badges, features, usage, screenshots, development guide and reference projects such as standard‑readme, ice and f2.
Getting Started
Step‑by‑step guides include the main README, quick start with create‑react‑app, TypeScript usage and practical projects using Umi.
Website
Key website features: prerendered static site, internationalization, markdown‑based docs, live playground, attractive theme, mobile‑friendly layout and searchable API documentation. The site is built with bisheng (React SSR) and deployed via gh‑pages or Netlify, with a Chinese mirror on Gitee.
Code Standards
Enforce style with eslint-config-airbnb, tslint → @typescript-eslint/parser and Prettier. Use husky + lint‑staged and pretty‑quick to keep commits clean.
Commit Guidelines
git commit -a
<type>(<scope>): <subject>
<body>
<footer></footer>Follow conventional commit messages and validate with commitlint.
Unit Testing
Ant Design uses Jest and Enzyme. Run tests with npm test -- and generate snapshots for UI regression:
const wrapper = mount(<Breadcrumb/>);
expect(wrapper).toMatchSnapshot();CI Services
CI platforms (Netlify, Surge, CircleCI, Codecov, etc.) run tests, coverage, builds and automatic site deployment.
Release Process
Weekly patch and monthly minor releases are performed by a rotating maintainer. A release branch is created from master, changelogs are updated in both English and Chinese, and PRs are merged without squash to preserve history.
Issue & PR Templates
Templates enforce required fields, automatically close non‑compliant issues and guide contributors.
Git & GitHub Tips
Copy the source URL with y to lock it.
Close issues via commit messages, e.g., close #123 or fix #456.
Avoid git commit -m; use git commit -a for full messages.
Open‑Source Project Operations
Community channels (Zhihu, Juejin, Reddit, Dev.to), SEO, awesome‑list promotion, bots for issue triage, and regular feedback collection (Hotjar) help grow the project.
Conclusion
Key takeaways: embrace the community, leverage tooling to improve code and engineering quality, keep a single source of truth, and align open‑source work with internal business needs.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
