> For the complete documentation index, see [llms.txt](https://docs.specifyapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.specifyapp.com/concepts/overview.md).

# Overview

The Specify platform is based on the following pillars.

* [Organization](#organization)
* [Repository](#repository)
* [Source](#source)
* [Destination](#destination)

Above them, sit the engines:&#x20;

* The [Parsers Engine](/concepts/parsers-engine.md), accessible via all [destinations](/distribute/available-destinations.md), 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](/concepts/sdtf-client.md), accessible via the [SDK](/distribute/available-destinations/specify-sdk.md), 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.

{% hint style="info" %}
All over Specify APIs, you access your organization using its **`namespace`** (e.g @specifyapp)
{% endhint %}

## 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**](/concepts/specify-design-token-format.md).

{% hint style="info" %}
You can explore a repository design token tree by heading to the Specify [webapp](https://specifyapp.com/login).
{% endhint %}

## Source

A source belongs to a [Repository](#repository), it represents where the original design data come from - think of [Figma](/collect/available-sources/figma-variables.md) (Variables or Local Styles) or [Tokens Studio](/collect/available-sources/tokens-studio.md).

You can add **many sources** into a single repository. Read more about the available [Sources](/collect/available-sources.md) 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](/concepts/sdtf-client/sdtf-engine.md) 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.

{% hint style="info" %}
You can review your sources status by heading to any repository page on the Specify [webapp](https://specifyapp.com/login).
{% endhint %}

### 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](#repository), it represents where the formatted design data get distributed on updates - think of [GitHub](/distribute/available-destinations/github.md) or any automation you can come up with our [CLI](/distribute/available-destinations/cli.md) and [SDK](/distribute/available-destinations/specify-sdk.md).

You can add **many destinations** into a single repository. Read more about the available [Destinations](/distribute/available-destinations.md) 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](/concepts/parsers-engine.md), accessible via all [destinations](/distribute/available-destinations.md), 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](/concepts/sdtf-client.md), accessible via the [SDK](/distribute/available-destinations/specify-sdk.md), offers a fine grained control over your SDTF token tree by allowing any mutation and post-process hooks, directly in your codebase.
