Zard UI is an open source Angular component library built on TailwindCSS v4 and Class Variance Authority, and inspired by shadcn/ui. Everything lives in a single Nx monorepo: the library, the composed blocks, the documentation site you are reading, the CLI and the MCP server.
This module is the navigable version of CONTRIBUTING.md . Every command and path on these pages is checked against the repository, so you can copy them without guessing.
Ways to Contribute
Code is only one of them. Every item below is a valid, welcome pull request.
Add a component to libs/zard, or extend an existing one with a new variant, input or accessibility fix.
Compose existing components into a ready-to-paste screen under libs/blocks.
Pick an open issue, reproduce it in a demo, fix it and cover the behaviour with a test.
Raise coverage with Jest unit tests or Playwright E2E specs — no new feature required.
Improve a docs page, an API reference or the Markdown sources that feed the code blocks.
Work on zard-cli or the zard-mcp server under packages/, both published from this monorepo.
Quick Start
Five steps from a fresh clone to an open pull request. Each one links to the page that covers it in depth.
# 1. Fork zardui/zardui on GitHub, then clone your fork
git clone https://github.com/<your-username>/zardui.git
cd zardui
# 2. Install dependencies (Node >= 20.19.0)
npm install
# 3. Start the documentation site on http://localhost:4222
npm startFork, clone, install dependencies and start the documentation site on port 4222.
SetupUnderstand which project owns what, and where the file you need to touch lives.
ArchitectureScaffold a component or a block with the Nx generators and fill in the real implementation.
ComponentsRun the unit tests, the linter and the full build before opening a pull request.
TestingCommit with the mandatory emoji format, open a PR against master and let the CI run.
WorkflowGuide Map
Every page in this section, in reading order.
Getting Help
Stuck, or unsure whether an idea fits the project? Ask before you build — it saves everyone time.
Before opening a pull request
Read the Workflow page. Commits without the leading emoji are rejected by commitlint, and the CI runs lint, build, unit tests and E2E on every pull request.