Most active commenters
  • stavros(5)
  • paradox460(4)
  • nchmy(3)

←back to thread

Jujutsu for everyone

(jj-for-everyone.github.io)
434 points Bogdanp | 13 comments | | HN request time: 0.439s | source | bottom
Show context
paradox460 ◴[] No.45084388[source]
I've been enjoying JJ recently, after giving it another try. I'd tried it when it was new, and the sharp corners were still a bit too sharp for my liking.

JJ seems to be part of a new "era" of tooling that's just really good. I mused about this a bit in a blog post:

https://pdx.su/blog/2025-08-13-the-quiet-software-tooling-re...

replies(5): >>45084426 #>>45084764 #>>45085176 #>>45085669 #>>45101982 #
nchmy ◴[] No.45084426[source]
im glad to see you also use and love mise.

Mise, jj (and its phenomenal jjui TUI, which I see you mentioned there), and uv for python are nothing short of revolutionary, as far as I'm concerned. Just beautiful tools.

replies(2): >>45084516 #>>45088240 #
1. stavros ◴[] No.45088240[source]
I never managed to get into mise. I tried, but I think its documentation wasn't good enough for me to be able to configure the things I wanted, and, with uv, I barely ever see a need to use it...

Does anyone have a use case where they use mise with Python? What do you use it for?

replies(2): >>45089209 #>>45090259 #
2. KingMob ◴[] No.45089209[source]
uv is amazing, but mise is good if you need non-python tools too (e.g., bringing in prettier to format your HTML/Js/templates, adding Js tools, etc.)

It's also not either/or. mise can defer to uv for setting up all the python stuff.

The mise docs are pretty good these days, I think. Task dependencies are still a little rough, though.

replies(2): >>45090517 #>>45091672 #
3. digianarchist ◴[] No.45090259[source]
If you use asdf mise is worth a look. I use uv directly.
4. stavros ◴[] No.45090517[source]
Ah interesting, I have needed node and it's been a bit of a pain, maybe mise can set it up. I'll try it again, thanks!
replies(1): >>45091684 #
5. nchmy ◴[] No.45091672[source]
Yeah mise and uv are completely complementary - there's no overlap, whatsoever, between them...

In fact, if uv is installed (which can be done via mise), mise uses it for python related stuff.

I use mise to install as much as I can now - different language runtimes, tools/utilities etc. I even discovered yesterday that you can use the ubi backend to install directly from Git repos that aren't yet supported by the other registries.

replies(1): >>45097462 #
6. nchmy ◴[] No.45091684{3}[source]
Should be as simple as mise use node.

Or mise use -g node@version (the -g installs it globally)

Same for anything else - deno, bun, golang tooling etc

replies(2): >>45091707 #>>45095316 #
7. stavros ◴[] No.45091707{4}[source]
Oh, this reminds me of a big problem I had: I never know the names of the packages, is there a registry somewhere? I never managed to find one.
replies(2): >>45095308 #>>45099216 #
8. paradox460 ◴[] No.45095308{5}[source]
mise search <package> will find matches across all the baked in registries, and if its not there you can use ubi, aqua, or any github, gitlab, or http path to get it
replies(1): >>45096114 #
9. paradox460 ◴[] No.45095316{4}[source]
Don't even need the @version anymore, mise use -g node will fetch the latest and install it
10. stavros ◴[] No.45096114{6}[source]
Thank you! I never knew this.
11. paradox460 ◴[] No.45097462{3}[source]
Mise recently gained support for arbitrary sources too. Things like GitHub, gitlab, or any http URL (with templating). It's got some overlap with ubi, but has a better time with packages that use multiple files, as ubi chokes on anything more than a single binary
12. KingMob ◴[] No.45099216{5}[source]
Yes, you can browse them at https://mise.jdx.dev/registry.html

Also, it's possible, if trickier, to install from arbitrary git repos.

Finally, if you type `mise use` with no package name, it'll present a filterable list. Start typing what you think you want, and it'll quickly filter to only things match.

replies(1): >>45100263 #
13. stavros ◴[] No.45100263{6}[source]
Thank you!