
Penpot DevTools
https://github.com/penpot/penpot-devtools- 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 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
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.