Paintless

Fix the UI by pointing at it.

Paintless knows which line of code drew that button. Click it, say what is wrong in your own words, and an agent goes and changes it — on your machine while you watch, or as a pull request from whoever asked.

ravel.app/invoices/2087

Seconds from click to change

The picker knows the exact file and line each element renders from. A local agent applies the edit, HMR shows it, one click commits it.

No lock-in, ever

Agents (Claude Code or any CLI), destinations (GitHub, Linear, webhooks), and framework mappers are all pluggable adapters behind one small protocol.

Production feedback that lands as PRs

Stakeholders click, describe, submit. Requests carry screenshots, selectors and source locations — triaged, approved, and delivered by your own server.

DEV MODE

Your first change,
two commands in.

One command reads your framework, bundler and package manager,
then installs the packages and writes the config.
Start the dev host and click your way to a committed change.

npm create paintless@latest

# Detected: react · vite · pnpm
# → installs @paintless/react + @paintless/mapper-vite
# → writes paintless.config.ts

npx paintless dev
HOW IT WORKS

One pipeline,
every workflow.

Paintless is a capture → route → execute → deliver pipeline.
Each stage is a pluggable adapter.

  1. 01
    CAPTUREPick an element

    Selector path, source location, component trail, computed styles, and a highlighted screenshot are collected automatically.

  2. 02
    ROUTEDecide what happens

    Config routes decide per environment and role — run an agent, or deliver the request straight to an issue tracker.

  3. 03
    DELIVERLand as PRs and tickets

    Applied changes become branches and pull requests; raw requests become structured GitHub or Linear issues.

Destinations

One request. Wherever it needs to land.

A route decides per environment and per role. The same click can open a pull request for whoever fixes it and drop a card in the tool the person who asked already lives in. Paintless fans out, and one destination failing never costs you the others.