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
Terminal
The app window where you type commands. On this setup it's Ghostty. Also called a "terminal emulator."
Shell
The program inside the terminal that reads your commands and runs them. Here it's zsh.
Prompt
The 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.
Command
An instruction you type, like ls or git. Press Enter to run it.
Argument
What a command acts on — the README.md in bat README.md.
Flag / option
A switch that changes how a command behaves, usually starting with a dash: -l, --all.
CLI
Command-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.
Alias
A short nickname for a longer command. Here ll, lg, and cat→bat are aliases.
Script
A file of commands run top to bottom — automating something you'd otherwise type by hand. See scripting.
Standard in/out/error
A program's input stream, its normal output, and its separate error output — the three channels pipes and redirects move around.
#Files & the system
Directory
A folder. "Directory" and "folder" mean the same thing.
Path
The 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.)
Dotfile
A config file whose name starts with a dot (.zshrc), hidden by default. Groundwork manages many of your dotfiles.
PATH
The list of folders the shell searches to find a command. If something's "not found," it isn't on your PATH.
Environment variable
A named value the shell and programs read, like EDITOR=nvim or PATH.
Symlink
A "symbolic link" — a file that points at another file or folder, like a shortcut.
Permissions
Who can read, write, or run a file. sudo runs one command as the admin (root) user.
Process
A running program. CtrlC stops the one in front of you.
Daemon
A program that runs quietly in the background (a server, a sync agent) rather than in your terminal.
Package manager
Installs and updates software for you. Homebrew (brew) is the Mac one this setup uses.
Kernel
The 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 editor
An editor with modes — Neovim separates "typing text" from "running commands on text."
Buffer
An open file in the editor (it may or may not be visible in a window).
Split
Two files (or views) side by side inside the editor.
Plugin
An add-on that extends a tool. tmux, Neovim, and zsh all load plugins here.
Lua
A 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.
Multiplexer
A tool that puts many shells in one window and keeps them alive — that's tmux.
Session / window / pane
tmux's nesting: a session is a project workspace, a window is a tab, a pane is a split within it.
Detach / attach
Leave a tmux session running in the background, then reconnect to it later, untouched.
Prefix
The key combo that starts a tmux command — here Ctrla.
#Git & GitHub
Repository (repo)
A project folder that Git is tracking, including its full history.
Commit
A saved snapshot of your project at a point in time, with a message describing it.
Stage
Marking which changes go into the next commit (the "staging area").
Branch
A parallel line of work you can build on without touching the main version.
Merge
Folding one branch's changes back into another.
Conflict
When two changes touch the same lines and Git needs you to pick what wins.
Remote / origin
A copy of the repo hosted elsewhere (usually GitHub). "origin" is its default name.
Clone
Download a full copy of a remote repo to your machine.
Push / pull
Send your commits up to the remote / bring others' commits down.
Fork
Your 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.
Diff
The exact lines that changed between two versions. delta makes them readable.
.gitignore
A list of files Git should ignore (build output, secrets, junk).
SSH key
A cryptographic key pair that proves who you are to GitHub without a password.
#AI agents & this setup
LLM
Large Language Model — the AI behind tools like Claude that reads and writes text and code.
Agent
An AI you give a task to that acts — reads your project, edits files, runs commands — versus a chatbot that just replies. See Editors & AI.
Prompt
What you tell the AI to do, in plain English.
Context
The files and information the agent can "see" while it works.
AGENTS.md
The 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.
Spec
A checkable statement of what "done and correct" means for a piece of work — from acceptance criteria to a failing test. See Specs & targets.
Playbook
A written procedure for work that repeats: the steps, the order, the checks. See Skills & playbooks.
Skill
A playbook packaged so an agent can load and follow it on demand — a folder with a SKILL.md entrypoint. See Skills & playbooks.
Thesis
The project's written north star: why the work exists and the direction no contributor, human or agent, may drift from. See AI agents & rules.
chezmoi
The tool that lays this whole setup onto a machine or shell profile from one Git repo. See Setup.
Template
A config file with blanks chezmoi fills in per machine (your name, email, work-or-not).
Bootstrap
The one-command first run that installs everything on a fresh machine.
Brewfile
The 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.