I built Shape because I got tired of jumping between my editor, Figma, GitHub, terminal, and AI tools just to ship a feature.
Shape brings those workflows into one desktop IDE. You can edit your running app visually, work with an AI agent directly in your repo, and manage Git without leaving the editor.
It’s still very early, so I’d genuinely love feedback on what feels useful, what feels unnecessary, and where the product falls apart.
Thanks for checking it out!
Report
@natcale The editor + visual changes + agent in one loop is the interesting part
@yashekbote Yeah, exactly. That’s the part I’m most excited about. Being able to make a change visually and then have the agent pick up from there feels really powerful.
Still early, but that’s the workflow I’m trying to nail.
Report
💎 Pixel perfection
Windows first for an agentic IDE is the thing I noticed. Almost everything in this category ships Mac and gets to Windows months later, so that is a real choice and it is the reason I can actually try it.
You asked where it falls apart. The seam I would look at is between the visual editor and the agent. When I change something on the running app, does that land in git as an ordinary diff? And can I tell later which lines came from me dragging things around and which the agent wrote?
Also, if the agent is halfway through editing the file I am clicking on, who wins?
@dimhold Windows first was on purpose. Glad that let you try it.
Live preview tweaks stay pending until Apply. Apply writes source, and git sees a normal diff.
After you commit, those lines are just code. Chat still has the agent’s diffs from that session.
If the agent is already writing the file you’re clicking, the last save wins. The editor reloads. Unsaved typing on that file gets replaced. Turn on edit approval if you want it to wait.
But thanks for the feedback!
Report
@natcale That answers all three. The Apply boundary is the part I was missing: pending until Apply, then a normal diff.
One question left on the replace. Does the editor say anything when it reloads over unsaved typing? Or do I find out by looking? I ask because the quiet path is what I keep measuring. Over 100 calls to a tool I broke on purpose, a loud failure got reported 39 times out of 40 and a quietly wrong value 0 out of 40.
@dimhold Yes, if the editor has tracked unsaved changes, we show a “File updated by agent” toast and let you know that the unsaved changes were replaced.
There’s no confirmation dialog right now, the agent write wins. Good call on the quiet-path question. I will look at making that state even harder to miss.
Report
@natcale Harder to miss is the right fix. A toast has to win against whatever I am already staring at. When the agent has just written the file, that is the diff.
Thanks for going through all of it. Good luck with the launch.
Replies
Shape
@natcale The editor + visual changes + agent in one loop is the interesting part
Shape
@yashekbote Yeah, exactly. That’s the part I’m most excited about. Being able to make a change visually and then have the agent pick up from there feels really powerful.
Still early, but that’s the workflow I’m trying to nail.
Windows first for an agentic IDE is the thing I noticed. Almost everything in this category ships Mac and gets to Windows months later, so that is a real choice and it is the reason I can actually try it.
You asked where it falls apart. The seam I would look at is between the visual editor and the agent. When I change something on the running app, does that land in git as an ordinary diff? And can I tell later which lines came from me dragging things around and which the agent wrote?
Also, if the agent is halfway through editing the file I am clicking on, who wins?
Shape
@dimhold Windows first was on purpose. Glad that let you try it.
Live preview tweaks stay pending until Apply. Apply writes source, and git sees a normal diff.
After you commit, those lines are just code. Chat still has the agent’s diffs from that session.
If the agent is already writing the file you’re clicking, the last save wins. The editor reloads. Unsaved typing on that file gets replaced. Turn on edit approval if you want it to wait.
But thanks for the feedback!
@natcale That answers all three. The Apply boundary is the part I was missing: pending until Apply, then a normal diff.
One question left on the replace. Does the editor say anything when it reloads over unsaved typing? Or do I find out by looking? I ask because the quiet path is what I keep measuring. Over 100 calls to a tool I broke on purpose, a loud failure got reported 39 times out of 40 and a quietly wrong value 0 out of 40.
Shape
@dimhold Yes, if the editor has tracked unsaved changes, we show a “File updated by agent” toast and let you know that the unsaved changes were replaced.
There’s no confirmation dialog right now, the agent write wins. Good call on the quiet-path question. I will look at making that state even harder to miss.
@natcale Harder to miss is the right fix. A toast has to win against whatever I am already staring at. When the agent has just written the file, that is the diff.
Thanks for going through all of it. Good luck with the launch.