Built with Python + Textual

Learn the terminal
by actually using it

A terminal file manager that teaches shell commands as you work. Every action explained. Every mistake a lesson. Zero risk to your files.

pip install shellguide See how it works
shellguide --teach
--- Looking Around --- You just cloned a project from GitHub. Explore what's in it.   Challenge 1: List the files in the current directory.   ~/sandbox$ ls src/  tests/  README.md  setup.py  .gitignore   ✓ Correct! ls lists what's in the current folder — like opening a Finder window.   🖥  Finder: Opening a Finder window to see folder contents   Challenge 2: Now list with details — file sizes, dates, permissions. ~/sandbox$
10
Lessons
50
Challenges
20+
Commands
0
Risk to your files

The terminal shouldn't feel like
a foreign language

You know how to manage files in Finder. ShellGuide uses that knowledge as a bridge to the command line.

📁 What you know

Right-click, drag, drop

You already manage files every day. Creating folders, moving things around, finding documents — you do it all with a mouse.

What you'll learn

The same thing, but faster

Every shell command maps to something you already do. ShellGuide shows the connection, explains the why, and lets you practice safely.

Browse files or take lessons.
Both teach.

📁
shellguide

File Browser Mode

A three-panel file manager you can actually use. Navigate directories, create files, copy, move, delete — and every action logs the equivalent shell command with a plain-English explanation.

  • Directory tree, file table, and info panel
  • Color-coded command log (safe / caution / destructive)
  • Finder equivalent shown for every command
  • Keyboard-driven with 15+ shortcuts
shellguide --teach

Teach Mode

Guided lessons where you type real shell commands into a sandboxed filesystem. Each challenge validates your input, catches common mistakes, and explains what happened and why.

  • 10 progressive lessons with real-world scenarios
  • 50 challenges with instant validation
  • Smart mistake detection with suggestions
  • Cheat sheet builds as you master commands
🛡

Completely sandboxed

Teach mode runs inside ~/shellguide_sandbox/ — an isolated directory that resets before each challenge. Only a curated set of safe commands can execute. Path arguments are validated to prevent sandbox escape. Your actual files are never touched.

Built for understanding,
not memorization

Every design decision in ShellGuide is about building intuition, not just teaching syntax.

💡

Explains the "why"

Not just "use -r for directories" — but why cp refuses without it, what could go wrong, and how the safety feature protects you.

🎯

Real-world scenarios

Practice on project structures that feel real: cloned repos, monorepos, build artifacts, config files. Not abstract file1.txt exercises.

🔧

Smart mistake handling

ShellGuide recognizes common errors and explains what your command would have done, then suggests the right approach.

🖥

Finder equivalents

Every command is mapped to its GUI counterpart. ls = opening a Finder window. cp = Option+drag. Bridges what you know to what you're learning.

📜

Cheat sheet that builds

As you master commands, they're added to a personal cheat sheet grouped by topic. Toggle it anytime while learning.

📈

Progressive difficulty

Start with single commands, progress to chained workflows with &&. Lessons unlock sequentially so you always have the foundation.

10 lessons from
ls to real workflows

01

Looking Around

Explore a freshly cloned GitHub project

02

Navigation

Navigate a team monorepo

03

Creating

Build a portfolio site structure

04

Renaming & Moving

Reorganize a messy project

05

Copying

Make backups before a refactor

06

Deleting

Sprint cleanup of build artifacts

07

Reading Files

Debug a server crash from logs

08

Finding Things

Navigate an inherited codebase

Advanced
09

Combining Commands

Chain commands with &&

10

Real Workflows

Multi-step development tasks

Up and running in 60 seconds

1

Install

ShellGuide is a Python package. One command to install.

# Clone and install
git clone https://github.com/WalrusQuant/shellguide.git
cd shellguide
pip install -e .
2

Browse

Launch the file manager. Use it normally — every action is a lesson.

# Launch file browser
shellguide

# Toggle learn mode with 'L'
# See shell commands for every action
3

Learn

Switch to teach mode for structured lessons with hands-on challenges.

# Start interactive lessons
shellguide --teach

# 50 challenges, zero risk

Start learning now

Requires Python 3.10 or later. Works on macOS out of the box.

Terminal
$ git clone https://github.com/WalrusQuant/shellguide.git $ cd shellguide $ python -m venv .venv && source .venv/bin/activate $ pip install -e .   # File browser mode $ shellguide   # Interactive lessons $ shellguide --teach

Stop Googling commands.
Start understanding them.

ShellGuide teaches the terminal the way it should be taught — through doing, with context, and with a safety net.