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
:boolean
loading
:boolean
ariaLabel
: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
Remote MCP Server on Cloudflare
A template for deploying a remote MCP server on Cloudflare Workers, allowing for custom tool integration.
Web3 MCP
Interact with multiple blockchains including Solana, Ethereum, THORChain, XRP Ledger, TON, Cardano, and UTXO chains.
CAD-Query MCP Server
A server for generating and verifying CAD models using the CAD-Query Python library.
Figma Context MCP
Extract code, assets, and component structures from Figma designs to use within AI workflows.
Claude Project Memory MCP
Manages project memory and implementation logs for Claude Code using local project files.
SourceSync.ai
An MCP server for the SourceSync.ai API to manage and synchronize source code context.
QA Sphere
Integration with QA Sphere test management system, enabling LLMs to discover, summarize, and interact with test cases directly from AI-powered IDEs
Projet MCP Server-Client
An implementation of the Model Context Protocol (MCP) for communication between AI models and external tools, featuring server and client examples in Python and Spring Boot.
Apifox MCP Pro
An enhanced Apifox MCP service providing comprehensive API management capabilities for Claude Desktop and Cursor.
MCP Agent Orchestration System
A state-based agent orchestration system using the Model Context Protocol (MCP).