A Penpot plugin that leverages AI to automatically generate professional designs. This plugin uses Claude (via OpenRouter) to create intelligent, context-aware layouts for various design types.
- Intelligent layout creation based on design type and requirements
- Dynamic component placement and styling
- Color scheme generation and application
- Typography and spacing recommendations
- Landing Pages: Professional hero sections, CTAs, and content layouts
- Dashboards: Functional layouts with sidebars, navigation, and content grids
- Mobile Apps: Mobile-optimized designs with proper navigation and components
- Minimal: Clean, spacious layouts with essential elements
- Modern: Contemporary designs with subtle shadows and rounded corners
- Classic: Traditional layouts with formal structure
- Light: Professional light themes with subtle contrasts
- Dark: Modern dark themes for enhanced visibility
- Colorful: Vibrant color combinations for engaging designs
- TypeScript/JavaScript
- React for UI components
- Penpot Plugin API
- OpenRouter API (Claude AI)
- Vite for building
- Clone the repository:
git clone https://github.com/yourusername/penpot-ai-designer.git
cd penpot-ai-designer- Install dependencies:
npm install- Start the development server:
npm run dev-
API Key Setup
- Get an API key from OpenRouter
- Click the Settings button in the plugin
- Enter your API key
-
Generate Designs
- Select your desired design type (Landing Page, Dashboard, or Mobile App)
- Choose a style (Minimal, Modern, or Classic)
- Pick a color scheme (Light, Dark, or Colorful)
- Click "Generate Design"
-
Customize Results
- The generated design will appear as a new page in Penpot
- All elements are fully editable
- Adjust colors, typography, and layout as needed
src/
├── components/ # React components
│ └── Settings.tsx # Settings panel component
├── services/
│ └── ai.ts # AI service integration
├── App.tsx # Main application component
├── plugin.ts # Penpot plugin initialization
├── layoutGenerator.ts # Layout generation logic
└── types.ts # TypeScript type definitions
npm run buildnpm run lintnpm run preview- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Penpot - The open-source design & prototyping platform
- OpenRouter - AI model API provider
- Anthropic - Creators of Claude AI
For support, please open an issue in the GitHub repository or contact the maintainers.