# Software and platforms

> What each platform is, who pays for what, and the course policies that come with working agentically on ANU infrastructure

Participating in this course means having some software installed on your
machine and accounts on a handful of ANU and third-party platforms. The
[onboarding page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/onboard/) provides the setup checklist, including
versions and the Windows/WSL note. This page explains each platform, who pays
for it, and the applicable course policies. Following the documented setup
should leave you with nothing to pay.

## Windows

Use [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) (recommended)
or Git Bash for course development. Use one consistently: tools installed in WSL
and Git Bash are separate.

## ANU platforms

- **[Canvas](https://canvas.anu.edu.au)** --- the official LMS. Your marks and
  lecture recordings are published here, and your Claude API key is issued here
  (assessment submissions go through GitHub, not Canvas)
- **[Ed Discussion](https://edstem.org)** --- the course's one communication
  channel: announcements, questions and help, and private messages to the
  teaching team. See the [communication page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/communication/) for what
  goes where

## Third-party platforms

- **[GitHub](https://github.com)** --- requires a free account. All code
  submissions go through GitHub repos in the course organisation: private while
  you build, public from your cutoff onwards (the
  [assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/) covers the flip). You may use a new,
  anonymous account if you do not want public coursework attached to your usual
  identity. The course records your handle for marking either way
- **[Fly.io](https://fly.io)** --- no account needed. The deployment target for
  the full-stack half of the course: every app runs in a course-managed
  organisation whose billing the course covers, and you get a token scoped to
  your own app when your first full-stack repo is created, so it can wait until
  the mid-semester break --- [your hosting access](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/hosting-access/) is
  the setup, and
  [onboarding step 7](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/onboard/#7-later-flyio-for-the-full-stack-half)
  the checklist entry. Don't sign up or add a payment method for the course

Anthropic is deliberately absent from this list: you don't need an Anthropic
account or subscription to participate. The course manages your Claude access
for you by issuing a course-specific API key.
[Your LLM access](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/llm-access/) covers setup, logging and the usage
allocation.

In both halves, your repo determines the live **URL of record** used for demos
and marking. The [assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/) specifies the rule.

For all third-party accounts, any paid use is covered by the course provided you
follow the documented setup. If something looks like it will cost you money,
stop and ask before paying.

## Going off piste

Almost everything on the [onboarding](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/onboard/) list has alternatives:
other coding agents, other browsers, other ways of managing runtimes --- even
other models entirely, whether from a different provider or running locally on
your own hardware. None of it is forbidden or discouraged: if you already have a
setup you know, use it.

The documented path, though, is the _supported_ one: lectures, demos and tutor
help assume it. The course installs its command-line tools with
[mise](https://mise.jdx.dev/), and every template uses it to provision the Node
and pnpm versions it was tested against. Using another runtime manager alone
does not put you off piste, provided the template's required versions and
commands work; it simply means we will first reproduce a problem with mise. Go
off piste when your deviation means the documented template path no longer
applies. You then take on the burden of making that setup work --- when
something breaks in a stack we don't run, our ability to help you debug it will
be limited --- and the same assessment requirements apply. You'll still submit
every crit and assignment prototype on time, conforming to the specs and marked
in the environment described on the [assessment](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/) page.

In the final project, choosing the stack is part of the brief: its starter
carries no app. The harness, the Fly deploy and the
[resource limits](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/hosting-access/#the-shape-your-app-keeps) are
supported; tutor help with the stack you choose is best-effort.

Off piste runs all the way to the conscientious objector position: you don't
have to use AI at all. Nothing in the specs requires a single line to be
agent-written, and the [ethics page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/ethics/) makes the convenor's case
for why that stance is a legitimate one to take in a course like this one. What
you can't opt out of is the assessment: the same specs, deadlines and rubric
apply, and the process criterion on the [assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/)
will still ask you to show how the work came together and why you chose to work
that way. The same workflow applies: keep the starter's files and directories,
including `CLAUDE.md`. Working without an agent doesn't remove the file; it just
means you're the only one reading it. Record there the constraints, standards
and feedback loops you actually worked against, and update it as you go;
`pnpm check:evidence` checks the same evidence for everyone.

## Permission modes and the YOLO policy

Running an agent with minimal supervision avoids repeated tool-use
confirmations. Claude Code's
[permission modes](https://code.claude.com/docs/en/permission-modes) control how
much the agent has to stop and ask. The course recommendation is
[**auto mode**](https://code.claude.com/docs/en/permission-modes#eliminate-prompts-with-auto-mode),
which gets you most of the flow benefits while keeping some safety checks in
place.

Full "yolo" mode (e.g. `claude --dangerously-skip-permissions`) removes that
last gate. You're not _forbidden_ from using it, but **the course takes no
responsibility for anything that happens when you do**. If your agent rewrites
your repo, deletes uncommitted work, force-pushes over the wrong branch, or
burns through your [usage allocation](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/llm-access/#usage-allocation) in
an infinite loop, that's on you. Commit early, work in a clean branch, and keep
an isolated environment for risky runs. Those precautions are your safety net.
"The agent deleted my files" is never an acceptable excuse for a missed
deadline.

Source: <https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/software-and-platforms/>\
Licence: [CC-BY-NC-SA-4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)\
Cite as: Swift, B. (2026). _COMP4020/COMP8020 Agentic Coding Studio_ [Course materials]. ANU School of Computing. https://doi.org/10.5281/zenodo.21395760
