Student zone · Before class

Twenty minutes before class saves forty in it.

What stalls the first lesson is never the AI; it is installers. Do these at home and class starts with building.

  • One command installs six programs
  • Three-minute self-check
  • Stuck? Check the Q&A
Vibe Coding workshop: a personal site and a tailored résumé from zero (week 2 of 2)Hsing Wu University · 2026/10

What to install

Seven to install, all free except Claude Code

Install at home and only verify in class; the classroom network crawls when everyone downloads at once. One command installs the six programs; GitHub is an account you sign up for separately.

The lazy way

One command installs all six programs

Press Start, type PowerShell and open it. Not Command Prompt (cmd); it cannot run this. A normal window is fine; when Git and Node.js install, Windows asks to allow changes: click Yes. If a lab computer wants an administrator password, ask the TA.

Paste this into PowerShell

"SST.OpenCodeDesktop","SST.opencode","Anthropic.ClaudeCode","StablyAI.Orca","Obsidian.Obsidian","Git.Git","GitHub.cli","OpenJS.NodeJS.LTS" | ForEach-Object { winget install --id $_ -e --accept-source-agreements --accept-package-agreements }
Want guidance and an automatic version check? Paste this instead

This runs our setup script: the same installs, with step-by-step guidance and a list of anything that failed. Read the script

Paste into PowerShell

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor 3072; irm https://wport.me/learn/setup-win.ps1 | iex

This line installs

  • OpenCode (AI agent)
  • Claude Code (paid account)
  • Orca
  • Obsidian
  • Git and GitHub CLI (gh)
  • Node.js (LTS)
  1. An AI agent that acts: it opens, edits and runs things for you. The desktop app puts files, chat and terminal in one window. The free models are enough for the whole course.

    How
    Install both the desktop app and the terminal version: Orca launches it through the opencode command. The one-line setup installs both; installing by hand, run both lines below. On first launch pick a free model.
    Check
    It opens and replies when you type 'hi'.
    Just this one: one command

    Windows (PowerShell)

    winget install --id SST.OpenCodeDesktop -e; winget install --id SST.opencode -e

    Mac (Terminal, needs Homebrew)

    brew install --cask opencode-desktop; brew install opencode
    Download OpenCode
  2. Anthropic's AI agent. It does the same job as OpenCode, much faster: in our test the same task took Claude Code 15 seconds and OpenCode on a free model 3 minutes. It needs a paid Claude plan (Pro or above); without one, OpenCode is enough for the course.

    How
    One command installs it (already in the one-line setup below). Then type claude in a terminal and sign in to your Claude account.
    Check
    claude --version prints a version number.
    Just this one: one command

    Windows (PowerShell)

    winget install --id Anthropic.ClaudeCode -e

    Mac (Terminal, needs Homebrew)

    brew install --cask claude-code
    Claude Code website
  3. A cockpit for your AI agents: OpenCode, terminal, browser and GitHub in one window, one tab per task, several agents side by side if you like. Free and open source.

    How
    Download the Windows or Mac installer and click through. On first launch choose OpenCode as the agent; add the folder in class.
    Check
    It opens and you can see the Add Repo button in the left sidebar.
    Just this one: one command

    Windows (PowerShell)

    winget install --id StablyAI.Orca -e

    Mac (Terminal, needs Homebrew)

    brew install --cask stablyai/orca/orca
    Download Orca
  4. Your database. Your profile notes live here and the AI works from them instead of inventing.

    How
    Install, then create a new vault named my-portfolio inside Documents. No spaces or non-ASCII characters in the path.
    Check
    You can see my-portfolio on the left and create a note.
    Just this one: one command

    Windows (PowerShell)

    winget install --id Obsidian.Obsidian -e

    Mac (Terminal, needs Homebrew)

    brew install --cask obsidian
    Download Obsidian
  5. Save points. Every version is a checkpoint you can roll back to, and it is how work reaches GitHub. gh is GitHub's command-line tool; in class you sign in with gh auth login.

    How
    Click through both installers with the defaults; the one-line setup installs both. Macs usually ship git, but gh still needs installing.
    Check
    git --version and gh --version both print a version number.
    Just this one: one command

    Windows (PowerShell)

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

    Mac (Terminal, needs Homebrew)

    brew install git gh
    Download Git
  6. The engine behind the WPORT CLI and the Google CLI you will use in week two.

    How
    Download the LTS build and click through; the one-line setup also installs LTS on both Windows and Mac. Restart any open terminal or OpenCode afterwards so they pick it up.
    Check
    node --version prints v22 or newer.
    Just this one: one command

    Windows (PowerShell)

    winget install --id OpenJS.NodeJS.LTS -e

    Mac (Terminal, needs Homebrew)

    brew install node@26; brew link --force --overwrite node@26
    Download Node.js
  7. Cloud storage for your work. Lab machines reset; GitHub does not. The student Copilot plan is applied for here too.

    How
    Sign up with a personal email (school addresses expire after graduation, and you will show this account to interviewers), then verify it. For the student plan, add your school address under Settings → Emails. Pick an English username you would be happy to show an interviewer; it ends up in your URLs.
    Check
    You are signed in and your email no longer says 'unverified'.
    Sign up for GitHub

All set?

A three-minute self-check

Open OpenCode on the my-portfolio folder and paste this in. If it replies with versions for git, gh and node, you are ready.

Copy → paste into OpenCode → send

你好,請告訴我:
1. 你是哪一個模型?你現在看得到哪個資料夾?
2. 幫我檢查這台電腦有沒有 git、gh 和 node,各是什麼版本?沒有的話告訴我。

If it worked, the reply looks like this

我是 GPT-5 mini(免費模型)。

我看得到的資料夾:C:\Users\you\Documents\my-portfolio

git version 2.47.0

gh version 2.80.0

node v26.13.0

三個都裝好了,可以開始上課。

A different model name is fine; a folder path plus versions for git, gh and node means you are ready. Missing one? Check the Q&A below.

Q&A

Frequently asked questions

Things that really happened in earlier classes. Open one for the why and the fix.

While installing

A

Windows blocks unsigned or rarely-seen installers by default; it is not a virus warning.

  1. 1First make sure the file came from an official link on the tool cards above. Only those get through; delete anything else.
  2. 2Click 'More info'.
  3. 3Then click 'Run anyway'.
A

Lab computers are locked down; student accounts cannot install software.

  1. 1Ask the TA. Do not guess passwords.
  2. 2Meanwhile pair up with the person next to you.
  3. 3Git and Node.js both have portable builds that need no admin rights; the TA can help.
A

Programs that were already open do not see newly installed tools until they restart.

  1. 1Quit and reopen OpenCode, then ask again.
  2. 2Still failing: run git --version in a terminal; reinstall if it errors.
  3. 3Then raise your hand.
A

macOS only trusts the App Store and signed apps by default.

  1. 1First make sure the app came from an official link on the tool cards above. Only those get through; bin anything else.
  2. 2System Settings → Privacy & Security, scroll down, click 'Open Anyway'.
  3. 3Or right-click the app and choose Open.
A

Forty people downloading at once saturates the classroom network.

  1. 1Install at home beforehand; in class only verify.
  2. 2On the day, tether to your phone for the download.
  3. 3While waiting, do step 1 (a one-page site in a chat AI); it needs nothing installed.
A

Some antivirus products are twitchy about command-line tools.

  1. 1Do not disable antivirus or change security settings.
  2. 2Ask the TA, or install on your own laptop in advance.
A

School mail servers often junk it, or it takes a few minutes.

  1. 1Check Junk and Other folders.
  2. 2GitHub Settings → Emails → Resend verification email.
  3. 3After five minutes, sign up with a personal email and add the school address later for the student plan.

During class

A

Usually no model selected, the free quota is exhausted, or the network dropped.

  1. 1Check a free model is selected; try another free one.
  2. 2Quit and reopen.
  3. 3The same prompt in ChatGPT or Gemini keeps you moving.
A

Free tiers cap usage per hour or per day.

  1. 1Switch to another free model.
  2. 2Apply for the Copilot student plan and connect it once approved.
  3. 3Describe the change fully in one go; fewer round trips, less quota.
A

Lab computers restore themselves and you may not get the same seat.

  1. 1Commit and push to GitHub before you leave.
  2. 2Next week git clone it back and open that folder in both Obsidian and OpenCode.
A

Non-ASCII characters or spaces in folder names trip up some tools.

  1. 1Name vaults and project folders in plain English without spaces: my-portfolio.
  2. 2Keep it under Documents rather than Desktop or Downloads.
A

This computer is not signed in to GitHub yet. Pushing needs proof that you own the repo; in class you sign in with gh auth login.

  1. 1Run gh auth login and choose GitHub.com, HTTPS, then Login with a web browser.
  2. 2Enter the 8-character code in the browser and click Authorize; once the terminal says Logged in, push again.
  3. 3On a shared computer, clear this login before you leave (see 'before you leave').
A

Private was not selected when creating the repo, so your personal notes are visible to everyone.

  1. 1Repo Settings → Danger Zone at the bottom → Change visibility → Private.
  2. 2When deploying, expose only the site folder (set Vercel's Root Directory to site).
A

You were at 85, aimed for 90 and landed on 75. That is what commits are for.

  1. 1Tell the AI: 'take me back to the previous commit'.
  2. 2Habit: commit every time you are happy with the result.
A

The browser is serving its cached copy.

  1. 1Hard refresh: Ctrl+F5 on Windows, Cmd+Shift+R on Mac.
  2. 2For a Vercel site: make sure you pushed, then check the latest deployment is green.
A

Most often the Root Directory was not set to site, so Vercel cannot find index.html.

  1. 1Project Settings → Root Directory → Edit → choose site → redeploy.
  2. 2Check the file is named index.html in lower case.
A

Git keeps every version; deleting the file does not remove it from history.

  1. 1Tell the TA or teacher right away.
  2. 2Revoke and reissue the key where it came from (Google Cloud, WPORT). That is the real fix.
  3. 3Have the AI remove it from git with git rm --cached, then add the filename to .gitignore. .gitignore alone does nothing for files already committed.

None of these? Paste this

Paste into ChatGPT or Gemini with a screenshot. It already asks for one step at a time and forbids disabling antivirus, so you will not be led somewhere unsafe.

Copy → paste into ChatGPT or Gemini → add a screenshot

我在學校電腦教室的 Windows 電腦上安裝軟體卡住了。
軟體:(OpenCode/Claude Code/Orca/Obsidian/Git/GitHub CLI/Node.js,填一個)
我做到哪一步:(例如:按兩下安裝檔之後)
畫面上的字:(照抄,或直接貼截圖)
這台電腦我可能沒有系統管理員權限。
請一次只給我一步,等我回報結果再給下一步。
不要叫我關防毒、改登錄檔或改系統安全設定;如果一定要管理員權限,直接跟我說,我去找助教。

Shared computers

Before you leave, clean up

The next person at that lab computer is not you. Leaving logins and keys behind lends your account to a stranger.

  1. 1Commit and push everything; refresh GitHub and see the files.
  2. 2Sign out of GitHub, Vercel, WPORT and Google in the browser.
  3. 3Have the AI clear the stored GitHub logins, both gh and Windows Credential Manager (copy the prompt below).
  4. 4If you did the Google part: delete client_secret.json, run gws auth logout, remove .config/gws.
  5. 5At home: Google Account → Security → Third-party connections, remove my-ai-helper.

Clear logins → copy → paste into OpenCode

這是公用電腦,幫我清掉我的登入資料:
1. 執行 gh auth logout,登出 GitHub CLI(gh 的登入是另外存的)。
2. 刪掉 Windows 認證管理員裡 GitHub 的登入:cmdkey /delete:git:https://github.com
3. 確認這個倉庫的 git config 沒有寫進 --global。
4. 告訴我還有哪些地方要我自己手動登出(瀏覽器的 GitHub、OpenCode、Claude Code 的帳號)。

Remove the programs too?

For a borrowed computer you are handing back, or to reinstall from scratch. It removes only the programs from this course; your my-portfolio folder and your work on GitHub stay. Lab computers usually reset themselves, so skip it there. Click Yes if Windows asks for permission; if it wants a password, ask the TA.

Windows: paste into PowerShell

"SST.OpenCodeDesktop","SST.opencode","Anthropic.ClaudeCode","StablyAI.Orca","Obsidian.Obsidian","Git.Git","GitHub.cli","OpenJS.NodeJS.LTS" | ForEach-Object { winget uninstall --id $_ -e }

Mac: paste into Terminal

for c in opencode-desktop claude-code stablyai/orca/orca obsidian; do brew uninstall --cask "$c"; done; for f in opencode git gh node@26; do brew uninstall "$f"; done

Computer ready? Warm up your head too

Class will throw a lot of new words at you. Skim the glossary first and spend your energy building.