HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
magit
transient
Emacs Lisp2021–2026
magit / transient

transient

Transient commands

5Distinct people
6Mentions
0Explicit recommenders
890GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Transient commands

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

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 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 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 year6 dated mentions

Observed mentions: 2021-03-21 01:51:46 UTC to 2026-03-02 02:03:03 UTC.

0122021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 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
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

6 sources
> ... because the discoverability is lower than GUIs. The UI paradigm created by the emacs transient package [1] can improve the discoverability of CLI commands significantly. It's one of the components of magit, the famous git frontend, that makes it so awesome. It's discoverability is very close to that of GUIs and somehow even more pleasing to use than GUIs. I wonder if someone is trying this on terminals. [1] https://github.com/magit/transient
In Ghostty – Terminal Emulator
> Transient UIs [...] could usually be replaced by just using a regular special-mode keymap in a custom buffer. For people who can look at a list of key bindings once and have them memorized, maybe. Turns out most people are not like that, and appreciate an interface that accounts for that. You also completely ignore that the menus are used to set arguments to be used by the command subsequently invoked, and that the enabled/disabled arguments and their values can be remembered for future invocations. > The fact that Transient hooks into the MVC and breaks elementary navigation such as using isearch Not true. (Try it.) This was true for very early versions; it hasn't been true for years. > or switching around buffers Since you earlier said that transient menus could be replaced with regular prefix keys, it seems appropriate to point out t
Read the rest
hat transient menus share this "defect" with regular prefix keys, see https://github.com/magit/transient/issues/17#issuecomment-46.... (Except that in the case of transient you actually can enable such buffer switching, it's just strongly discouraged because you are going to shoot yourself in the foot if you do that, but if you really want to you can, see https://github.com/magit/transient/issues/114#issuecomment-8.... > has irritated me ever since Magit adopted the new interface. I usually do not respond to posts like this (anymore), but sometimes the urge is just too strong. I have grown increasingly irritated by your behavior over the last few weeks. Your suggestion to add my cond-let* to Emacs had a list of things "you are doing wrong" attached. You followed that up on Mastodon with (paraphrasing) "I'm gonna stop using Magit because it's got a sick new dependency". Not satisfied with throwing out my unconventional syntax suggestion, you are now actively working on making cond-let* as bad as possible. And now you are recycling some old misconceptions about Transient, which can at best be described as half-truths.
In IDEs we had 30 years ago and lost (2023)
> Even in this article just a few sentences after stating we should start from first principles he then jumps into the assumption of the "desktop". Agree. Although I can see how the idea of "first principles" can be a very difficult starting point. A blank sheet of paper is a scary monster. There's a huge breadth and depth of non-"desktop" GUIs out there, some (like smartphones) are even wildly successful. It's good to explore them for inspiration. Some of my favourites: - Arcan (https://arcan-fe.com/about/) - I won't attempt to summarize, just dive in! - SailfishOS (https://sailfishos.org/) - mobile UI focused on interaction through gestures / swipes; I've used it as my daily driver for a couple years. - Speaking of mobiles, classic Nokia UIs allowed you to navigate to a specific item in the menu by pressing the corresponding digit on th
Read the rest
e dial pad. Once you learned where a particular item is, accessing e.g. your SMS inbox was extremely quick. - Apple Watch / WatchOS (https://www.apple.com/watchos/) - I've always loved the idea of a device where one of the primary interaction methods was a wheel/dial of some sort. The watch even gives you context-sensitive tactile feedback. - ZUIs in general (https://en.wikipedia.org/wiki/Zooming_user_interface) and the work of Jef Raskin in particular: https://en.wikipedia.org/wiki/Archy_(software) - this is the guy who helped design the Macintosh, but his other work took a radically different route. - Magit (https://magit.vc/). Many common git operations are reduced to a couple of keystrokes; the obscure features are more discoverable, and the cumbersome procedures (such as rebasing, or staging individual hunks) become simple and intuitive. Also check out transient (https://github.com/magit/transient), which is the "UI toolkit" that powers Magit.
In On Desktop GUI Minimalism
True, and I'd personally rather move away from Emacs to something more modern. (Helix is great, although I appreciate the irony of it being terminal-only, while Emacs supports several different window systems natively.) Magit is the only real reason I'm sticking with Emacs. Magit itself is powered by <https://github.com/magit/transient>, which I see more as an interaction paradigm than a library; it could enable more ergonomic interaction with other stateful tools that are typically native to the command line / terminal (such as docker/kubectl, systemctl, mpd/mpc, etc). Rather than using Emacs as a middle layer, Transient could build on top of pluggable native toolkit backends, such as Cocoa, Gtk, Win32, or even web or a terminal. We continue investing into terminals because the terminal remains the lowest common denominator of interactin
Read the rest
g with a computer. On the other end of the spectrum we have Electron, which has very clear and obvious downsides. I think there is low-hanging fruit with amazing ROI somewhere in the middle, and Magit/Transient is an example of what it could be.
In Warp is a modern, Rust-based terminal with AI built in
Many things requested are available in emacs. > However, I personally don’t use this capability of shell a lot: 90% of commands I enter are simpler than some `cmd | rg pattern`. > (kbd "C-c") doesn’t work as it works in every other application. So rebind it? Even terminal emulators allow for rebinding of keybindings, and so does emacs. > I launch GUI version of Emacs: the terminal one changes some keybindings, which is confusing to me. For example, I have splits inside emacs, and inside my terminal as well, and I just get confused as to which shortcut I should use. IMHE the solution is to decide which tiling manager you wish to you use (my experience is informed by using i3 to tile and sometimes emacs). 99% times I use my i3 to tile, and emacs only splits in half (C-x 2 or C-x 3 depending on what I need and how wide the emacs window is) >
Read the rest
Why can’t I type cargo test, Enter, exa -l, Enter and have this program to automatically create the split? What you are looking for is `cargo test &`, `fg`, `bg`, and (kbd "C-z"), no? The ability to suspend and bring to foreground or background enables this kind of 1. run tests 2. list files. My own experience suggest that how I create the split is dependent on some, potentially implicit, context. > Additionally, while magit awesome, I want an option to use such interface for all my utilities. Like, for tar? Firmly agree, and I believe this is what the transient[1] package is for. > extensible application container, a-la Emacs or Eclipse, but focused for a shell use-case Emacs /is/ focused for shell-use case, at least in my understanding and use of it. > A UI framework for text-based UIs, using magit as a model. ctrl+c, ctrl+v and friends should work as expected. cua-mode enables the "normal" copy and paste bindings. > A tilling frame management, again, like the one in Emacs (and golden-ratio should be default). What's wrong with `C-x 1`, `C-x 2`, `C-x 3`? > A prompt, which is always available, and smartly (without blocking, splitting screen if necessary) spawns new processlets. Isn't this what M-x is or would it taking up the bottom line disqualify it for "splitting". Regarding blocking, I do agree it's very annoying to have emacs become unresponsive. > An API to let processlets interact with text UI. I would assume that there is something lacking from emacs lisp api[2] for manipulating emacs, but it's not clear what they are from this authors perspective. > A plugin marketplace (versions, dependencies, lockfile, backwards compatibility). What is wrong with melpa, quelpa, emacs-wiki, et al? > It doesn’t define out-of-process plugin API (things like hyperlinking output). It sounds like that would require the out-of-process layer (shell) to be as expressive as the in process layer. For instance, emacs can link to files, and new custom link styles, but my terminal is loathe to support http(s)/(s)ftp, and I presume is not easily extensible (as emacs) to new protocols. > Its main focus is text editing. Everything already communicates in text, it's not clear there is a obvious alternative or what would suceed text editing for this use-case. > Its defaults are not really great (fish shell is a great project to learn from here). Perhaps, but the gnu emacs community seem to profess a "we-came-first" mentality for conflicts with emacs defaults and the 'wider computing experience'. > ctrl+c, ctrl+v do not work by default, M-x is not really remappable. cua-mode and false, I have m-x remaped to use helm. 1: https://github.com/magit/transient 2: https://www.gnu.org/software/emacs/manual/html_mono/elisp.ht...
In I want a better shell (2019)

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.