Posted by kyle-ssg 1 day ago
Friday after work I realised that 90% of my IDE time now is just the commit/diff view — and even good IDEs feel heavy for that.
So over the weekend I built a dedicated native tool for just that. Kyde is a macOS git commit + diff editor with one goal: be fast, do Git well.
I'm curious whether anyone else mostly opens their IDE for git operations these days.
It's open source, and there's a signed app in Releases.
Another possible useful feature would be to add "open in system" or similar in the right-click menu for a file, to open the file with whatever application the OS has bound to it.
EDIT: I see there's a plugin thing that when clicked installs the highlighting. Cool!
EDIT: Also missing is selectively staging lines of a changed file to commit. I would actually change the behaviour of the Git UI so that it matches the VSCode one, to reduce the learning curve. Most people already know how that works, no need to make them learn a new UX.
>open in system:
Isn't that reveal in finder? I did add this if so :).
> selectively staging lines
Oh I've never actually done this! But I think I understand, so just pushing a few lines in a changed file. Fun! I've always used a different IDE where I don't think that's a thing. I'll add an issue.
But the terminal already has excellent diff and commit tools.
I think I've tried the git command line "interactive" mode, and is really painful. I find myself going to an IDE, selecting the line and right-clicking + "stage selected ranges" to achieve that.
What were your biggest challenges in making this?
Opus 4.8.
> What were your biggest challenges in making this?
UI that had to react due to things such as the window size changing, specifically with horizontal and vertical scrolling and getting it to work with mouse drag + text selection via shift and arrow keys. It was a lot of back and forth. In the end after getting it working for the main editor I (Claude) turned it into a with_scrollbars decorator method.
Knowing to splitting god functions before they sprawl / emphasising regression tests, and specifically frame rate regression has helped me a lot so far I think.
There is not one singular answer for everybody.