Contributing Guide
Thanks for your interest in BreezeUI! This guide explains how to set up the repo, contribute code/docs, and what checks run before merging and publishing.
What you can contribute
- Components and bug fixes in
packages/vue - Documentation pages and demos in
packages/docs - Playground demos in
packages/playground
Prerequisites
- Node.js 18+
- pnpm (workspace uses pnpm)
Quick start
bash
pnpm install
# Docs (VitePress)
pnpm run docs:dev
# Playground (used for local component debugging)
pnpm run devProject structure
packages/vue: BreezeUI component library sourcepackages/docs: VitePress site (English at/, Chinese at/zh/)packages/playground: local playground for component demos
Working on components
- Make changes in
packages/vue/src/<component>/ - Ensure the component is exported from
packages/vue/src/index.tsif you add a new one - Validate in the playground:
pnpm run dev
Working on docs
- English docs:
packages/docs/guide/*,packages/docs/components/* - Chinese docs:
packages/docs/zh/guide/*,packages/docs/zh/components/* - Run locally:
pnpm run docs:dev
Code style and checks
We use ESLint + Prettier. You can run them manually:
bash
pnpm run lint
pnpm run formatTests and type checking
bash
pnpm run test
pnpm run test:watch
pnpm run type-check
pnpm run buildGit hooks (Husky)
pre-commit: runslint-stagedto format/lint staged filespre-push: runs unit tests and type-checkdevelopmentbranch: skips the checks for rapid iteration
Pull requests
- Create a feature branch from the default branch and open a PR
- Keep changes focused and include docs/demos when updating a component
- Make sure
lint,type-check,test, andbuildpass before requesting review
Publishing (maintainers)
- Local publishing runs
prepublishOnly(tests + build) before publishing. - CI publishing is triggered by pushing to
masterand only publishes packages whosepackage.jsonversion changed. Commits containingskip ciskip publishing.