AI Workflow Course Setup: Terminal, Git, and Practice Lab

Table of Contents
Return to the Practical AI Workflow Course
Set up one safe practice space before using an agent. Lessons 1 and 2 work in a browser without this lab. Return here before lesson 3 if you want the full course. Hands-on coding lessons use Git, Python 3.10 or later, and one coding agent. The study route replaces unavailable agent actions with labeled manual work.
Learning outcome: you will run the starter lab, save a local baseline, and explain how to reset a disposable copy.
Key Takeaways
- Browser route: complete chat, planning, source-checking, and review exercises in ChatGPT or Claude.
- Local route: use a terminal and the supplied Python lab for coding exercises.
- Reset route: extract a new lab copy whenever an exercise goes wrong.
- Safety rule: keep private files, customer records, and credentials outside the lab.
Choose Your Route
| Route | What you need | What you practice |
|---|---|---|
| Browser introduction | Current browser and a ChatGPT or Claude account | Lessons 1 and 2, plus the chat task packet in lesson 1 |
| Local hands-on | Git, Python 3.10 or later, terminal, one coding agent | Files, diffs, tests, agent edits |
| Study course | Browser, local Python 3.10 or later and Git | Full lab checks, with unavailable agent and MCP steps marked not run |
Products set their own plans and limits. Check ChatGPT Projects and Claude Projects before relying on a feature. The study route does not prove hands-on skill with an unavailable coding agent. Record the distinction in your completion notes.
Use one default path: ChatGPT in a browser for chat exercises, then one available coding agent with the local lab. Claude is an equivalent chat path. Codex CLI, Claude Code CLI, and OpenCode remain choices for the coding stage. You do not need accounts with every vendor.
Record a five-part preflight before opening a coding agent. This separates a local lab check from an account or hosted-workspace claim.
| Check | Record |
|---|---|
| Workspace | Exact extracted lab folder the agent will read |
| Execution | Local computer or selected remote workspace |
| Provider | Account or model provider used for this task |
| Permissions | File writes and shell commands allowed or subject to approval |
| Baseline | Observed count and two passing tests before edits |
Keep the practice root narrow. A hosted workspace needs its own copy of the synthetic lab. A local run does not prove the remote copy or account has the same files and permissions.
Learn the Local Terms
| Term | Plain meaning |
|---|---|
| Terminal | An app where you type commands |
| Shell | Software interpreting those commands |
| CLI | A command line interface to a program |
| Working directory | The folder a command uses by default |
| Repository | A project tracked by Git |
| Commit | A saved Git snapshot |
| Branch | A named line of Git changes |
| Diff | A display of lines added or removed |
| Test | A repeatable check of expected behavior |
| Exit code | A number reporting command success or failure |
You do not need GitHub for the starter lab. Git works on your computer. GitHub is a separate hosting service. A local commit records a snapshot without sending your files anywhere.
Prepare the Lab
Download the
course starter lab
and extract it into a new folder you control. Open a terminal in the folder. On macOS or Linux, use Terminal and cd to enter the extracted directory. On Windows, use PowerShell or Windows Terminal and cd to enter the folder. The Python command on Windows is often py -3 instead of python3.
Install
Python 3.10 or later
and
Git
if needed. Check the installed tools before running the lab. The first two commands print version numbers. cd changes the working directory. ls lists files. Replace the example folder path with your extracted folder’s actual path.
python3 --version
git --version
cd /path/to/effective-ai-course-lab
ls
On Windows PowerShell, use py -3 --version, git --version, cd C:\path\to\effective-ai-course-lab, and Get-ChildItem. The listed files should include task_report.py, tasks.json, tests, and docs. If a version command fails, finish the installation before continuing.
pwd
python3 task_report.py tasks.json
python3 -m unittest discover -s tests -v
On Windows PowerShell, replace pwd with Get-Location if you prefer, and replace python3 with py -3 when Python uses the launcher. Read the path from the first command. It should end in your extracted lab folder. Check the filenames too. A file saved as AGENTS.md.txt will not serve as AGENTS.md. In Windows Explorer, turn on file name extensions to inspect the full name.
Expected output: the report says Total tasks: 4. The test command names two tests and ends with OK. A shell returns exit code zero after success. A different count or a traceback means you should stop and inspect the folder and Python setup.
Read each command as parts. In python3 task_report.py tasks.json, python3 launches Python, task_report.py is the program, and tasks.json is an argument naming input data. The printed count is output, not another command. After a failed command, macOS and Linux show its status with echo $?. PowerShell exposes the last native program status through $LASTEXITCODE.
Plan about ten minutes for the first run once Python is installed: extract the lab, run the report, and match the count to the four entries in tasks.json. Open the JSON file in a text editor and count the entries yourself.
Practice Git Safely
Start Git only inside the extracted lab folder. The commands below make a local snapshot. The git status command shows whether files changed. The git diff command shows changed lines after you edit a tracked file.
git init
git add .
git commit -m "Baseline course lab"
git status --short
Expected status: no file names appear after the commit. If Git asks for a name and email, set a lab-only identity from inside this folder, then rerun the commit. Replace the example values with your own private values. Do not paste identity or credential output into a public chat.
git config --local user.name "Course Learner"
git config --local user.email "[email protected]"
git commit -m "Baseline course lab"
git status --short
A reset needs no Git command. Save notes outside the lab, delete the extracted practice copy, and extract the original ZIP again. Use this reset when a lesson’s edit leaves the program in an unknown state.
Protect Your Practice Space
Use synthetic examples. Do not upload private documents to a course project. Do not put API keys in prompts, source files, screenshots, or commits. A coding agent’s file and command access depends on its permissions and the folder you open. Inspect both before letting it run.
Check sharing before upload. Project files might be available to project members. Follow your organization’s policy for real work. The course uses fictional data so you need no special approval for the lab itself.
Practice and Check
Your artifact: record your chosen route, the five preflight fields, the report count, the test result, and the reset method. Use a fresh lab copy to confirm you know how to reset.
Expected reasoning: you know which folder commands affect, you distinguish local Git from hosting, and you have a way to recover before an agent edits files.
Check Your Understanding
Question: Does a browser-only introduction complete the local lab route? Answer: No. The complete route requires a local Python and Git baseline.
Question: What should you save before changing the disposable lab? Answer: The passing starter test result and a clean reset point.
Troubleshooting
- Python command missing: install Python 3 from its official distributor, then reopen the terminal.
- File not found: check the working directory and list the extracted folder’s files.
- Tests do not run: use the exact command from the lab README in the extracted folder.
- Git commit asks for identity: configure Git locally and keep the chosen values out of course notes.
Next Steps
Continue with the Reliable AI Workflow . The first exercise uses the same synthetic workshop before any tool receives real files.
Course navigation: Course outline .



