Groundwork

Plain-English definitions

Glossary: the words, without the jargon.

Every field has its own vocabulary, and the terminal has a lot of it. Here's what the words mean — short, concrete, and pointing you to the page that goes deeper. Skim it once; come back when a term trips you up.

#The terminal & the shell

TerminalThe app window where you type commands. On this setup it's Ghostty. Also called a "terminal emulator."
ShellThe program inside the terminal that reads your commands and runs them. Here it's zsh.
PromptThe text the shell shows when it's ready for input — your OS, the folder you're in, and a where you type. Drawn by starship. The folder is on every line so copied terminal text tells an AI tool which project it came from.
CommandAn instruction you type, like ls or git. Press Enter to run it.
ArgumentWhat a command acts on — the README.md in bat README.md.
Flag / optionA switch that changes how a command behaves, usually starting with a dash: -l, --all.
CLICommand-Line Interface — driving a program by typing, as opposed to a GUI (graphical, with windows and buttons).
Pipe |Sends one command's output straight into the next: cat file | grep todo.
Redirect >Sends output to a file instead of the screen: ls > list.txt.
AliasA short nickname for a longer command. Here ll, lg, and cat→bat are aliases.
ScriptA file of commands run top to bottom — automating something you'd otherwise type by hand. See scripting.
Standard in/out/errorA program's input stream, its normal output, and its separate error output — the three channels pipes and redirects move around.

#Files & the system

DirectoryA folder. "Directory" and "folder" mean the same thing.
PathThe address of a file or folder: /Users/you/code. Absolute starts at /; relative starts from where you are.
Home ~Your personal top folder, /Users/yourname. The ~ is shorthand for it.
Root /The very top of the file tree. (Also "root" = the all-powerful admin user.)
DotfileA config file whose name starts with a dot (.zshrc), hidden by default. Groundwork manages many of your dotfiles.
PATHThe list of folders the shell searches to find a command. If something's "not found," it isn't on your PATH.
Environment variableA named value the shell and programs read, like EDITOR=nvim or PATH.
SymlinkA "symbolic link" — a file that points at another file or folder, like a shortcut.
PermissionsWho can read, write, or run a file. sudo runs one command as the admin (root) user.
ProcessA running program. CtrlC stops the one in front of you.
DaemonA program that runs quietly in the background (a server, a sync agent) rather than in your terminal.
Package managerInstalls and updates software for you. Homebrew (brew) is the Mac one this setup uses.
KernelThe core of the operating system that talks to the hardware. macOS's is named XNU; Linux's is "Linux." See flavors of Unix.

#Editor & terminal multiplexer

Modal editorAn editor with modesNeovim separates "typing text" from "running commands on text."
BufferAn open file in the editor (it may or may not be visible in a window).
SplitTwo files (or views) side by side inside the editor.
PluginAn add-on that extends a tool. tmux, Neovim, and zsh all load plugins here.
LuaA small scripting language used by Neovim for configuration and plugins. You do not need to learn Lua before using this setup, but Neovim config files often end in .lua.
MultiplexerA tool that puts many shells in one window and keeps them alive — that's tmux.
Session / window / panetmux's nesting: a session is a project workspace, a window is a tab, a pane is a split within it.
Detach / attachLeave a tmux session running in the background, then reconnect to it later, untouched.
PrefixThe key combo that starts a tmux command — here Ctrla.

#Git & GitHub

Repository (repo)A project folder that Git is tracking, including its full history.
CommitA saved snapshot of your project at a point in time, with a message describing it.
StageMarking which changes go into the next commit (the "staging area").
BranchA parallel line of work you can build on without touching the main version.
MergeFolding one branch's changes back into another.
ConflictWhen two changes touch the same lines and Git needs you to pick what wins.
Remote / originA copy of the repo hosted elsewhere (usually GitHub). "origin" is its default name.
CloneDownload a full copy of a remote repo to your machine.
Push / pullSend your commits up to the remote / bring others' commits down.
ForkYour own copy of someone else's repo on GitHub, to change freely.
Pull request (PR)A proposal to merge your branch, so others can review and discuss before it lands.
DiffThe exact lines that changed between two versions. delta makes them readable.
.gitignoreA list of files Git should ignore (build output, secrets, junk).
SSH keyA cryptographic key pair that proves who you are to GitHub without a password.

#AI agents & this setup

LLMLarge Language Model — the AI behind tools like Claude that reads and writes text and code.
AgentAn AI you give a task to that acts — reads your project, edits files, runs commands — versus a chatbot that just replies. See Editors & AI.
PromptWhat you tell the AI to do, in plain English.
ContextThe files and information the agent can "see" while it works.
AGENTS.mdThe plain-text source of truth for project agent instructions. Tool-specific files such as CLAUDE.md should point to it unless they need a tool-only note. See Starting a project.
SpecA checkable statement of what "done and correct" means for a piece of work — from acceptance criteria to a failing test. See Specs & targets.
PlaybookA written procedure for work that repeats: the steps, the order, the checks. See Skills & playbooks.
SkillA playbook packaged so an agent can load and follow it on demand — a folder with a SKILL.md entrypoint. See Skills & playbooks.
ThesisThe project's written north star: why the work exists and the direction no contributor, human or agent, may drift from. See AI agents & rules.
chezmoiThe tool that lays this whole setup onto a machine or shell profile from one Git repo. See Setup.
TemplateA config file with blanks chezmoi fills in per machine (your name, email, work-or-not).
BootstrapThe one-command first run that installs everything on a fresh machine.
BrewfileThe list of every app and tool Homebrew installs — the setup's shopping list.
Still stuck on a word?

Most commands explain themselves with --help, and explainshell.com breaks down any command line piece by piece. Or just ask claude — "what does chmod +x mean?" is a perfectly good question.