0:00
Hey gang, I have some news to share with
0:01
you. After about 10 years, I'm saying
0:03
goodbye to a close friend of mine. That
0:07
is tmux. I'm sorry, was that a little
0:11
>> But seriously, check this out. This is
0:13
Herder. Herder is a new terminal
0:15
multiplexer reimagined from the ground
0:17
up. It has all the amazing keybindings
0:19
and features that you would want in a
0:21
terminal multiplexer like tmux, but it
0:23
comes with one little twist. Okay, it's
0:25
actually a really big twist, and I'm
0:27
going to talk about it in this video.
0:28
So, let's get into Herder, gang.
0:42
>> Now, before I get into all the
0:43
nitty-gritty details with Herder and the
0:45
setup that I have right here, which is
0:47
awesome, I want to show you something
0:49
really quick that I just learned. You
0:50
see, if you have a cursor agent and you
0:53
prepend a command with ampersand, it
0:55
actually moves that command to a cloud
0:57
agent. You don't know what that is?
1:00
let me tell you about this week's
1:01
sponsor, Cursor. Cursor's cloud agents
1:04
are amazing. You can kick off a cloud
1:06
agent like this, and it will start up a
1:08
new development environment in the cloud
1:10
that has all of its libraries, all of
1:12
its context, all of its development
1:14
information needed so I can work
1:16
independently. And the best part is that
1:18
your agent will continue to work without
1:19
your input. I can kick off this agent,
1:21
shut my laptop, go touch some grass.
1:24
I mean, who am I kidding? I'm probably
1:25
not touching grass, but needless to say,
1:28
the agent will keep working without my
1:30
input on its own. And one of the coolest
1:32
parts about Cursor's cloud agents is
1:34
that they return so much information. I
1:37
mean, they don't even just give you the
1:38
results of what they did, you actually
1:40
get back pictures and videos. I mean,
1:42
check this out. This is the initial
1:44
setup to my application, and the Cursor
1:46
agent actually built the app, ran it in
1:49
a local server on its dev environment,
1:51
and started taking a test on
1:53
typecraft.dev. How amazing is this? If
1:56
you want to learn more about Cursor and
1:57
cursor cloud agents, then check the link
1:59
in the description. It's pretty awesome.
2:01
Okay, let's get back to talking about
2:03
Herder. Now, Herder as a piece of
2:04
software is amazing. It is a terminal
2:07
multiplexer as I mentioned before, and
2:09
it was built from the ground up as I
2:11
mentioned before with Rust and I believe
2:15
someone also used Zed to build this
2:17
project, at least one of the developers,
2:19
and it has a Nix flake. Awesome, very
2:21
based. But, Herder is amazing. Now, the
2:24
installation of Herder is actually
2:25
pretty straightforward. There's
2:26
Homebrew, there's a Nix flake, which
2:28
again, very based, and there's a script
2:30
that we can use to install. The script
2:32
is probably the easiest, so let's go
2:33
ahead and use that. We can copy and
2:35
paste the script. It just pipes a
2:37
installation script into your shell, and
2:39
there you go, you're already installed.
2:41
So, Herder is installed and it's ready
2:43
to be run. We can just type Herder and
2:45
there we go. This is Herder. It is a
2:47
terminal multiplexer and it has amazing
2:49
features. Now, the cool thing about
2:51
Herder is that it has basically a
2:52
one-to-one implementation of almost all
2:55
of the Tmux things that you might be
2:57
used to if you're coming to it from
2:58
Tmux. This is something that I really
3:00
love about Herder, but it has a couple
3:02
of goodies that Tmux does not have,
3:05
except for maybe with some plugins. Now,
3:07
you'll see on the left-hand side here,
3:08
there's a little bit of a pane that
3:10
shows my spaces and my agents, but I'm
3:12
going to get to that in a little bit.
3:14
First, let's take a little tour through
3:15
Herder, some of its key bindings, and
3:17
just how it works day-to-day. The first
3:19
thing about Herder you might notice is
3:20
that when you press the leader key,
3:22
which is control B by default, just like
3:24
Tmux, you'll see a little bar pop up at
3:26
the bottom here. This gives you a little
3:28
bit of a preview of some of the key
3:29
bindings you can do and what Herder will
3:31
offer you. My favorite thing is if you
3:34
hit question mark, it opens up a
3:36
floating pane that shows you all of the
3:38
possible key bindings and what they do.
3:41
This is a great way to get started on a
3:43
new piece of software and Herder
3:44
implements this amazingly. There's a lot
3:47
of different ways you can navigate your
3:48
workspaces, your agents, which again,
3:50
we'll get to in a second, and all the
3:52
common uses that you would use for a
3:53
terminal multiplexer like tmux. And so
3:56
you might be asking yourself right now,
3:57
well, if it's just like tmux, can I get
3:59
all my tmux bindings from tmux into
4:01
herder? And the answer is, yes, you can.
4:03
For me, I actually already mapped my
4:05
leader to control S. That is a better,
4:08
more ergonomic way to hit the leader key
4:10
for me. And you can do all the things
4:12
that you would want from tmux in herder
4:14
when it comes to managing panes. And
4:15
another key binding I love is that I
4:17
found you can toggle this pane on the
4:19
left here if you don't want to see it
4:20
all the time. I bound it to leader P. So
4:22
you can toggle that pane on and off, no
4:25
problem. So you have like a little bit
4:26
of a zen mode going on here with herder.
4:28
Right? So we have our new pane over here
4:30
on the right. That's great. That's
4:31
control S percent. And control S and
4:34
double quote will make a new pane on the
4:36
bottom. I know these are kind of
4:37
esoteric and weird commands, but coming
4:40
from tmux, this is just ingrained in my
4:42
muscle memory. And it's nice to see that
4:44
herder can implement this really easily.
4:46
And speaking of configuration files, the
4:48
configuration file for herder is
4:49
actually really easy to read and manage.
4:53
It's built with Rust, so the
4:54
configuration file is a dot toml file.
4:57
If you're familiar with that format,
4:58
it's a pretty easy to read file format
5:00
for configuration. And herder provides a
5:02
lot of different configurations, and
5:04
they're all super straightforward. And
5:06
herder, on top of a great configuration,
5:08
offers a lot of color schemes. You can
5:10
actually choose your favorite color
5:12
scheme by using the theme name space in
5:14
your toml file, and setting the name
5:16
equal to whatever color scheme you might
5:18
want. They implement my favorite color
5:20
scheme, which is catpuccin. So I can
5:22
write this, I can quit, and then I can
5:25
just do herder server reload dash
5:29
config. Herder has a lot of great CLI
5:31
options. And there we go, I've reloaded
5:33
my config. It was already showing the
5:35
catpuccin theme, but if you're switching
5:36
themes, this would switch it for you.
5:38
And again, as I said before, if you hit
5:40
your prefix with a question mark, this
5:42
floating pane will show you all the
5:43
possible key combinations and key binds
5:45
you would use in your normal day-to-day
5:47
workflow. So, it's really easy to
5:49
discover the key bindings that you would
5:51
want to use when it comes to actually
5:52
using Hurder. But, hold on cowboy. If
5:54
you look at the homepage for Hurder, you
5:56
see that they mention coding agents
5:58
right off the gates. This is in the
6:00
first sentence. And that's because
6:02
Hurder treats coding agents like Claude,
6:05
Cursor, tons of other agents as
6:07
first-class citizens. And what does that
6:09
mean? Well, you see Hurder has by
6:11
default this pane on the left-hand side
6:14
of your screen here. You can see it. And
6:15
you can see down below I have an agents
6:18
pane. There's two groups, one for your
6:19
workspaces and one for your agents. Now,
6:22
it's really interesting because Hurder
6:24
does a lot with agents that I think a
6:26
lot of different programs don't do and
6:28
tmux certainly does not do. So, first of
6:30
all, I'm in my dotfiles repo. If I start
6:32
up Claude, I can see here at the bottom
6:34
I actually got a new agent in my
6:36
dotfiles workspace called Claude. You
6:39
see I have another one called Cursor
6:40
right above in my learn directory. And
6:43
there's a lot of cool things that Hurder
6:44
will do with agents that I think help
6:46
with your overall development if you're
6:47
using coding agents. Now, let me just
6:49
show this off really quick. I'm going to
6:52
look over my Hurder config
6:56
and make suggestions.
6:59
I didn't type that right, but I'm sure
7:00
Claude will figure it out. Now, I can go
7:02
to a different pane. I can go to my
7:04
browser here and I can just wait.
7:07
Did you hear that? That was Hurder
7:09
telling me that my agent needed
7:11
something. So, I can go back, see that
7:13
my agent needs something. Well, actually
7:15
where is my [music] agent? I navigated
7:17
into a different pane here. I don't know
7:19
where my agent actually is. So, there's
7:21
a couple cool things you can do. Hurder
7:22
is mouse native, so if you are a mouse
7:24
user, which ew, by the way, but if
7:27
you're a mouse user, you can just click
7:28
on the agent and it goes right to that
7:30
agent in your workspace. But, if you
7:32
like using your keyboard, there's
7:34
actually a really, really great key
7:35
binding that I found. Leader G opens up
7:38
a fuzzy finding panel that will go
7:40
through all of your agents and your
7:42
You can type slash and just start typing
7:44
something like Claude and that will
7:46
fuzzy find the agent that you're looking
7:48
for or the workspace itself. I can also
7:50
type slash.files and it'll go to my dot
7:52
files workspace and I have my pane one
7:54
and Claude right here. But the coolest
7:56
part about this floating window is it
7:58
gives you keybindings to allow you to
8:00
navigate your different agents based on
8:02
the current state. So if I know that one
8:03
of my agents is currently blocked, you
8:05
can see at the bottom right here there's
8:06
some letters and then it says the word
8:08
state afterwards. If my agent is blocked
8:11
and I just heard that sound go off, I
8:12
can type B and it will show me all of my
8:14
blocked agents. I can also type W for
8:18
>> I for idle agents. My cursor agent here
8:21
is currently idle, D for done agents and
8:24
A for everything. That's amazing. This
8:26
is a super easy way to navigate not only
8:28
your workspaces, but your agents as
8:31
well. And this actually replaces
8:32
something in tmux that I always loved,
8:34
which was the session management. I
8:35
always had it under leader S and that
8:37
would pull up a pane very similar to
8:40
this one that allowed me to fuzzy find
8:41
all of my sessions and to also move up
8:43
and down. By the way, you can use J and
8:45
K in this pane here to go up and down
8:48
all of your panes, workspaces, and
8:50
agents. Navigating everything in Herder
8:52
is super simple with this pane. I love
8:55
it. Also, something really cool about
8:56
Herder and it works the same way in tmux
8:58
is that it runs on a server that runs on
9:00
your machine. So if you close Herder,
9:02
it's actually still running in the
9:03
background. So if you kick off an agent
9:05
and it's doing some work and you close
9:07
Herder, you haven't lost any work. Your
9:09
agent is still going. Let me show this
9:11
off really quick. Now I can go to my
9:13
Claude agent right here. I can just hit
9:15
yes or whatever, yes again, and then if
9:17
I close Herder by typing prefix Q, if I
9:21
look for the process of Claude,
9:25
I can see Claude is actually still
9:27
running right now. That's because Herder
9:29
is still running Claude even though I
9:31
closed the window that Herder was
9:32
running in. Now all I have to do is type
9:33
Herder again, it'll automatically attach
9:35
to where I just was and all of my work
9:37
is still here. The agent was still
9:39
running, it was still doing its thing,
9:41
nothing is lost. This is what I mean
9:43
when I say Herder treats agents as
9:45
first-class citizens. It works amazingly
9:47
with any coding agent you could think
9:49
of. As I mentioned before, Herder
9:50
supports a lot of agents. These are all
9:52
the agents that they currently support,
9:54
and I'm sure they're adding more all the
9:55
time. And along the lines of having
9:57
agents be first-class citizens in
9:59
Herder, Herder actually offers an agent
10:01
skill file. This enables your agents to
10:03
use Herder when it needs to open up new
10:05
panes or workspaces to run tests or
10:07
whatever it may be. It's super easy to
10:09
install. It's a simple NPX command. And
10:12
when you install this with NPX, it
10:14
actually asks which agents you're using,
10:17
so you can install the specific skills
10:20
for those agents. I already installed
10:22
everything I need, so I am going to
10:23
Actually, you know what? I'll install
10:24
OpenClaw. I don't use it, but I'm just
10:27
going to try it. And the installation is
10:28
super straightforward. We proceed, it
10:30
symlinks a skill file to wherever
10:32
OpenClaw looks for these skill files,
10:35
and you will be good to go. Next time
10:37
you use OpenClaw, you can tell it to
10:39
open a pane in Herder and do whatever it
10:41
needs to do. In fact, let me show this
10:43
off for CloudCode. I have CloudCode
10:45
running right now. I can just say, "Make
10:47
a new pane in Herder
10:50
to um write "Hello world." Now, Cursor
10:54
actually loads the Herder skill, and it
10:57
knows how to make a new pane in Herder.
11:00
And there we go. [music] It made a new
11:01
pane. Pretty sweet. If you can't tell,
11:03
I'm still a noob with coding agents. I'm
11:05
trying to learn, but it's been fun.
11:08
Now, let me explain probably my favorite
11:10
feature of Herder. This is available in
11:11
tmux as well, but it's just implemented
11:14
so well. Let me go over a little bit of
11:16
a scenario with you first. Let's say
11:17
you're one of these cool agentic
11:18
programmers. You're working on your
11:20
loops, your graphs, and your agentic
11:22
workflow, but you've got something to
11:23
do. Let's say your wife calls, and one
11:25
of the kids is sick. Now, normally you
11:27
can't leave your computer, your agent
11:29
needs you. If you shut it, that agent
11:31
turns off. But with Herder, you can
11:33
actually put all of your stuff on a
11:35
remote box. You can SSH into it, run
11:37
your Agendic workflow, and then you can
11:39
just leave whenever you want. So, if
11:41
your wife calls and one of the kids is
11:42
sick, you can finally be a responsible
11:44
father again, which is something that I
11:46
look forward to personally. Let me show
11:48
off how this works. Right now, I have a
11:50
droplet on Digital Ocean. I'm going to
11:52
copy this IP address. I'm going to tear
11:55
this down after this video, so don't
11:57
worry about it. And I'm going to quit
11:58
Herder. Now, I can SSH into this remote
12:01
box that has Herder already installed.
12:03
Now, all I have to do is type Herder
12:05
{dash} {dash} remote, my username at
12:09
this IP address. This will SSH into the
12:12
box and run Herder. Now, if Herder is
12:14
not already installed on this machine,
12:16
it will install it in this command right
12:21
And there we go. It installed Herder,
12:22
and here I am. I'm actually on a remote
12:24
machine. And the coolest part is my
12:26
color schemes and my configuration are
12:29
being used from my local machine. So, I
12:31
can use my great leader key that I love,
12:33
which is control S. The color scheme is
12:35
Cappuccine, which I love. And everything
12:38
works the same [music] exact way that it
12:40
does on my local machine. So, I can use
12:42
Herder on a remote box. I can just have
12:44
my laptop be a thin client, and I can
12:46
use my Herder instances from wherever I
12:49
may be. This is a workflow that I
12:50
personally love, and I'm definitely
12:52
going to set up and start using in the
12:54
near-term future. So, stick around for
12:55
that, because that's going to be a fun
12:57
build. Either way though, now that I'm
12:58
SSHing into this machine, if I kick off
13:00
an agent, I can just get up and leave. I
13:02
can shut my laptop. I can turn it off.
13:04
It doesn't matter, because Herder is
13:06
running somewhere else. All I have to do
13:08
is SSH back into it at another time. And
13:10
finally, I can pick up my kids from
13:12
school again. They've had to walk home a
13:13
lot. Personally, I love Herder. It's
13:16
ergonomic. It makes sense to me, and it
13:18
works with Agendic workflows, which is
13:20
something that I'm trying to get into
13:21
myself. But Herder is huge. This is just
13:25
They have so many plugins built by the
13:28
community already. Herder is fairly new,
13:30
but look at all of these plugins.
13:32
There's Herder Navigator, Herder Command
13:33
Pallet, Smart Tab Rename. There are so
13:36
many plugins. The community is behind
13:38
Herder. It's a fantastic program, and
13:40
personally, I love it. I'm definitely
13:42
ditching tmux for Herder. As much as it
13:44
pains me to say that, this is just
13:46
implemented so well. I don't see any
13:48
other way. So, check out Herder. It's
13:49
awesome. Subscribe for more Linux, Vim,
13:52
and interesting videos on tech. And hey,