Customise this Figma plugin template for your own design team.

Overview

Design Toolkit

Customise this Figma reference plugin to provide useful resources and automations for yourself or your team. Inspect the code to see how you can customise it for your own needs and publish it for your team to use.

Follow the instructions in my medium write up for this project: Build your team a file automation plugin in Figma.

Made by @JoshDesignNZ using Create Figma Plugin.

Disclaimer: Things are a bit messy and there are some typescript errors to be addressed. But it does the job, and there was enough interest that I wanted to share it so everyone can have a try building their own toolkit plugin for Figma. Contributions welcome! 🤙

Features

This plugin template contains several automation examples, including:

  • Create all your document pages
  • Insert a cover component with dynamic user information and date
  • Insert a heading component on each page, with title and optional description
  • Insert custom component(s) on specific pages
  • Add links to team resources (e.g. Design System Documentation, Code repos, Comms channels)

Roadmap

  • Basic design linting (Flag elements that don't match your styles/tokens)
  • Import/update content strings
  • Workflow checklists, including:
    • Definition of Done
    • Definition of Ready
    • Component best practice

Installation

Instructions are based off the quick start instructions from create-figma-plugin.

Clone the project

git clone https://github.com/NoWorries/toolkit-figma-plugin

Go to the project directory

cd toolkit-figma-plugin

Configuration options for your plugin go under the "figma-plugin" key of your package.json file. Modify both the name values that you want to use for your plugin.

The relaunchButtons properties will insert a button in the sidebar to easily launch your plugin again.

{
  "figma-plugin": {
    "editorType": [
      "figma"
    ],
    // ...
    "name": "Design Toolkit",
    "main": "src/main.ts",
    "ui": "src/ui.tsx",
    "relaunchButtons": {
      "designToolkit": {
        "name": "Design Toolkit",
        "main": "src/main.ts",
        "ui": "src/ui.tsx"
      }
    },
  }
}

Build the plugin:

npm install
npm run build
npm run watch

This will generate a manifest.json file and a build/ directory containing the JavaScript bundle(s) for the plugin.

Configuring your plugin is done via package.json. Avoid manually editing the manifest.json file. Because the manifest.json file is always regenerated on build, any changes you make will always get overridden.

Run Locally

To watch for code changes and rebuild the plugin automatically:

$ npm run watch

Installing the plugin

  1. In the Figma desktop app, open a Figma document.
  2. Search for and run Import plugin from manifest… via the Quick Actions search bar.
  3. Select the manifest.json file that was generated by the build script.
  4. The plugin will now be installed and available in the "Figma > Plugins > Development" menu. Don't launch it yet

Figma setup

  1. Duplicate the Design Toolkit - Library to your team and publish the components so that the plugin can access them.
  2. Install the Inspector plugin, to reference the unique Key for each component.
  3. Run the Inspector plugin and identify the unique Key for the components in your version of "Design Toolkit - Library". You will need to update the keys in main.ts before the plugin will work.

Run the plugin in Figma

The plugin can now be launched using either of these methods:

  1. Figma > Plugins > Development > Design Toolkit
    • Open the Quick Actions window using Cmd + / or Ctrl + / and type "Design Toolkit"

Troubleshooting

If the plugin has an error, recommend checking the Console in Developer Tools in your browser for an error message. It could be that the font used in your component is not installed/available to your team.

Publishing

When you're happy with your plugin, follow the instructions to publish it.

Used By

This project is used by the following companies:

Acknowledgements

You might also like...

Team project within the course of Software System Design and Analysis.

Team project within the course of Software System Design and Analysis.

📗 InnoBookCrossing - Application for sharing books at Innopolis gh-md-toc 🔍 General Information Description The application is designed to help peop

Oct 22, 2022

A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.

A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.

WeUI - tailor-made for WeChat web service 中文版本 Introduction WeUI is an WeChat-like UI framework officially designed by the WeChat Design Team, tailor-

Jan 2, 2023

A UI library by WeChat official design team, includes the most useful widgets/modules.

A UI library by WeChat official design team, includes the most useful widgets/modules.

WeUI for 小程序 为微信小程序量身设计 概述 WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、

Jan 4, 2023

A meme generator plugin for Figma and FigJam. Import memes from all over the internet with customizable captions and share it far and wide.

A meme generator plugin for Figma and FigJam. Import memes from all over the internet with customizable captions and share it far and wide.

Is This A Meme? 💁🏻 🦋 A meme generator plugin for Figma and FigJam. Import memes from all over the internet, add your captions, and share it far and

Aug 30, 2022

A utility that mutates and transforms a style-dictionary object into something Figma Tokens plugin understands

A utility that mutates and transforms a style-dictionary object into something Figma Tokens plugin understands

Brought to you by Style Dictionary To Figma A utility that transforms a style-dictionary object into something Figma Tokens plugin understands. Used b

Jan 4, 2023

Template Repository for making your own budder Module. CORE is not included, this is just for the module.

A quick copy of the "How to make your own module" section Check out the official budderAPI repository Template Repository for making your own budder M

Apr 3, 2022

simple-remix-blog is a blog template built using Remix and TailwindCSS. Create your own blog in just a few minutes!

simple-remix-blog is a blog template built using Remix and TailwindCSS. Create your own blog in just a few minutes!

simple-remix-blog is a blog template built using remix.run and TailwindCSS. It supports markdown and MDX for the blog posts. You can clone it and star

Dec 8, 2022

A template containing everything you need for creating your own Obsidian theme.

A template containing everything you need for creating your own Obsidian theme.

This is a sample theme for Obsidian (https://obsidian.md). First Time publishing a theme? Quick start First, choose Use this template. That will creat

Dec 28, 2022

A template project for NRWL's NX, Ionic Framework, Stylelint, Eslint, and more from the OpenForge mobile app team.

OpenForge Ionic Monorepo Example This is a template project for all Ionic + Angular Monorepos. It was generated using a combination of Nx, Ionic Thank

Oct 26, 2022
Owner
Josh Harwood
Josh Harwood
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Veselin Petranchev 2 Oct 11, 2022
This is a boilerplate for creating your own languages for various use cases. You can even create your own programming language from scratch!

Bootstrap compiler This is a bootstrap compiler that can be used to compile to compiler written in the target language. You can write a compiler in th

Kaan 3 Nov 14, 2022
🪆 Template intended to serve as a starting point if you want to bootstrap a Figma Plugin in TypeScript.

?? Codely Figma Plugin Skeleton Template intended to serve as a starting point if you want to bootstrap a Figma Plugin in TypeScript. Take a look, pla

CodelyTV 26 Dec 22, 2022
Team Empire offers an innovative and intuitive game based on puzzles solved by two players working in a team.

Team Empire offers an innovative and intuitive game based on puzzles solved by two players working in a team. The user can create an account to monitor their results and achievements. The whole idea of the product is to make the player think and develop his logical thinking.

Vocational school for computer programming and innovation 14 Aug 8, 2022
This React-Based WebPage allows the client/user system to create their own blog, where users can publish their own opinions.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Gauri Bhand 4 Jul 28, 2022
zkPoB is a mobile compatible tool that lets anyone prove they own a Bufficorn (or any NFT) without revealing which Buffi they own or the address they are verifying themselves with

zkPoB is a mobile compatible tool that lets anyone prove they own a Bufficorn (or any NFT) without revealing which Buffi they own or the address they are verifying themselves with

Marto.eth 10 Aug 25, 2022
MUI Core is a collection of React UI libraries for shipping new features faster. Start with Material UI, our fully-loaded component library, or bring your own design system to our production-ready components.

MUI Core MUI Core contains foundational React UI component libraries for shipping new features faster. Material UI is a comprehensive library of compo

MUI 83.6k Dec 30, 2022