
Figma β Vue Design System
from boraalapgh
A Vue 3 component library with automated design token synchronization from Figma.
π₯π₯β VerifiedFreeAdvanced setup
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
ποΈ 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
Copy & paste β that's it
npm install @design-system/vue-components
# or
pnpm add @design-system/vue-components
# or
yarn add @design-system/vue-componentsπ Quick Start
Installation
npm install @design-system/vue-components
# or
pnpm add @design-system/vue-components
# or
yarn add @design-system/vue-componentsUsage
<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>π Deployment
Vercel (Recommended)
Click the deploy button above or manually deploy:
# Build Storybook
pnpm build:storybook
# Deploy to Vercel
vercel --prodBuilt with β€οΈ by the Design System Team
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITβ you can use, modify, and redistribute it under that license's terms.