This document describes the integration between HelixCode and PenPot for design system management and collaboration.
The PenPot integration provides:
- Design System Management: Centralized design tokens and components
- Team Collaboration: Multi-user design review and feedback
- Asset Export: Automated export of design assets for development
- Version Control: Design versioning and change tracking
- API Integration: Programmatic access to design resources
penpot.txt- PenPot API authentication tokenDesign/exports/- Directory containing design assets
curl- HTTP client for API callsjq- JSON processor for API responses
- Log into your PenPot account
- Navigate to Settings → API Tokens
- Generate a new token with appropriate permissions
- Save the token to
penpot.txtin the project root
# Make script executable
chmod +x penpot-integration.sh
# Run complete setup
./penpot-integration.sh setupAfter setup, import designs manually:
- Access your PenPot project at the provided URL
- Create design files and components
- Import assets from
Design/exports/directory - Set up design system with colors, typography, and components
- Primary, secondary, and accent colors
- Semantic color tokens
- Dark/light theme variants
- Heading hierarchy (H1-H6)
- Body text variants
- Code and monospace fonts
- Responsive type scales
- Buttons (primary, secondary, tertiary)
- Form controls (inputs, selects, checkboxes)
- Navigation elements
- Cards and containers
- Modal dialogs
Design/exports/
├── png/
│ ├── screens/
│ │ ├── desktop-main-workspace.png
│ │ ├── mobile-ai-chat.png
│ │ └── terminal-dashboard.png
│ └── components/
│ ├── buttons-primary.png
│ └── cards-elevated.png
├── pdf/
│ └── documentation/
│ ├── design-system.pdf
│ └── component-library.pdf
└── export-summary.json
- Component screenshots for documentation
- Design system specifications
- Color palette exports
- Typography scales
GET /api/rpc/command/get-profile- User profilePOST /api/rpc/command/create-project- Create projectGET /api/rpc/command/get-projects- List projects
POST /api/rpc/command/create-file- Create design fileGET /api/rpc/command/get-file- Get file dataPOST /api/rpc/command/update-file- Update file
POST /api/rpc/command/upload-file-media-object- Upload assetsGET /api/rpc/command/get-file-media-objects- List assets
# Test connection
./penpot-integration.sh test
# Create project
curl -X POST \
-H "Authorization: Token $(cat penpot.txt)" \
-H "Content-Type: application/json" \
-d '{"type": "create-project", "name": "HelixCode", "team-id": "default"}' \
https://design.penpot.app/api/rpc/command/create-project- Design Creation: Designers create components in PenPot
- Review & Approval: Team reviews and approves designs
- Asset Export: Automated export of approved designs
- Implementation: Developers implement using exported assets
- Validation: Design-system compliance validation
- Role-based access control
- Design review workflows
- Comment and feedback system
- Version history and rollback
- Centralized token management
- Automated code generation
- Cross-platform consistency
- Theme variant support
# PenPot instance URL (optional)
PENPOT_BASE_URL=https://design.penpot.app
# Project settings (set via API)
PENPOT_PROJECT_NAME="HelixCode Design System"
PENPOT_TEAM_ID="default"{
"colors": {
"primary": "#0066FF",
"secondary": "#666666",
"accent": "#FF3366"
},
"typography": {
"fontFamily": "Inter, system-ui, sans-serif",
"scale": [12, 14, 16, 18, 20, 24, 30, 36, 48]
},
"spacing": {
"unit": 8,
"scale": [0, 4, 8, 16, 24, 32, 48, 64, 96]
}
}# Check integration status
./penpot-integration.sh status
# Test API connection
./penpot-integration.sh test
# Setup complete integration
./penpot-integration.sh setup- Open PenPot web interface
- Navigate to your project
- Use "Import" feature to add design files
- Organize assets in libraries
- Select components for export
- Choose export format (SVG, PNG, PDF)
- Download to
Design/exports/directory - Update export manifest
- Verify token in
penpot.txtis valid - Check token permissions in PenPot settings
- Ensure token hasn't expired
- Verify network connectivity
- Check PenPot service status
- Validate API endpoint URLs
- Check file formats (SVG, PNG, PDF supported)
- Verify file permissions
- Ensure adequate storage space
Enable debug output for troubleshooting:
# Add debug flag to see detailed output
PENPOT_DEBUG=1 ./penpot-integration.sh setup- Store
penpot.txtsecurely - Never commit tokens to version control
- Use environment variables in production
- Rotate tokens regularly
- Limit token permissions to minimum required
- Use team-based access controls
- Audit access regularly
- Monitor for unauthorized usage
- Centralize Tokens: Use design tokens for consistency
- Version Control: Track design system changes
- Documentation: Maintain design system documentation
- Testing: Validate design implementation
- Clear Roles: Define designer and developer responsibilities
- Review Process: Establish design review workflows
- Feedback Loops: Implement efficient feedback mechanisms
- Quality Gates: Set quality standards for design assets
- Regular Updates: Keep integration scripts current
- API Monitoring: Monitor for API changes
- Error Handling: Implement robust error handling
- Backup Strategy: Backup design assets and configurations
- Check integration status:
./penpot-integration.sh status - Test connection:
./penpot-integration.sh test - Review logs for error messages
- Consult PenPot community forums
- Automated design token generation
- Real-time design-dev synchronization
- Component code generation
- Design system analytics
- Multi-platform asset optimization
- Phase 1: Basic API integration and asset management
- Phase 2: Automated design token synchronization
- Phase 3: Real-time collaboration features
- Phase 4: Advanced analytics and optimization
This integration establishes a robust foundation for design-development collaboration, ensuring consistency and efficiency across the HelixCode project.