Primer is the design system that powers GitHub. Primer includes 23 packages that are grouped into 3 core meta-packages for easy install. Each package and meta-package is independently versioned and distributed via npm, so it's easy to include all or part of Primer within your own project.
The Primer repo is managed as a monorepo that is composed of many npm packages.
| Package | Version |
|---|---|
| primer Includes all 23 packages |
|
| primer-core | |
| primer-product | |
| primer-marketing |
This repository is distributed with npm. After installing npm, you can install primer with this command.
$ npm install --save primerThe source files included are written in Sass (SCSS). After installing with npm, you can add your project's node_modules directory to your Sass include paths (AKA load paths in Ruby), then import it like this:
@import "primer/index.scss";You can import individual Primer modules by installing them with npm, for instance:
$ npm install --save primer-navigationThen, you would import the module with:
@import "primer-navigation/index.scss";Or, while you're figuring out which modules you need, you can import them directly from the primer packages directory like so:
@import "primer/modules/primer-navigation/index.css";For a compiled CSS version of this module, an npm script is included that will output a CSS version to build/build.css. The built CSS file is also included in the npm package.
$ npm run buildYou can read more about primer in the docs.