Editor
Your dev server, with a workspace around it.
The Editor does not replace your development setup. It starts it. Yourvite.configis loaded and run as written, so your plugins, aliases and hot reload behave exactly as they always did.
The loop
Click something. Change it. The file changes.
There is no save step and no export. An edit lands in your working tree the moment you make it, and your own git is the commit boundary.
Change a prop
Select a component, pick a variant from the enum its own types declare. The attribute in your source changes, rather than a class name layered on top of it.
Edit text in place
Type directly on the page. If the text came from a prop rather than a slot, the edit is routed to that prop automatically.
Move, delete, unwrap, insert
Structural edits are applied by splicing the parsed source at exact coordinates, so the result is a diff you would have written by hand.
Ask for the fuzzy things
A chat panel runs an agent grounded in your component manifests and design tokens, for the changes that are not a single attribute.
Deterministic first
A model is the exception, not the pipeline.
Most edits never touch an LLM. They are applied by re-parsing your source, recovering the exact position of the thing you clicked, and splicing the new value in.
An agent is engaged only when the source is genuinely ambiguous: a bound expression, a v-model, a dynamic bind, where string-splicing would be unsafe. That is what makes the common case instant, free, and impossible to hallucinate.
Refusals are a feature
When an edit is ambiguous (which row of a repeated list did you mean, which instance of a shared component) the Editor asks instead of guessing, or declines and tells you why. Every refusal is documented.
Requirements
What your prototype needs.
The Editor checks these on boot and refuses clearly if something is missing.
- A git repository
- Vue 3 or React in package.json
- A dev server it can start: Vite, Nuxt, React Router or Next.js
- Dependencies installed, because your config is loaded and executed
node editor-cli/bin/desde.mjs ~/code/my-prototype