Framer Plugin that exports component metadata and structure as JSON files.
Runs inside Framer editor to extract:
- Component structure - Nested children hierarchy
- Visual properties - Colors, backgrounds, gradients, borders, opacity
- Layout properties - Flex, padding, gap, alignment, constraints
- Text properties - Fonts, sizes, weights, colors, alignment
- Position/sizing - x, y, width, height, pins, aspect ratios
Supports:
- Regular frames
- Component instances (with control props)
- Component masters (when editing components)
cd framer-plugin
npm installnpm run devStarts plugin at https://localhost:5173
- Open Framer Desktop App
- Open your project
- Click Plugins in toolbar
- Select Development → Open Plugin URL
- Enter:
https://localhost:5173 - Accept SSL certificate
- Select frames/components on canvas
- Plugin lists them with metadata
- Check items to export
- Click Download → Downloads JSON files
Each exported file contains:
{
"name": "Button",
"type": "component-instance",
"nodeType": "ComponentInstanceNode",
"structure": {
"id": "abc123",
"name": "Button",
"visible": true,
"locked": false,
"childrenCount": 3,
"children": [...]
},
"properties": {
"width": 120,
"height": 40,
"backgroundColor": "#007AFF",
"borderRadius": 8,
"padding": 12,
...
},
"componentInfo": {
"identifier": "component-id",
"componentName": "Button",
"controls": {...}
}
}See framer-plugin/README.md for:
- Complete installation guide
- Plugin UI features
- Data structure reference
- Development workflow
- Troubleshooting
Design-to-Code Translation:
- Export component specs as JSON
- Parse structure/properties programmatically
- Generate React components matching design
Component Documentation:
- Extract component variants and their properties
- Document design system components
- Track component structure changes
Design QA:
- Compare exported specs against implementation
- Validate dimensions, spacing, colors
- Verify component hierarchy
apps/scheemer/
├── README.md # This file
└── framer-plugin/ # Framer Plugin source
├── src/
│ ├── app.tsx # Main plugin UI (568 lines)
│ ├── main.tsx # Entry point
│ └── components/ # UI components (Button, Checkbox, ScrollArea)
├── package.json
├── vite.config.ts
└── README.md # Plugin documentation
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
MIT - See LICENSE file for details