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 primer
The 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-navigation
Then, 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 build
You can read more about primer in the docs.