My working repo for JavaScript Advanced on shipthatcode.com — built lesson by lesson in my own editor.
- git and a terminal (macOS/Linux: the built-in one; Windows: see below)
- Node.js 18+ (
node --versionshould work) - any editor you like — VS Code, Vim, JetBrains, anything
Use WSL if you can: run wsl --install in an admin PowerShell once, then do everything (git, editing, ./run_tests.sh) inside the Ubuntu terminal — it behaves exactly like the grader.
Git Bash (installs with git) also runs ./run_tests.sh. One caveat: native Windows compilers and runtimes write Windows line endings (\r\n), so on byte-exact tests you can see local FAILs where the diff looks identical — your logic is fine, the invisible line endings differ. If that happens, trust Check my solution on the lesson page (graded on Linux), or switch to WSL.
-
Unzip this download and open the folder in your editor.
-
Create a new empty, public repo at github.com/new — leave "Add a README" and ".gitignore" unchecked (this folder already has both).
-
In your terminal, inside the unzipped folder, push it to GitHub:
git init git add . git commit -m "start JavaScript Advanced" git branch -M main git remote add origin https://github.com/YOUR-USERNAME/YOUR-REPO.git git push -u origin main
-
Paste your repo link on the course page ("Work in your own editor" → Link repo). Done — you never do this again.
- Read the lesson on shipthatcode, write your code in
main.jshere. - Test locally:
./run_tests.sh 01(lesson 01's tests) or./run_tests.sh(everything). On Windows, run this inside Git Bash. - When it passes:
git add -A && git commit -m "lesson 01" && git push - Hit Check my solution on the lesson page — shipthatcode pulls this repo and grades it against the full suite, including hidden tests.
main.js— the program. It grows as the course progresses; each lesson adds to it.tests/— the public test cases per lesson (tests/01-…/1.in→ expected1.out).run_tests.sh— the local runner..shipthatcode.jsontells the grader what this repo is; don't delete either.
Repo topic suggestion: shipthatcode · Starter generated by shipthatcode.com