"Install the dependencies and start the dev server."
You go looking for a button. There is not one. Everything past the first hour of a real project happens by typing a command and reading what comes back.
The idea
You work in two places at once. The editor is where files are shown and changed: VS Code and Cursor are the common ones, and Cursor is a fork of VS Code, so they look and behave almost identically. The A window where you type a command, press Enter, and the computer runs a program and prints its output. is where programs actually run: your dev server, your installs, git, and Claude Code itself. The editor shows you the state of the project. The terminal changes it.
+---------------------------+---------------------------+
| EDITOR | TERMINAL |
| VS Code / Cursor | Terminal.app / iTerm2 / |
| | the integrated panel |
| - file tree | |
| - open files | ~/projects/shop $ npm |
| - search across project | run dev |
| - the diff view | > ready on :3000 |
| - Claude Code panel | |
| | You type. It answers. |
| Shows state | Changes state |
+---------------------------+---------------------------+
Ctrl+` toggles the terminal inside the editorHow it works
- The editor is a text editor with a file tree, project-wide search, and a built-in diff view. Claude Code can run inside it as a panel, or beside it in a separate terminal. Nothing you do in the editor takes effect until the file is saved to disk, which is why an assistant sometimes reads an older version of a file you are staring at.
- The terminal app is the window itself. On macOS that is Terminal.app (installed already) or
iTerm2 (a free replacement with better tabs). On Windows it is Windows Terminal. VS Code and
Cursor also ship an integrated terminal, opened with Ctrl+backtick, which starts in your project
root and saves you a
cd. - The shell is the program running inside that window and interpreting what you type. macOS has
used Z shellThe default shell on macOS since 2019. It reads your typed
commands and runs them. since Catalina; most Linux servers use
bash. They are close enough that almost every command you will meet works in both.echo $SHELLtells you which one you have. - The prompt is the text before your cursor, usually ending in
$or%. It typically shows the folder you are in, which is the fastest way to notice you are in the wrong one. - Most commands print nothing when they succeed. Silence is the success message. What comes back instead is an error, and that error text is the single most useful thing you can paste to an assistant.
What to do
- Keep two terminal tabs open per project. One runs the dev server and stays busy. The other is
free for
git status, installs, and everything else. Trying to reuse one tab is how people end up killing their own server. - Learn five commands and stop there for now:
pwd(where am I),ls(what is here),cd shop(go into that folder),cd ..(go up one), and Control+C (stop whatever is running). - Start Claude Code from the project root, so its working directory matches the project you mean.
cd ~/projects/shopand thenclaude. - Copy the whole error, not your summary of it. The stack trace under the first red line usually names the file and line number that actually failed.
Where it breaks
The terminal has no undo and no confirmation. A mistyped rm -rf deletes without asking, and there
is no bin to recover it from. Treat any command that deletes, force-pushes, or resets as a
different category of action from the ones that only print things, and read it twice before pressing
Enter.
It is also easy to lose work you never made. Closing the terminal window stops the dev server and kills any Claude Code session running in it. Nothing warns you first.