Contributing

How the NibCSS repository is organised, and how to build, test and propose changes.

1 min readv1

Repository layout#

A single npm-workspaces monorepo:

Text
packages/
  core/       engine — parse, resolve, generate (no dependencies)
  runtime/    browser runtime + CDN build
  unplugin/   build plugin for every bundler
  devtools/   error overlay + source-location service
  cli/        standalone nib command
  react/  vue/  angular/  svelte/   framework adapters
  next/  nuxt/                      framework presets

Develop#

Terminal
git clone https://github.com/mvip07/nibcss
cd nibcss
npm install
npm run build       # builds every package in dependency order
npm test            # vitest across workspaces
npm run typecheck

Propose a change#

  1. Open an issue first for anything larger than a bug fix.
  2. Add tests next to the code you change.
  3. Add a changeset: npx changeset — describe the change for users, pick the bump.
  4. Open a pull request.

Good first contributions#

  • Missing CSS properties (for example fill, stroke) in the known-property list.
  • Diagnostic translations for more languages.
  • Documentation examples.