Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/dinethlive/ux-doctor.git
cd ux-doctor
pnpm install
pnpm buildRequires Node.js >= 20.19.0 and pnpm.
pnpm build # Build all packages
pnpm test # Run tests
pnpm typecheck # TypeScript strict check
pnpm lint # Oxlint
pnpm format # PrettierRun a single test file:
cd packages/ux-doctor && pnpm vitest run tests/color-math.test.tsTest the CLI locally:
node packages/ux-doctor/dist/cli.js <path> --verbose- pnpm only — no npm or yarn
- TypeScript interfaces over types
- Arrow functions preferred
- kebab-case file names
- One utility per file in
utils/ - No comments unless
// HACKwith explanation - No type casts unless unavoidable
- Magic numbers go in
constants.tswithSCREAMING_SNAKE_CASEand unit suffixes (_PX,_RATIO,_MS)
Every Diagnostic must populate:
fixTarget— jsx, css, tailwind, config, or htmlfixExample— code snippet showing the fixpriority— 1 (highest) to 5 (lowest)help— specific and actionable, never genericwcagCriteria/wcagLevel— if the rule maps to a WCAG success criterion
- Fork and create a feature branch
- Make your changes
- Ensure
pnpm build && pnpm typecheck && pnpm lint && pnpm testall pass - Open a PR against
main
Use GitHub Issues to report bugs or request features.