@uoplan/cli
v0.1.2
Published
Command-line tool for University of Ottawa students to manage course enrollment directly from the terminal.
Downloads
402
Readme
@uoplan/cli
Command-line tool for University of Ottawa students to manage course enrollment directly from the terminal.
Usage
npx @uoplan/cli <command> [options]Or install globally:
npm install -g @uoplan/cli
uoplan <command> [options]Commands
login
Authenticate with your uOttawa Microsoft account via Chrome.
uoplan loginOpens a Chrome browser window and captures your session cookies for subsequent commands.
logout
Clear stored credentials.
uoplan logoutterm
Select or list available terms.
uoplan term # Select a term interactively
uoplan term ls # List available terms
uoplan term list # Same as abovesearch <course>
Search for a course and add it to your cart.
uoplan search CSI2101cart
Manage your course shopping cart.
uoplan cart add <classNumber> # Add a course by PeopleSoft class number (e.g. 1234)enrol
Interactively select and enrol in courses from your cart.
uoplan enrolrun <payload>
Execute a schedule payload generated by the uoplan web app. Paste the Base64url-encoded payload from the site to automatically enrol in the courses it describes.
uoplan run <base64url-payload>fetch <url>
Fetch a URL using your stored session cookies and print the response body. Useful for debugging.
uoplan fetch https://uozone2.uottawa.ca/...How it works
login launches Chrome via the remote debugging protocol, completes the Microsoft OAuth flow, and saves the resulting session cookies to your system keychain. All subsequent commands attach those cookies to requests against the uOttawa PeopleSoft API.
Publishing
pnpm --filter @uoplan/cli publish:npmBuilds the TypeScript source to dist/ and publishes the package to npm under the @uoplan org with public access.
