Figma → Vue Design System
A Vue 3 component library with automated design token synchronization from Figma.
Figma → Vue Design System
A production-ready Vue 3 component library with automated Figma design token synchronization, comprehensive testing, and Storybook documentation.
✨ Features
- 🎨 Figma Integration: Automated design token sync via MCP Server
- ⚡ Vue 3: Composition API with TypeScript support
- 🎯 Production Ready: Comprehensive testing and CI/CD pipeline
- 📚 Storybook: Interactive component documentation
- ♿ Accessibility: WCAG 2.1 AA compliant with axe-core testing
- 🌙 Dark Mode: Full dark theme support
- 📦 Tree Shaking: Optimized bundle size with ESM exports
- 🔄 Automated Versioning: Changeset-based release management
🚀 Quick Start
Installation
npm install @design-system/vue-components
# or
pnpm add @design-system/vue-components
# or
yarn add @design-system/vue-components
Usage
<template>
<div>
<Button variant="primary" @click="handleClick">
Save Changes
</Button>
</div>
</template>
<script setup>
import { Button } from '@design-system/vue-components'
import '@design-system/vue-components/style.css'
const handleClick = () => {
console.log('Button clicked!')
}
</script>
🏗️ Development
Prerequisites
- Node.js ≥ 20 LTS
- pnpm ≥ 8.0.0
- Figma Desktop App (for design token sync)
Setup
# Clone the repository
git clone https://github.com/boraalapgh/figma-vue-design-system.git
cd figma-vue-design-system
# Install dependencies
pnpm install
# Start Storybook
pnpm storybook
# Run tests
pnpm test
# Build library
pnpm build:lib
📦 Components
Button
Primary UI component with comprehensive variants and accessibility support.
<Button
variant="primary"
size="md"
:disabled="false"
:loading="false"
@click="handleClick"
>
Click me
</Button>
Props:
variant:'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'ghost'size:'xs' | 'sm' | 'md' | 'lg' | 'xl'disabled:booleanloading:booleanariaLabel:string
🎨 Figma MCP Integration
Setup MCP Server
- Enable in Figma: Open Figma Desktop → Preferences → Enable Dev Mode MCP Server
- Configure Cursor: Add MCP server configuration in Cursor settings
{
"mcpServers": {
"Figma": {
"url": "http://127.0.0.1:3845/sse"
}
}
}
Sync Design Tokens
# Sync tokens from Figma file
pnpm mcp-sync --file YOUR_FIGMA_FILE_KEY --out ./tokens
# This generates:
# - design-tokens.json (CSS variables)
# - components.schema.json (component definitions)
# - changelog-draft.md (proposed changes)
🧪 Testing
- Unit Tests: Component logic and props
- Accessibility Tests: axe-core compliance
- Visual Tests: Storybook test runner
- Keyboard Navigation: Focus management
🚀 Deployment
Vercel (Recommended)
Click the deploy button above or manually deploy:
# Build Storybook
pnpm build:storybook
# Deploy to Vercel
vercel --prod
Built with ❤️ by the Design System Team
Related Servers
ts-morph Refactoring Tools
Refactor TypeScript and JavaScript codebases using ts-morph. Supports renaming symbols and files, moving symbols, and searching for references.
Lerian MCP Server
Provides educational content, model information, and read-only API interactions for Lerian developers.
Image Generation MCP Server
An MCP server for generating images using the Replicate API and the Flux model.
Authless Remote MCP Server
An authless remote MCP server designed for deployment on Cloudflare Workers. It can be set up locally using npm create.
Binalyze AIR MCP Server
Interact with Binalyze AIR's digital forensics and incident response capabilities using natural language.
Build-Scout
Interact with various build systems including Gradle, Maven, NPM/Yarn, Cargo, Python, Makefile, and CMake.
Revit MCP Python
A pyRevit-based MCP server for Autodesk Revit, enabling connection to any MCP-compatible client.
GitHub Issue Reproduction MCP Server
An intelligent MCP server that automates the reproduction of GitHub issues for AWS CDK projects.
ZeroPath MCP Server
Interact with your product security findings using natural language.
Reloaderoo
A local MCP server for developers that mirrors your in-development MCP server, allowing seamless restarts and tool updates so you can build, test, and iterate on your MCP server within the same AI session without interruption.