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

Previous survey · No. 1710 ·

Pricing
Open Source
Type
TOOL
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 filesElement specifications and CSS properties

  • Generate CSS code from design components

    Penpot design elementsCSS stylesheets

  • Export design assets

    Penpot graphics and componentsImage files and SVG assets

  • Debug prototype interactions

    Penpot prototypesInteraction flow analysis and error reports

  • Extract design tokens

    Penpot design systemDesign token configuration files

  • Measure spacing and dimensions

    Penpot design layoutsPrecise measurement values

Tags

penpotdesigndevtoolsprototyping

Tech Stack

Node.jsVite

Comments (0)

No comments yet

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