Stage 2 explains what each tool does. In the commands below, replace <...> with your own value.
Terminal
pwd |
Print the current folder |
ls, ls -la |
List the current folder. -la adds hidden files, sizes and dates |
cd <folder>, cd .., cd ~ |
Go into a folder, up one level, or to your home folder |
mkdir <folder> |
Create a folder |
cat <file>, less <file> |
Print a file, or page through it (q quits) |
cp <from> <to>, mv <from> <to> |
Copy, or move or rename |
rm <file> |
Delete a file. There is no trash bin and no undo |
which <command> |
Print where the shell finds a program |
| Ctrl+C |
Stop the running command |
| Up arrow, Tab |
Recall the previous command, or complete a name |
Git
git status |
Show the current branch, and the changed and staged files |
git diff, git diff --staged |
Show changes not yet staged, or staged changes |
git log --oneline -10 |
Show the last 10 commits |
git switch main |
Go to the main branch |
git switch -c <branch> |
Create a branch and go to it |
git add <file> |
Stage a change for the next commit |
git commit -m "<message>" |
Record the staged changes as a commit |
git push -u origin <branch> |
Send a new branch to GitHub |
git push |
Send new commits on the current branch to GitHub |
git pull |
Bring in new commits from GitHub |
git branch -d <branch> |
Delete a branch that is already merged |
git stash, git stash pop |
Put uncommitted changes aside, and bring them back |
These commands discard work. Approve them only when you know what they discard:
git restore <file> |
Uncommitted changes to the file |
git reset --hard |
All uncommitted changes, in every file |
git clean -fd |
Files that Git does not track |
git branch -D <branch> |
A branch, even if it is not merged |
git push --force |
Commits on GitHub that your folder does not have |
GitHub CLI
gh issue list |
List open issues |
gh issue view <number> |
Show an issue and its comments |
gh issue create |
Open a new issue |
gh pr create |
Open a PR for the current branch |
gh pr list |
List open PRs |
gh pr view --web |
Open the current branch’s PR in the browser |
gh pr checks |
Show the CI results of the current branch’s PR |
gh pr checkout <number> |
Get the branch of a PR, to try it out |
Workspace
source ~/aai-ws/.venv/bin/activate |
Activate the workspace environment in this terminal |
ws-sync |
Pull every repository in the workspace and update the Python packages |
ws-status |
Show uncommitted changes in every repository of the workspace |
which python |
Show which Python environment is active |
nbdev
nbdev-export |
Regenerate the package in marisco/ from the notebooks |
nbdev-clean |
Remove Jupyter metadata from the notebooks |
nbdev-test |
Run the tests of every notebook |
nbdev-test <notebook> |
Run the tests of one notebook |
nbdev-readme |
Regenerate README.md from nbs/index.ipynb |
marisco
marisco-ingest <handler> <output> |
Encode a provider dataset as a MARIS NetCDF file |
marisco-ingest <handler> <output> --src <file> |
The same, for handlers that read a local file |
marisco-ingest not-a-handler |
List the handlers |
marisco-export <file.nc> |
Write one CSV file for each sample type in a NetCDF file |
Claude Code
claude |
Start the agent in the current folder |
| Esc |
Stop what the agent is doing |
| Shift+Tab |
Switch permission mode: manual, accept edits, plan, auto. The status bar shows the current mode |
/clear |
Start a new conversation |
/help |
List the commands |
/exit |
Quit |