Extra prerequisites
Do this after Exercise 0 · Prerequisites, at home, before the workshop.
Goal: install Docling, download its models and bring in the material for the mod lessons, so everything is ready on the day.
Plan for about 30 minutes and about 1.5 GB of downloads.
Pick one of the two routes. Both start with the repo you created from the template in Exercise 0, and both end with the same check.
| Route | What it is | Recommended? |
|---|---|---|
| Local, without a container | VS Code on your own computer, with the repo cloned | Yes: faster, and nothing to lose if a codespace stops |
| Codespaces | The codespace from Exercise 0, as the base workshop does | Works too |
Copilot plan and model
Section titled “Copilot plan and model”The workshop needs the same Copilot plans as the base workshop: Student, Pro, Pro+, Business or Enterprise. Copilot Free is not supported. If you are a student, apply for the GitHub Student Developer Pack, which includes Copilot Student. Verification can take a few days, so do it as soon as possible.
Route A: local, without a container
Section titled “Route A: local, without a container”Every command runs in a terminal: Windows Terminal (PowerShell) on Windows or Terminal on macOS. After installing each tool, open a new terminal so that its PATH is up to date.
1. VS Code
Section titled “1. VS Code”Install or update VS Code to version 1.112 or later. Check it in Help > About (on macOS, Code > About Visual Studio Code). Copilot Chat is built in: open the Chat view from the Copilot icon in the title bar and sign in with your GitHub account.
2. Git and Node.js
Section titled “2. Git and Node.js”Tailspin Toys needs Node.js 22.13 or later, because it uses the node:sqlite module.
-
Check what you have:
Terminal window git --versionnode --version -
If
gitis missing, install it from git-scm.com. On macOS you can also runxcode-select --install. -
If
nodeis missing or older than 22.13, download the LTS version from the Node.js download page and run the installer with the default options. On Windows, keep Add to PATH checked. -
Open a new terminal and run
node --versionagain.
3. GitHub CLI (gh)
Section titled “3. GitHub CLI (gh)”Matt Pocock’s workflow uses gh to read and label the issues of your repo.
-
Install it:
Terminal window # Windowswinget install --id GitHub.cliTerminal window # macOSbrew install ghIf you don’t use
wingetor Homebrew, download the installer from cli.github.com. -
Open a new terminal and sign in. Accept the defaults (GitHub.com, HTTPS, authenticate Git with your GitHub credentials and log in with a web browser):
Terminal window gh auth login
4. Clone your repo
Section titled “4. Clone your repo”Clone the repo you created in Exercise 0 into a short path and open it in VS Code. Replace YOUR_USER/YOUR_REPO with the repository path you noted down in Exercise 0:
mkdir C:\dev -Forcecd C:\devgh repo clone YOUR_USER/YOUR_REPOcd YOUR_REPOcode .# macOSmkdir -p ~/dev && cd ~/devgh repo clone YOUR_USER/YOUR_REPOcd YOUR_REPOcode .When VS Code asks whether you trust the authors of the folder, answer Yes, I trust the authors. In Restricted Mode the MCP servers of .vscode/mcp.json don’t start.
5. App dependencies and the Playwright browser
Section titled “5. App dependencies and the Playwright browser”Open the integrated terminal of VS Code (Terminal > New Terminal) and run:
npm installnpx playwright install chromiumThe second command downloads the Chromium (~300 MB) that Copilot uses in Exercise 3 · Playwright MCP.
You can check that the app works with npm run dev: it shows the Tailspin Toys catalog at http://localhost:4321. Stop it with Ctrl+C.
6. Run setup
Section titled “6. Run setup”Go on to Set up the mod.
Route B: Codespaces
Section titled “Route B: Codespaces”- Do Exercise 0 as it is: your codespace already has Node, git and
gh. - Open the terminal of your codespace (Terminal > New Terminal) and go on to Set up the mod.
Set up the mod
Section titled “Set up the mod”The mod has a small command-line tool that does everything in one go. From the root of your repo, in the VS Code terminal, run:
npx -y github:emepetres/copilot-devdays-workshop#mod-v1 setupIt works the same in PowerShell, bash and zsh. setup:
- Copies the material of every mod lesson (skills, documents, diagrams…) to its place in your repo. Leave it uncommitted: each lesson tells you when to commit it. It never overwrites a file you already have.
- Installs
uvwith its official installer, if you don’t have it.uvinstalls Python tools; you don’t need Python. - Installs Docling MCP
3.3.0, the exact version of the workshop. On Linux and Codespaces it installs the CPU build of PyTorch, to avoid ~2.8 GB of GPU libraries. - Runs a warm-up conversion: it starts
docling-mcp-serverwith the same configuration Copilot will use, converts a two-page PDF and checks that OCR reads a control word on its scanned page. This downloads Docling’s models.
| Step | Download | Approximate time |
|---|---|---|
uv | ~20 MB | seconds |
| Docling MCP (Python, PyTorch for CPU and dependencies) | ~300 MB (~1 GB installed) | 1–5 min |
| Docling models, during the warm-up | ~510 MB | 1–10 min |
The warm-up shows no progress while it downloads: let it finish. When it is done you will see:
Docling warm-up✔ docling-mcp-server started (1 s)⏳ Converting warmup.pdf. The first time it downloads ~510 MB of models and can take several minutes...✔ PDF converted (74 s)✔ OCR of the scanned page: "Giralda" found
✅ Setup finished. Restart VS Code (close every window) so it picks up the new PATH,then run check from its terminal.Restart VS Code, closing every window, so that it finds docling-mcp-server on its PATH. In Codespaces, reload the window instead: open the Command Palette (Ctrl+Shift+P) and run Developer: Reload Window.
Enable agent plugins
Section titled “Enable agent plugins”Matt Pocock’s workflow installs Matt Pocock’s skills as an agent plugin, which needs a setting:
- Open the settings with Ctrl+, (on macOS, Cmd+,).
- Search for
chat.plugins.enabledand check the box.
Final check
Section titled “Final check”Open a new terminal in VS Code, at the root of your repo, and run:
npx -y github:emepetres/copilot-devdays-workshop#mod-v1 checkYou are ready when every line is green:
✅ Node 22.20.0✅ uv 0.9.24✅ docling-mcp 3.3.0✅ Docling models✅ Lesson material
docling-mcp-server: C:\Users\you\.local\bin\docling-mcp-server.exe
All set for the workshop.Each ❌ says what to run to fix it. Keep the docling-mcp-server path at hand: if VS Code can’t find the server in the Docling lesson, you will use that path. If something goes wrong on the day, check is the first thing we will ask you to run.
If something fails
-
uvis installed but the terminal can’t find it, or the warm-up saysdocling-mcp-server is not installed: close every terminal (also the one in VS Code), open a new one and runsetupagain. It doesn’t repeat what is already done. -
The download stops halfway: run the warm-up again. The models already downloaded are not downloaded again:
Terminal window npx -y github:emepetres/copilot-devdays-workshop#mod-v1 warmup -
WinError 206,FileNotFoundErroror very long paths on Windows: see Long paths on Windows. -
OCR doesn’t find the control word: copy the error and the log lines the command prints, and open an issue in the workshop repo.
-
Mac with an Intel processor: PyTorch no longer publishes builds for Intel Macs, so Docling may not install. If that happens, tell us at the workshop: you will do the Docling lesson in pairs with someone who has it working.
-
npx github:doesn’t work at all: you can still copy the material withnpx -y degit@3.10.1 --force emepetres/copilot-devdays-workshop/mod/lessons/<lesson>#mod-v1 .for each lesson (pocock,images,docling,extra), and install Docling by hand withuv tool install "docling-mcp[local]==3.3.0"(on Linux and Codespaces, add--torch-backend cpu).
Long paths on Windows
Section titled “Long paths on Windows”Windows limits paths to 260 characters by default, and some Python packages and Docling models have very deep paths. To avoid problems:
-
Clone the repo into a short path, such as
C:\dev\tailspin-toys, not into a deeply nested folder. -
Leave
uvand Hugging Face in their default folders: don’t changeUV_CACHE_DIR,HF_HOMEorHF_HUB_CACHE. -
If you still see
WinError 206orFileNotFoundErrorwith very long paths, enable long paths. Open PowerShell as administrator, run these two commands, restart your computer and runsetupagain:Terminal window New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Forcegit config --global core.longpaths true
Summary
Section titled “Summary”You are ready for the workshop. You have:
- the tools of your route: VS Code, Node.js, git and
gh, or your codespace; - the material of the mod lessons in your repo, uncommitted;
- Docling installed and its models downloaded;
- agent plugins enabled and the Auto model in mind;
checkall green.
On the day of the workshop you will start with Exercise 1 · Custom instructions.