Install any free tool from GitHub, safely
The one skill behind every tool on this site. Twenty minutes, no coding, and by the end you'll have downloaded a real project and run it yourself.
- A checklist for spotting fake, malware-filled copies of popular repos
- Your first repo downloaded and running on your machine
- A Windows 10/11 PC or a Mac
- 20 minutes
- Nothing else. No coding.
Open the terminal
Every install guide on GitHub starts here, so get comfortable with it first.
The terminal is just a window where you type commands instead of clicking. You can't break your computer by opening it.
- Windows: press the Windows key, type
Terminal, press Enter. (On older Windows 10, typePowerShellinstead.) - Mac: press Cmd + Space, type
Terminal, press Enter.
- Windows: press the Windows key, type
Type the line below and press Enter. It just prints your current folder.
TerminalpwdTipPaste with Ctrl + V on Windows Terminal or Cmd + V on Mac. Every command on this site has a Copy button, so you never need to type them out.
C:\Users\yourname or /Users/yourname.If it breaksIt says 'pwd is not recognised'
It says 'pwd is not recognised'
See what you already have
Most AI repos need Git, Node.js, Python or uv. You might already have some of them.
Run these four lines one at a time. Each one asks a program for its version number.
Terminalgit --version node --version python --version uv --versionOutputgit version 2.52.0.windows.1 v26.7.0 Python 3.13.5 uv 0.11.9 (7829a03b6 2026-05-05 x86_64-pc-windows-msvc)uv is a small, official tool that installs and runs Python apps cleanly, each in its own sandbox, so they never clash. Lots of lessons on this site use it. If a line prints a version, you have it. If it says not recognised or command not found, you'll install it in the next step.
TipOn a Mac, usepython3 --versioninstead. Macs reservepythonfor an old system copy.
Install the missing pieces
One command each, straight from the official sources.
On Windows, use
winget. It's Microsoft's own installer and it's already on Windows 10 and 11. Only run the lines for the things you're missing:Windowswinget install --id Git.Git -e winget install --id OpenJS.NodeJS.LTS -e winget install --id Python.Python.3.12 -e winget install --id=astral-sh.uv -eOn a Mac, install Homebrew first (copy the one-line command from brew.sh ↗), then:
Macbrew install git node python@3.12 uvCarefulWhen you're done, close the terminal and open a new one. Programs you just installed aren't visible to a terminal that was already open. This catches out nearly everyone.Then run the four version checks from Step 2 again.
If it breaks'winget' is not recognised + 4 more
'winget' is not recognised
Still 'not recognised' after installing
winget or Homebrew won't install uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex". Mac: curl -LsSf https://astral.sh/uv/install.sh | sh. Then open a new terminal. Both come from uv's install page ↗.Python opens the Microsoft Store instead
python shortcut that points to the Store. Go to Settings → Apps → Advanced app settings → App execution aliases and switch off both Python entries, then open a new terminal.winget asks you to agree to the source terms
Y and press Enter. It only asks once.Run a tool from GitHub in one line
See the payoff straight away: a real open-source tool, running on your machine, with no setup.
uvxcomes with uv. It fetches a Python tool, runs it in a throwaway sandbox, and leaves the rest of your computer alone. Try it on cowsay, a tiny open-source joke program:Terminaluvx cowsay -t "I came from GitHub"OutputInstalled 1 package in 85ms __________________ | I came from GitHub | ================== \ \ ^__^ (oo)\_______ (__)\ )\/\ ||----w | || ||Silly, but it's the exact move you'll make for serious tools later in the course: one line, and a project someone published on GitHub is running on your PC.
If it breaks'uvx' is not recognised
'uvx' is not recognised
Spot a fake repo before you run it
Popular AI tools get cloned by scammers who add malware. This is how you avoid them.
When a repo goes viral, copies appear with the same name and a download link to a "setup.exe". Before you install anything, go through this checklist:
- Owner: does the account match the project's official website or docs?
ollama/ollamais real.ollama-free-download/ollamaisn't. - Stars and forks: the real one usually has thousands. Copies have a handful, or a suspicious burst of new ones.
- History: real projects have months of commits from several people. Fakes often have one or two commits, all from the last few days.
- Downloads: official builds live under Releases on the right-hand side. Be very wary of a README that says "download this .zip/.exe" from a link elsewhere.
- Password-protected zips are a red flag. Antivirus can't scan inside them, which is why scammers use them.
Download your first repo and run it
`git clone` is how almost every install starts. Do the full pattern once, on something harmless.
The cow you just ran lives at github.com/VaasuDevanS/cowsay-python ↗. It's a small hobby project, plain Python you could read in ten minutes, which makes it a safe first clone. This downloads it into a new folder and lists what's inside:
Terminalgit clone https://github.com/VaasuDevanS/cowsay-python cd cowsay-python lsOutputCloning into 'cowsay-python'... Directory: ...\cowsay-python Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 12/10/2026 01:02 .github d----- 12/10/2026 01:02 cowsay -a---- 12/10/2026 01:02 3237 .gitignore -a---- 12/10/2026 01:02 1856 CHANGELOG.md -a---- 12/10/2026 01:02 3119 CONTRIBUTING.md -a---- 12/10/2026 01:02 35823 LICENSE -a---- 12/10/2026 01:02 1042 pyproject.toml -a---- 12/10/2026 01:02 5271 README.mdThat's Windows PowerShell, which shows dates and sizes. A Mac shows just the names.
Now run your own copy.
uv runreads the project'spyproject.toml, builds a private sandbox for it, then runs it:Terminaluv run python -m cowsay -c tux -t "Running my own copy"The first time, uv prints a few setup lines while it builds the sandbox. Then the penguin appears:
Output___________________ | Running my own copy | =================== \ \ \ .--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
The whole pattern in one window: clone, cd, ls, then run your own copy with uv. That's the whole pattern: clone downloads it, cd moves into the folder, ls shows what's there, then you run the commands in its README. Every install on this site is a version of these four moves.
git pull(inside the folder) fetches the latest version latercd ..moves back up one folder- Swap
tuxfordragonortrexfor a different character
TipFor a big project where you only want the latest version, add--depth 1togit clone. It skips the entire history and downloads only the current files, which is much faster and smaller. You losegit pullupdates, so use it when you want a one-off copy, not a repo you'll keep current.
If it breaks'git' is not recognised + 2 more
'git' is not recognised
It says the folder already exists
cd cowsay-python and carry on, or delete the folder and try again.'No module named cowsay'
cd cowsay-python first, then the uv run line again.Your first wins
It works. Now do something with it.
Read any README like a pro
Paste a README into Claude or ChatGPT with this prompt before you install something new:
Here is a GitHub README. Explain in plain English: 1) what this tool does, 2) exactly what I need installed first, 3) the install commands for Windows, step by step, 4) anything risky I should know. Flag anything that looks like a scam (strange download links, password-protected zips, requests for keys).
[paste the README here]Next: the terminal survival kit
Ten commands and three keyboard tricks that every README assumes you know. Fifteen minutes, and the rest of this site gets much easier. Start the terminal survival kit.
Undo it cleanly
How to remove everything this mission installed.
To delete the test repo, go up a folder and remove it:
cd ..
Remove-Item -Recurse -Force cowsay-pythoncd .. && rm -rf cowsay-pythonThe uvx copy of cowsay only lives in uv's cache. uv cache clean clears it.
Keep Git, Node, Python and uv installed. Nearly every lesson on this site uses at least one of them.