react-rewrite lets you edit a React app visually while it is running locally, then automatically writes those changes back to the source files in your project.
It is built for local development and works by opening a proxy in front of your dev server and injecting an overlay into the page.
full demo: https://x.com/imdonghakim/status/2038230475894899119
You do not need to download or clone this repo.
From the root of your React app:
npm install -D react-rewrite-cli
Start your dev server, then in a second terminal run:
npx react-rewrite
If you want to try it without installing first:
npx react-rewrite-cli@latest
Tailwind CSS is recommended if you want to use the property editor. Text editing and some structural actions do not depend on Tailwind.
Run this in the root of the React app you want to edit:
npm install -D react-rewrite-cli
If you don't want to install it first, you can also run it directly with npx react-rewrite-cli@latest.
npx react-rewrite
If auto-detection does not pick the right port, pass it explicitly:
npx react-rewrite 3000
The tool opens a local proxy in your browser, shows the editing overlay, and writes confirmed changes back into files inside your project.
react-rewrite [options] [port]
Arguments:
port Dev server port override
Options:
--no-open Don't open browser automatically
--host <host> Dev server host (default: "localhost")
--verbose Enable debug logging
| Shortcut | Action |
|---|---|
Ctrl/Cmd + C |
Copy selected element |
Ctrl/Cmd + V |
Paste copied element as sibling |
Ctrl/Cmd + D |
Duplicate selected element in place |
Delete / Backspace |
Remove selected element |
Ctrl/Cmd + Z |
Undo canvas changes |
Ctrl/Cmd + Shift + L |
Toggle changelog |
Ctrl/Cmd + Click |
Follow links through the overlay |
| Double-click text | Edit text inline |
react-rewrite from your app's root directory so it can detect the framework and safely resolve file paths.To work on this repository itself:
pnpm install
pnpm build
pnpm test -- --run
For iterative CLI development:
pnpm dev
You will still need a separate supported React app running locally to test the tool end to end.
packages/
cli/ CLI, proxy server, and source transforms
overlay/ Injected browser overlay
shared/ Shared TypeScript types
$ claude mcp add react-rewrite \
-- python -m otcore.mcp_server <graph>