Skip to main content

Naming conventions

Generally speaking, GitHub repository names and NPM package names reflect the Quartz architecture in their naming convention. All NPM packages belong to the @quartzds organization namespace.

Prism foundations

Prism foundations GitHub repositories are named after the <prism>-foundations template:

  • core-foundations
  • apps-foundations
  • websites-foundations
  • etc.

As monorepos, they publish several NPM packages named as follows:

  • @quartzds/<prism> for the main library of standard web components
  • @quartzds/<prism>-<framework> for the framework components or wrappers

Examples:

  • @quartzds/core: web components for the core foundations
  • @quartzds/apps-react: React components for the apps foundations
  • @quartzds/websites-angular: Angular components for the websites foundations

Facets

Facets all belong to a prism so they include the prism prefix in their names.

The GitHub repositories are named after the <prism>-<facet> template:

  • websites-shop
  • apps-industry
  • core-dataviz
  • etc.

As monorepos, they follow the same conventions as the prism foundations:

  • @quartzds/<prism>-<facet> for the main library of standard web components
  • @quartzds/<prism>-<facet>-<framework> for the framework components or wrappers

Examples:

  • @quartzds/apps-industry-react: React components for the industry facet of the apps prism
  • @quartzds/websites-shop-angular: Angular components for the shop facet of the websites prism
  • @quartzds/core-dataviz-angular: Angular components for the dataviz universal facet

Brands

Brands are monorepos containing the building blocks of brand identity: design tokens, icon libraries, fonts, assets, etc.

Their GitHub repositories are named after the brand-<name> template, where <name> is a short prefix for the brand:

  • brand-generic is the open-source demo brand
  • brand-se is the Schneider Electric brand
  • brand-apc is the APC brand
  • etc.

As monorepos, they use their short name to prefix the NPM packages they publish:

  • <brand>-tokens provides the design tokens used by the component libraries
  • <brand>-icons-core provides the mandatory icons for the foundation libraries
  • <brand>-icons-<name> are additional icon libraries provided by the brand
  • <brand>-fonts provides proprietary fonts
  • <brand>-assets provides static assets like logos, pictures, etc.

Branches

You will often end up with several branches existing simultaneously in your repository. Having a consistent way of naming them will help understanding the purpose of each branch.

We did not yet define a strict naming convention for git branches. GitHub uses the id-title-of-the-task format when you let it create a branch from an issue.

You may also add a prefix for the type and use a slash / separator, like in fix/123-task-title. Some Git UIs will parse those prefixes and display them like folders:

feat/
12-some-feature
34-another-feature
fix/
56-fix-something
refactor/
78-factorize-something