# Flutter

This example uses the following parsers:

* [to-flutter](https://docs.specifyapp.com/reference/parsers/to-flutter) to generate your design tokens as dart files
* [svgo](https://docs.specifyapp.com/reference/parsers/svgo) to optimize and generate icons as SVG files

{% tabs %}
{% tab title="CLI configuration" %}
If you use the CLI, you need to fill three properties:

* `repository` is `@organization/repository`
* `personalAccessToken` which you can generate [in your account settings](https://specifyapp.com/user/personal-access-tokens)
* `rules` are where you provide parsers and compatible options

```json
{
  "version": "2",
  "repository": "@organization/repository",
  // Only use the personalAccessToken when working with the CLI
  "personalAccessToken": "<your-personal-access-token>",
  "rules": [
    {
      "name": "Generate tokens for Flutter",
      "parsers": [
        {
          "name": "to-flutter",
          "output": {
            "type": "file",
            "filePath": "public/tokens.dart"
          }
        }
      ]
    },
    {
      "name": "Optimize and generate icons as SVG files",
      "parsers": [
        {
          "name": "svgo",
          "output": {
            "type": "directory",
            "directoryPath": "public/vectors"
          }
        }
      ]
    }
  ]
}
```

{% endtab %}

{% tab title="GitHub Configuration" %}
If you use the GitHub, you need to fill 4 properties:

* `repository` is `@organization/repository`
* `head` lets you set the branch your PR will be created on
* `base` lets you set the branch your PR will be merged on
* `rules` lets you transform tokens by chaining parsers

{% hint style="info" %}
Make sure you have connected your GitHub account with your Specify account. Head toward [this article](https://help.specifyapp.com/en/articles/4722440-add-github-as-a-destination) to learn more.
{% endhint %}

```json
{
  "version": "2",
  "repository": "@organization/repository",
  "head": "specifyrc-json",
  "base": "main",
  "rules": [
    {
      "name": "Generate tokens for Flutter",
      "parsers": [
        {
          "name": "to-flutter",
          "output": {
            "type": "file",
            "filePath": "public/tokens.dart"
          }
        }
      ]
    },
    {
      "name": "Optimize and generate icons as SVG files",
      "parsers": [
        {
          "name": "svgo",
          "output": {
            "type": "directory",
            "directoryPath": "public/vectors"
          }
        }
      ]
    }
  ]
}
```

{% endtab %}
{% endtabs %}
