open-pencil  by open-pencil

Open-source AI design editor

Created 2 weeks ago

New!

2,221 stars

Top 20.0% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

OpenPencil is an open-source, AI-native design editor positioned as a local-first, Figma-compatible alternative. It targets designers and developers seeking programmatic control, data ownership, and an extensible, vendor-neutral workflow. The project offers a free, offline, and highly scriptable platform, addressing limitations of closed-source design tools.

How It Works

The editor is built with Vue 3, Skia/CanvasKit for rendering, and Yoga for layout, packaged as a compact Tauri desktop application. Its core innovation lies in its AI-native architecture, featuring integrated chat with tool use and support for Bring-Your-Own-API-key models. It achieves deep Figma compatibility by natively reading and writing .fig files and enabling copy-pasting of design nodes between applications. A robust headless CLI and MCP server further enable automation and integration with AI coding agents.

Quick Start & Requirements

  • Install/Run: bun install followed by bun run dev for the dev server, or bun run tauri dev for the desktop app.
  • Prerequisites: Rust, Tauri CLI, and platform-specific build tools (e.g., Xcode Command Line Tools for macOS, MSVC Build Tools for Windows, build-essential for Linux).
  • Links: Online demo: app.openpencil.dev. Documentation: VitePress site (link not explicitly provided in README, but implied by "Documentation").

Highlighted Details

  • Figma Compatibility: Natively imports and exports .fig files, supports copy-pasting design nodes between Figma and OpenPencil.
  • AI-Native Integration: Features built-in AI chat with tool use, supporting external API keys and planned integration with local models.
  • Programmability: Offers a headless CLI for file operations (inspect, export, search) and an MCP server for AI coding tools to read/write .fig files.
  • Real-time Collaboration: Peer-to-peer editing via WebRTC (Trystero + Yjs), requiring no central server.

Maintenance & Community

The project acknowledges "@sld0Ant (Anton Soldatov) for creating and maintaining the documentation site." No other specific community channels or maintenance signals are detailed in the provided text.

Licensing & Compatibility

Licensed under the MIT License, permitting broad commercial use and integration with closed-source projects.

Limitations & Caveats

The project is explicitly marked as being in "Active development" and "Not ready for production use."

Health Check
Last Commit

20 hours ago

Responsiveness

Inactive

Pull Requests (30d)
60
Issues (30d)
37
Star History
2,253 stars in the last 14 days

Explore Similar Projects

Feedback? Help us improve.