HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
casey
just
Rust2016–2026
casey / just

just

🤖 Just a command runner

120Distinct people
152Mentions
4Explicit recommenders
36.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

🤖 Just a command runner

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Reminds me of `just`. I love `just`. (Although I've never used make...) https://github.com/casey/just

arcanemachiner used a recommendation phrase. 4 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 7:24:48 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year152 dated mentions

Observed mentions: 2016-11-10 08:57:09 UTC to 2026-10-21 13:45:06 UTC.

0102030402016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 9 mentions; 3 submissions, 6 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 10 mentions; 3 submissions, 7 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 24 mentions; 6 submissions, 18 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 39 mentions; 1 submissions, 38 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 30 mentions; 2 submissions, 28 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 20 mentions; 3 submissions, 17 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC110
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC514
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC936
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC1037
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC24618
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC39138
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC30228
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC20317
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC11110

What Hacker News says

30 sources
I thought this was common knowledge and that it became even easier after Docker became a thing? Mocks are wishful thinking incarnate most of the time, though here and there they are absolutely needed (like 3rd party APIs without sandbox environments, or quite expensive API, or most of the time: both). Just pick a task runner -- I use just[0] -- and make a task that brings up both Docker and your containers, then run your test task, done. Sure it's a bit fiddly the first time around but I've seen juniors conquer that in a day maximum and then your tests actually work with the real world 99% of the time. Mocks in general are rarely worth it, the DB ones: 10x so. [0] https://github.com/casey/just
In Database mocks are not worth it
(author of mise) The biggest advantage just has is that it's been around longer, in mise tasks only came out of experimental like a month ago. mise tasks themselves are stable, but there are still experimental things and some portions that need to be used more—like windows. That said, most of the stuff that needs polish are features just doesn't even have. I had a look at the top issues for just and pretty much all of them I've handled in mise: https://github.com/casey/just/issues?q=is%3Aissue+is%3Aopen+... here's my unashamedly biased thoughts on why I like mise tasks compared to just: * tool integration - this is the obvious benefit. If you run `mise run test` on CI or wherever it'll setup your toolchains and wire them up automatically * parallel tasks - I saw this as table-stakes so it's been there since the very beginning * flags+opti
Read the rest
ons - mise tasks are integrated with usage (https://usage.jdx.dev) which provides _very_ comprehensive CLI argument support. We're talking way more than things like flags and default options, as an example, you can even have mise tasks give you custom completion support so you can complete `mise run server --app=<tab><tab>` * toml syntax - it's more verbose, but I think it's more obvious and easier to learn * file sources/outputs - I suspect just doesn't want to implement this because it would make it more of a "build tool" and less of a "task runner". I chose to despite having the same position that mise tasks is also not a "build tool". Still, I think even in the world of running tasks you want to only run things if certain files changed often. * `mise watch` - this is mostly just a simple wrapper around `watchexec -- mise run ...` for now, but it's an area of the codebase I plan to focus on sometime in the next few months. Still, even as a simple wrapper it's a nice convenience. * "file tasks" - in mise you can define tasks just by being executable and in a directory like "./tasks". This is great for complex scripts since you don't also need to add them to mise.toml. I have not used just very much, but I did go through the docs and there are a handful of things I like that it definitely does better: * help customization - it looks like you can split tasks into separate sections which is nice, I don't have that * invoking multiple recipes - I don't love how this is done in mise with `mise run task1 ::: task2` but I _also_ wanted to make it easy to pass arguments. At least for now, the ":::" won out in the design—but I don't like it. Probably too late to change it anyhow. * [no-cd] flag - both just and mise run tasks in the directory they're defined, but I prefer how this is overridden in just vs mise. * expression/substitutions - mise uses tera for templating, which is very flexible, but it requires a bit more verbosity. I like that in just you can just use backticks or reference vars with minimal syntax. Same thing with things like joining paths and coalescing. I have all of this, but the syntax is definitely more verbose in mise. Arguably though, mise's verbosity might be easier to read since it's more obvious what you're saying. * confirmation - I love that in just you can just add `[confirm]` to get a confirmation dialog for the task. I'm sure we'll get around to this at some point, mise already has confirmation dialogs so it shouldn't be hard to add. The tricky part will be getting it to work right when running a bunch of stuff in parallel. * task output - I haven't used just that much so I can't actually say that it's "better", but having more control over how tasks are output is definitely a weak part of mise right now and is in need of more functionality like in just how you can add/remove "@" to echo out the command that's running I want to call out one very silly thing that from reading these github issues sounds crazy. It sounds like both just and taskfile have the same behavior with `.env` files. In just and taskfile, variables defined in .env are ignored if they're already defined. I don't think anyone would want that—nobody has asked for mise to behave that way—and it doesn't appear either tool even allows you to change it!
In Just: Just a Command Runner
Task is in a similar problem space. Unlike Just which clearly states it is not a build system [1], Task can be told about expected files so tasks can be skipped to avoid unnecessary work [2]. So if your task is to build software, IMO make and the others like Task would be better. If your tasks only care about the success code from a process, and/or are a Rust fan instead of Go, then Just should be fine. Otherwise, for specific use-cases like CI, you are likely already coding in a proprietary YAML/JSON/XML format. [1] https://github.com/casey/just/blob/e1b85d9d0bc160c1ac8ca3bca... [2] https://taskfile.dev/usage/#prevent-unnecessary-work
In Just: Just a Command Runner
This is built-in to pyproject.toml https://packaging.python.org/en/latest/guides/writing-pyproj... supported by uv for example https://docs.astral.sh/uv/concepts/projects/init/#packaged-a... Benefit is you can just type the command, no need to prepend pyqwe or anything. See also justfile for a non-python specific tool https://github.com/casey/just Which I just learned can be installed with Python! https://pypi.org/project/rust-just/
In Pyqwe: The quick work environment for Python
Technically all of these make targets look for files by the names of the targets. Each one should really be defined as .PHONY. That said, I used to write makefiles like this all the time, but have since switched to just and justfiles in recent years which make this the default behavior, and is generally simpler to use. Things like parameters are simpler. https://github.com/casey/just
In I Like Makefiles

Showing the 15 most recent of 30 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.