12 ms·
Show HN: I created a cross-platform GUI for the JJ VCS (Git compatible)
Personally, I think the JJ VCS (https://github.com/jj-vcs/jj https://github.com/jj-vcs/jj) hit a point some time in this past year where I find it hard to find a great reason to continue using git. Over the years I've cobbled together aliases and bash functions to try to improve my git workflow, but after using jj, which works with ~any git repo and integrates great with Github repos, all of the workflow issues I ran into with git are not only solved, but improved in ways I couldn't manage with simple scripts.
One example is the op log, which lets you go to any point in your repo's time and provides simple undo and redo commands when you want to back out of a merge, didn't mean to rebase, etc.
Because I have a pretty strong conviction that JJ is at this point a cleaner and more powerful version of git, my hopes are that it continues to grow. With that, it seemed a proper full-featured GUI was missing for the VCS. There's some plugins that add some integration into VS Code, and there's one in the works to get Intellij support working, but many of the constructs JJ provides in my opinion necessitate a grounds-up build of a GUI around how JJ works.
Right now, [name-redacted] is an MVP in an open beta. I did my best to support all of the core functionality one would need, though there's many nice-to-haves that I am going to add, like native merge support, native splitting, etc. Most of this will be based on feedback from the Beta.
I'm really grateful for the great community JJ has built, alongside the HN community itself in the countless VCS-based posts I've read over the years, and am hoping for lots of input here during Beta under real usage - the goal is to be a full-featured desktop GUI for the VCS, similar to many of the great products that are out there for git.
- harryyking 1y agoAwesome would love to follow this journey
- IshKebab 1y agoIt's difficult to go back to a separate VCS app after using IDE git support (specifically VSCode & the 'git graph' extension which is sadly permanently abandoned).
- chrisweekly 1y agoI'm confused -- what would you be going back from, given your preferred VSCode extension is abandoned?
- IshKebab 1y agoEven though it's abandoned it still works perfectly fine and I still use it.
- ambentzen 1y agoDoesn't that make it "complete" as opposed to "abandoned"? Everything does not need constant updates and new features.
- IshKebab 1y agoNo, because there are features that would still be useful for it to have. See for yourself: https://github.com/mhutchie/vscode-git-graph/pulls https://github.com/mhutchie/vscode-git-graph/pulls
- ilyagr 1y agoVS Code now has an OKish git graph built-in, in case you didn't know. This feature is a few months old.
- IshKebab 1y agoYeah I did but it's merely OKish as you said. Git Graph is still significantly better.
- haykuro 1y agogive "git lens" a try.
- IshKebab 1y agoYeah I've used it for a long time but not for its commit graph feature, which still isn't as nice as Git Graph. Actually the main feature I used it for was "Compare working tree with <commit>" which gives you a nice "what have I changed overall" view but one where the files are editable still in the diff view. However I found this better extension for that: https://marketplace.visualstudio.com/items?itemName=letmaik.git-tree-compare https://marketplace.visualstudio.com/items?itemName=letmaik.... So I don't really need Git Lens any more, which is good because they've made it all commercial and annoying.
- _pvzn 1y agoIf I understand that correctly, I think that can be accomplished in [name-redacted] by viewing the combined diff of your branch by selecting its commits, or selecting one branch tip then another to see the “interdiff”. If this is something else I’d be interested to add support though.
- tcoff91 1y agoI think there’s a JJ vscode plugin
- martinvonz 1y agoThanks for working on this project! It was mentioned on the JJ Discord server that there doesn't seem to be any information available about who you are. Especially since the project seems to be closed-source, perhaps you could share some information about who you are in order to build trust. I hope you understand. I think users may hesitate to download and install the application without knowing anything about its publisher.
- _pvzn 1y agoTotally understandable! I'm a solo dev out of LA who's mostly consulted on various apps and sites over the years, and out of my own personal need I began working on the project earlier this year. The project is indeed closed-source. Personally I've had experiences where I found the project moved forward towards the roadmap much faster - specifically when considering smaller-scale projects that are UI heavy and therefore take in many UI changes in parallel - when I instead implemented feature requests and focused most of my energy on listening to user feedback rather than reviewing code. UI polish can be quite tricky when it comes from many sources :) That said, nothing is set in stone! If at some point there are enough feature requests to where I am the bottleneck, this is something I would revisit. I'd be happy to hop on the Discord as well!
- socalgal2 1y agoMore power to you! I bought Sublime Merge. I'd consider buying yours once it has a little more history. I've been using gg and really miss a side-by-side diff view. Maybe that makes less sense with jj though
- MrJohz 1y agoYou can make the code open source without accepting pull requests or contributions from other people. You might still get pull requests or patches, but you can set expectations up front and then ignore/auto-close any contributions you get. This is how SQLite is developed, for example.
- juped 1y agoThat's their choice, don't try to pressure them to self-dox. What is wrong with you / the "JJ Discord server"? Please identify yourself and everyone there so I can be sure to up my paranoia around each of you.
- aaomidi 1y agoI wish this was open source. Even if you kept comments etc disabled. Or if you shipped the source code alongside the binary. Or just had a zip of the source.
- stavros 1y agoI haven't managed to try this because the "select repo" does nothing on Ubuntu 24.04. It doesn't seem I can actually perform any action at all.
- _pvzn 1y agoOdd okay, I got a separate report on Linux that the app crashes on startup. So for you, it launches fine, but the Select a repo button does nothing? This may sound weird, but have you waited ~1min to see if a file picker pops up?
- stavros 1y agoHm no, I didn't wait that long. Yep, no element did anything, it was as if the whole window were just an image, with no element responding to any sort of input.
- lolmisfortune 1y agoNitpick: "[name-redacted]" and "jujutsu" are already heavily used terms. Googling around for information about this, at least for me, is pretty difficult. [name-redacted] is an international olympic sport, jujutsu is one of the most famous traditional japanese martial arts, jiu jitsu is the most popular submission base for MMA... I'd love a rebrand or rename in order to avoid having to work around the name collision. Best of luck!
- jgtrosh 1y ago"[name-redacted]" is quite distinct and searchable imo
- _pvzn 1y agoYeah I'm actually flip flopping between "[name-redacted] for JJ" and "[name-redacted]"...
- samuelhwilliams 11mo agoHas this been removed from the internet now? Was hoping to share it with a few people and it seems to have been scrubbed :(
- g00k 1y agoThis is so cool. Man I need to find another line of work there are too many cracked devs out there
- swaits 1y agoThis looks great! Excited to try out out and play with it!
- deevus 1y agoSince no one has asked. What is the tech stack?
- jgtrosh 1y agoFrom the Discord: > It's a compose multiplatform[1] app, and it's templated-output-parsed rather than Rust-based. [1]: https://www.jetbrains.com/compose-multiplatform/ https://www.jetbrains.com/compose-multiplatform/
- zem 1y agointeresting, would love to read more about the experience of using compose multiplatform for this
- _pvzn 1y agoIt was really great! The thing is, kind of like the Flutter ecosystem, it's as good as its third party libraries. This app is mostly a very advanced UI on top of the CLI with not a whole lot else - I think maybe the only 3rd party library I'm using is the file picker. But for other apps that might have more complex use cases there may be more of a struggle there. The framework itself is great.
- zem 1y agothanks! I'll have to play with it sometime, didn't find flutter that great on non-mobile platforms.
- rana762 1y ago[dead]
- onatm 1y agoThis looks great though I like TUIs more. I’ve been using https://github.com/idursun/jjui https://github.com/idursun/jjui for the last few months, I highly recommend it if you are a TUI person like me.
- KempyKolibri 1y agojjui is amazing, sometimes I feel like I shouldn't rely on it so much so I learn the CLI, but it's just so useful!
- _pvzn 1y agoYeah the TUI ecosystem is much more built out than GUIs for JJ so far. TUIs are great too - over time I've personally found myself ~50% in the CLI and ~50% in some sort of GUI, but a TUI can fill both gaps pretty nicely. I have always hated viewing diffs in the terminal though.
- cies 1y agoThere are a lot of new use cases for VCSes with AI around.
- swoorup 1y agonot to be that annoying guy, but does anyone have a nix flake for this xD ?
- ambentzen 1y agoLooks neat, have you considered releasing an AppImage for wider Linux support?
- _pvzn 1y agoYes, definitely looking into this! What Linux distro are you running?
- snakemountain 1y ago[dead]
- hoistbypetard 1y agoFWIW, there's another jujutsu GUI called [name-redacted]: [url-redacted]
- veverkap 1y agoThe website is now throwing a certificate error unfortunately.
- nikolay 1y agoThe site and the GitHub org are down, and the name and URLs here are redacted —this is really weird!
- phildenhoff 11mo agoFor those coming to this thread after it was scrubbed, the author unfortunately felt they had to shut the project down after being pressured by their employer. The name is redacted and the website shut down. For what it's worth, commentary from others on the JJ Discord suggested that this could not be a legally binding requirement as the author is located in California. California has laws that prevent employers from controlling employees inventions outside of work hours when using their own devices: https://codes.findlaw.com/ca/labor-code/lab-sect-2870/ https://codes.findlaw.com/ca/labor-code/lab-sect-2870/
- develop7 11mo agoHey, both judojj.com and https://github.com/JudoJJ/ https://github.com/JudoJJ/ are 404, what happened? UPD: oh gotchu https://news.ycombinator.com/item?id=45717247 https://news.ycombinator.com/item?id=45717247