Overview

Take some time to understand the basic concepts of Specify. Getting to know its foundational ideas will help you glimpse into how to leverage the apps and APIs in your projects.

The Specify platform is based on the following pillars.

Above them, sit the engines:

  • The Parsers Engine, accessible via all destinations, offers an high level abstraction to directly transform any SDTF token tree into many well-known technologies like CSS, tailwind, style-dictionary…

  • The SDTF Client, accessible via the SDK, offers a fine grained control over your SDTF token tree by allowing any mutation and post-process hooks, directly in your codebase.

Organization

As a Specify user, you belong to an organization.

In this organization, you create repositories to structure your projects.

All over Specify APIs, you access your organization using its namespace (e.g @specifyapp)

Repository

The repository is where the design data get stored, merged and eventually deleted over iterations.

A repository is exactly one design token tree built with the Specify Design Token Format.

You can explore a repository design token tree by heading to the Specify webapp.

Source

A source belongs to a Repository, it represents where the original design data come from - think of Figma (Variables or Local Styles) or Tokens Studio.

You can add many sources into a single repository. Read more about the available Sources compatible with Specify.

Collecting the design data

Once a source is configured, Specify starts to collect your design data. Over this process, the SDTF Engine acquires, validates and converts the original data into a SDTF token tree that get stored within the repository.

From this point on, you can synchronize your source(s) with Specify anytime, at a click of a button.

You can review your sources status by heading to any repository page on the Specify webapp.

Repository with many sources

Data from many sources get automatically merged into a consolidated SDTF token tree. If Specify detects a conflict over sources, it will refuse to synchronize the first source that cause the conflict and turn it into an error state.

Destination

A destination belongs to a Repository, it represents where the formatted design data get distributed on updates - think of GitHub or any automation you can come up with our CLI and SDK.

You can add many destinations into a single repository. Read more about the available Destinations compatible with Specify.

Distributing the design data

While the source part is highly automated and managed by Specify internals, the destination offers many levers of control over the transformation required to meet your company standards.

Two main APIs at stake here:

  • The Parsers Engine, accessible via all destinations, offers an high level abstraction to directly transform any SDTF token tree into many well-known technologies like CSS, tailwind, style-dictionary…

  • The SDTF Client, accessible via the SDK, offers a fine grained control over your SDTF token tree by allowing any mutation and post-process hooks, directly in your codebase.

Last updated