One workspace. Every course.
Open the UIT Studio landing page ↗
UIT Studio is a local course workspace for:
- browsing course materials, announcements, assignments, grades, and calendar;
- starting Codex agent threads with course context;
- free to start: Codex CLI + ChatGPT Desktop, with ChatGPT sign-in.
Sign in with UIT SSO or a legacy Moodle account. Both installation methods launch the same local web Studio with uit-studio; run uit-studio stop to shut it down.
Agent mode requires the Codex CLI:
npm install -g @openai/codex
codex --loginThe ChatGPT desktop app alone is not sufficient for agent mode.
macOS
npm install -g uit-studio
uit-studioOr install the Apple Silicon native web release:
curl -fsSL https://raw.githubusercontent.com/RyanNg1403/uit-cli/main/scripts/install.sh | sh -s -- --studioLinux
npm install -g uit-studio
uit-studioOr install the Linux native web release:
curl -fsSL https://raw.githubusercontent.com/RyanNg1403/uit-cli/main/scripts/install.sh | sh -s -- --studioWindows
Install the native web release from PowerShell:
$installer = Join-Path $env:TEMP "uit-studio-install.ps1"
Invoke-WebRequest https://raw.githubusercontent.com/RyanNg1403/uit-cli/main/scripts/install.ps1 -OutFile $installer
powershell -ExecutionPolicy Bypass -File $installer -Studio
uit-studio
uit-studio --versionThe npm alternative requires Node.js 24.0+:
npm install -g uit-studio
uit-studio![]() |
![]() |
Your Moodle, at terminal speed.
The npm installation requires Node.js 24.0+. Native release packages include their own runtime.
macOS
npm install -g uit-cli
uit --versionOr install the signed-checksum standalone release:
curl -fsSL https://raw.githubusercontent.com/RyanNg1403/uit-cli/main/scripts/install.sh | shLinux
npm install -g uit-cli
uit --versionOr use the standalone release:
curl -fsSL https://raw.githubusercontent.com/RyanNg1403/uit-cli/main/scripts/install.sh | shSign in with UIT SSO:
uit loginUse uit login --legacy for the legacy Moodle portal. An SSO session from UIT Studio is shared with the CLI.
Contributions are welcome! Please check out our Contributing Guidelines for details on our workflow, git conventions, and setup:
- Git Workflow: Always branch from the latest
mainand consolidate intorelease/<version>branches. - Branch Naming: Branches must use
feat/**,fix/**,chore/**,proj/**, orrelease/**. - Commit Conventions: Commit messages must use a supported prefix (
feat:,fix:,chore:, orproj:), enforced via local hooks and CI; the prefix does not need to match the branch name. - Issue & PR Templates: Please follow our Pull Request Template and Issue Template.
MIT



