Public course previewThis is not your assigned passport. No identity, answers, or completion progress are stored here.How to start your passport
Getting started

New to the lab

Set up your IT Passport.

The IT Passport is the lab's guided course for setting up tools and practising safe IT tasks used in research. It selects the lessons needed for your work and remembers where you stopped on the computer in front of you. The steps name the application to use and the result to look for.

Already started on another computer? Install only missing tools below, then follow Continue On Another Computer to resume your existing Passport.

Already have Git and gh? Verify the tools and continue.

What are Git, GitHub, gh and the launcher?
Git
A program on your computer that records file changes and their history.
GitHub
A website that stores shared Git projects, called repositories, and their reviews.
GitHub CLI (gh)
CLI means command-line interface: a program you use by typing instructions in a terminal. The next section shows what a terminal is and how to open it.
Passport launcher
An extension, or add-on, for GitHub CLI that opens this guided course on your computer in your browser.

The required tools are Git and GitHub CLI (gh). Keep working installations. Other software is introduced later, only when one of your lessons needs it.

You may see soheylm-passport-sandbox in links. This is the GitHub group that hosts the course software during the 2026 semester. Continue with your personal GitHub account; do not request membership in that group. Exercise submissions are public and must contain only the requested fictional information.

Before step 1

What is a terminal, shell, and command?

Optional: application, file and installation vocabulary

An application, or app, is a program you open, such as a web browser or PowerShell. A browser is the app used to open websites, such as Firefox, Chrome, Edge, or Safari. A file stores one item; a folder groups files. To download is to copy something from a website to this computer. To install is to add an application so this computer can run it.

A command is a line of text that tells a computer to do one task. You paste commands into a terminal, the text application used for commands. A shell is the part inside that application that reads the command. This guide uses PowerShell on Windows, zsh on macOS, and Bash on Linux. Open PowerShell or Terminal as shown here; that application starts its configured shell. Follow the shell named in the OS section. You do not need to find or install a separate Bash or zsh application.

Windows, macOS, and Linux are operating systems: the basic software that runs your computer. Choose the section matching the computer in front of you. Local means on that computer;remote means on another computer reached through a network.

Prompt
The text and blinking cursor shown when the shell is ready, such as PS C:\Users\Ada>, %, or $.
Command
The instruction you paste after the prompt. Press Enter once to run it.
Output
The text printed by the command. Wait for the prompt to return before running the next command.
Path
The address of a file or folder, such as C:\Users\Ada or /home/ada.
PS C:\Users\Ada> git --version
git version 2.51.0
PS C:\Users\Ada> 
Prompt already shown by the shellCommand the part you pasteOutput the result you read
Choose the computer in front of you

The page will show only the instructions for that operating system. You can change this choice later.

Windows

Open PowerShell

Press the Windows key, type PowerShell, and open the result named PowerShell. Use the window that appears. Windows Terminal is also suitable when its tab says PowerShell. Do not use Command Prompt, Git Bash, or WSL for a block labelled PowerShell. A ready prompt normally begins with PS.

Run one command

  1. Use the Copy button beside the blue command.
  2. Click once after the terminal prompt and paste.
  3. Press Enter once.
  4. Wait for the output to stop and the prompt to return.
  5. Compare the output with the stated expected result.

30-second practice

Run a harmless first command

This command only prints the words terminal-ready. It does not install, delete, or configure anything.

In the PowerShell window you just opened:

Write-Output "terminal-ready"

Expected: the next line is terminal-ready, followed by the prompt again. Once you see it, use the same window for step 1.

Step 1

Check Git and GitHub CLI

Use the terminal you opened above. Run each check separately:

Git
git --version
Expected: a line such as git version 2.51.0.
GitHub CLI
gh --version
Expected: a line beginning with gh version.

If a command is missing, select your operating system and follow its installation instructions. Then close the terminal, reopen it, and repeat both checks.

Windows 10 or 11 / PowerShell

winget is Windows' built-in package installer. Use it to install Git, then GitHub CLI. Run one command at a time and accept only the named Git or GitHub package.

winget install --id Git.Git -e --source winget
winget install --id GitHub.cli -e --source winget

Expected: both commands report a successful installation. Close the PowerShell window, open a new one, and repeat the two checks above.

Git installer when winget is unavailableGitHub CLI installer when winget is unavailable
Installation blocked?

Write down the exact error without including a password, token, private path, or personal information. Do not change PowerShell policy, antivirus settings, SSH files, or system permissions.

Open troubleshooting

Step 2

Sign in and launch

Run these commands in order. Continue only after you see the expected result.

Your GitHub username and exercise submissions will be public. Never submit passwords, tokens, private keys, ETH usernames, email addresses, student numbers, private paths, logs, screenshots, or research data.

  1. 01

    Check or sign in to GitHub

    Your computer / PowerShell. If you have no account, first create one free personal GitHub account; use an email you will keep, and add your ETH email later for Education. Run the status command first. If it already names the intended account, skip the login command. Otherwise run the login command, finish the browser approval, then repeat the status command.

    gh auth status --active --hostname github.com
    gh auth login --hostname github.com --web --git-protocol https
    gh auth status --active --hostname github.com

    Expected: gh auth status says you are logged in and prints the GitHub username you intend to use.

    If this step fails

    If no account is logged in, repeat the login command and finish the browser sign-in. If the intended account is already stored but inactive, run gh auth switch --hostname github.com --user YOUR-GITHUB-USERNAME, replace the placeholder, and repeat the status check. Do not log out or continue under someone else's account.

  2. 02

    Install the Passport launcher

    Your computer / PowerShell. This installs the tested release v0.12.1. This command is required for the first installation. Later compatible updates appear as an Update and reopen button in your local Passport.

    gh extension install soheylm-passport-sandbox/gh-passport --force --pin v0.12.1

    Expected: GitHub CLI confirms that the extension was installed or upgraded. Updates are never installed silently.

    If this step fails

    If the error names an older copy of this extension, run gh extension remove soheylm-passport-sandbox/gh-passport once, then repeat this step. For any other error, use troubleshooting.

  3. 03

    Start your Passport

    Your computer / PowerShell. Choose your operating system and the work you expect to do in the browser.

    gh passport start

    Expected: your browser opens an address beginning with http://127.0.0.1:. This address means the page is served only from your own computer. Keep the terminal open because the launcher in that terminal is running the page.

    If this step fails

    Run gh passport doctor and follow the recovery shown for the failed check. If the error remains, use troubleshooting. Keep the Passport folder.

FIRST SESSION

Complete the setup in your browser

Confirm the public-record notice, select your responsibilities, and open your first lesson. Keep the terminal running while the local page is open.

RETURN LATER

Resume from any folder

Open PowerShell or Terminal and run:

gh passport open

The launcher finds the managed Passport folder and opens the page where you stopped. Do not reinstall or clone again.

ASSESSMENT

Submitted exercises are checked automatically

Your supervisor registers your GitHub username. If a submitted lesson has no result after 30 minutes, open one help request without including private information.

Optional preview

Review the available lessons

The preview shows the lessons selected for each type of work. It does not save progress.

Open lesson preview