Specify provides several ways to extract your design tokens from a repository to several destinations. You can use the Specify CLI or you can use the GitHub integration.

Our GitHub integration synchronizes your design tokens and assets between your Specify and your GitHub repositories. Every changes detected in your Specify repository will automatically create a pull request in your GitHub repository.

Specify has:

  • Read access to your GitHub repository metadata

  • Read and write access to code, issues, and pull requests

How the GitHub integration works

During the GitHub app installation you can choose to give Specify access to all your GitHub organization's repositories or only a specific one.

Once our Specify and GitHub repositories are connected you need to tell Specify what design tokens to synchronize and how. You can do this by providing Specify a configuration file named .specifyrc.json located at the root level of your GitHub repository.

Once differences are detected between your Specify and GitHub repositories, Specify will automatically create a Pull Request.

If a Pull Request has already been opened by Specify and has not been closed/merged, Specify will update it with new design data updates.

Check our video tutorial to help you get started with the GitHub integration:

Have trouble getting automated Pull Requests?

Case 1: you're updating your config file

Please make sure to update your .specifyrc.json configuration file on your main branch so your changes take effect.

Case 2: you've installed the Specify GitHub app but no Pull Request are created

Please make sure the owner of your GitHub organization validates the installation of the Specify GitHub app.

You should be able to see the app in your GitHub organizations GitHub app's listing (

Case 3: Your Specify configuration file has errors

Please make sure to test your configuration with the Specify CLI beforehand. We advise you to test your configuration beforehand as you can't get any feedback from our API directly in GitHub.

You could also use our REST API or our CLI within a GitHub Action to get feedback from our API.

Did this answer your question?