Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 3006Tools index

Previous survey · No. 2860 ·

Pricing
Open Source
Type
TOOL
Use case
Design & Media
Builder
penpot
GitHub
12 stars
Date

About

Developer tooling for Penpot, the open-source design and prototyping platform.

What it does

Penpot DevTools adds a browser inspection panel for examining a running Penpot application. It provides a ClojureScript console with access to current application state, a typed state explorer, and controls for switching debug options on or off.

Why it's ranked here

This is focused internal tooling with unusually direct access to live Penpot state. Its console, expandable state browser, and debug switches cover practical diagnosis tasks. The narrow URL allowlist and documented connection failures make it less useful as a general extension.

What's good

The state explorer resolves expanded items on demand and reports loading or error states. Console commands retain navigable history and surface both results and failures. Requests use identifiers, promises, and timeouts, while queued messages protect communication before the panel or page bridge becomes available.

Tradeoffs

The extension only runs against the documented local development address and hosted design environment. Its panel can disconnect from the page context, requiring a frame reload. Messages cross several browser contexts, and the documentation says they may need repeated forwarding. Console evaluation also depends on a globally exposed Penpot evaluator.

How to use it well

It suits Penpot contributors debugging application state, ClojureScript behavior, or runtime debug flags inside Chrome DevTools. Load it as an unpacked extension, rebuild after panel interface changes, and refresh after extension script changes. It does not replace general browser debugging or support arbitrary Penpot deployments.

Technical notes+

package.json defines a private ES module package using pnpm, Node.js 20.11 or newer, Vite, Vue, Pinia, Vue Router, Vue I18n, CodeMirror, and Vitest. src/main.js mounts hash-routed console, options, and state views. src/plugins/messaging.js correlates cross-context requests with 60-second promises backed by src/plugins/messaging/PromiseMap.js. devtools.js creates the Chrome DevTools panel, queues messages until endpoints exist, injects bridge scripts into isolated and main browser worlds, and reports connection state. Store behavior has colocated Vitest coverage in src/stores/repl.test.js, src/stores/state.test.js, src/stores/status.test.js, and src/stores/options.test.js. vite.config.js configures Vue, localization resources, and the source alias.

Observed

Primary language
JavaScript, with Vue single-file components referenced by the application entry point
Interface
Chrome DevTools extension panel with a ClojureScript console, state inspector, and debug option controls
Installation surface
Loaded as an unpacked Chrome extension from the repository folder
Package management
Private ES module package managed with pnpm
Runtime requirement
Node.js 20.11 or newer for the development and build toolchain
Target scope
Restricted to localhost port 3449 and design.penpot.dev
Testing structure
Vitest tests are colocated with the console, state, status, and options stores

Read from README.md, package.json, src/main.js, src/stores/repl.js, src/stores/state.js, src/stores/status.js, src/stores/options.js, src/stores/repl.test.js, src/plugins/messaging.js, src/stores/state.test.js, src/stores/status.test.js, src/stores/options.test.js, src/plugins/messaging/PromiseMap.js, devtools.js, vite.config.js.

What it can do

  • Inspect design elements and properties

    Penpot design files → Element specifications and CSS properties

  • Generate CSS code from design components

    Penpot design elements → CSS stylesheets

  • Export design assets

    Penpot graphics and components → Image files and SVG assets

  • Debug prototype interactions

    Penpot prototypes → Interaction flow analysis and error reports

  • Extract design tokens

    Penpot design system → Design token configuration files

  • Measure spacing and dimensions

    Penpot design layouts → Precise measurement values

Tags

penpotdesigndevtoolsprototyping

Tech Stack

Node.jsVite

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.