Specify Docs
Specify ↗︎Changelog ↗︎Guide ↗︎
V2
V2
  • Getting started
    • Introduction
    • What is Specify?
    • Pulling your first tokens with the CLI
    • Glossary
  • Collect
    • What is a Source?
    • Available sources
      • Figma Variables & Styles
      • Tokens Studio
  • Distribute
    • What is a Destination?
    • Available destinations
      • GitHub
      • Specify CLI
      • Specify SDK
      • HTTP API
  • Concepts
    • Overview
    • Parsers Engine
    • SDTF Client
      • SDTF Engine
    • Specify Design Token Format
  • Guides
    • Configuration file 101
    • Specify CLI usage 101
      • Getting started
      • Authentication
      • Generate Files
    • Specify SDK usage 101
      • Getting started
      • Retrieving and working with the tokens
      • Updating tokens
      • Converting a token to XXX
      • Executing generation parsers
    • Specify SDK Cheatsheet
    • Manage font files
    • Querying a SDTF graph
  • Reference
    • Parsers Engine
    • Parsers
      • change-case
      • convert-color
      • convert-dimension
      • make-line-height-relative
      • filter
      • register-view
      • select-modes
      • prefix-by
      • suffix-by
      • replace-string
      • to-css-custom-properties
      • to-css-text-style
      • to-css-font-import
      • to-flutter
      • to-javascript
      • to-json
      • to-json-list
      • to-kotlin
      • to-react-native
      • to-scss-mixin-text-style
      • to-scss-map
      • to-sdtf
      • to-style-dictionary
      • to-swift
      • to-tailwind
      • to-typescript
      • svgo
      • svg-to-jsx
      • svg-to-tsx
      • to-svg-file
      • to-bitmap-file
      • to-file
    • Specify SDK
      • SpecifyClient
      • SDTFClient
      • Converters
        • CSS
      • ParsersEngineResults
    • SDTF Engine
      • Query API
      • Mutation API
      • SDTF Query Language
      • SDTF QueryResult
      • TokenState
        • Stateful Value
    • HTTP API
      • POST /parsers-engine-rpc
    • Specify CLI
  • Resources
    • Parser Rules templates
      • CSS Custom Properties
      • Tailwind
      • React Native
      • Flutter
      • SDTF
      • JSON
    • Specify CLI VS Specify SDK
    • Playground
    • Best practices
  • Useful links
    • Discord
    • YouTube
    • Twitter
    • Help Center
    • Canny
Powered by GitBook
On this page
  • Organization
  • Repository
  • Source
  • Collecting the design data
  • Repository with many sources
  • Destination
  • Distributing the design data

Was this helpful?

Export as PDF
  1. Concepts

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.

  • Organization

  • Repository

  • Source

  • Destination

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.

PreviousHTTP APINextParsers Engine

Last updated 1 year ago

Was this helpful?