Skip to content

scele-cli

A command-line client for SCELE, the Moodle of Fakultas Ilmu Komputer, Universitas Indonesia. Authenticate once, then drive your courses, forums, and assignments straight from the terminal.

Detecting your platform…
curl -fsSL https://raw.githubusercontent.com/Andrew4Coding/scele-cli/main/install-bin.sh | sh

Features

$ scele login

Login

Exchange your username and password for a Moodle web-service token. Only the token is stored, never the password. No browser, no CAPTCHA.

$ scele courses

Courses & grades

List the courses you are enrolled in, read a section-by-section outline, see enrolled people, and pull your grade items for any course.

$ scele deadlines

Deadlines & calendar

Upcoming deadlines across every course, calendar events, and your SCELE notifications, each rendered in YYYY-MM-DD HH:MM WIB.

$ scele forum

Forums

Browse forums in a course, list discussions, and read whole threads with nesting (parent + depth). Post a new topic or reply to an exact post.

$ scele assignments

Assignments

Check submission status and due dates, read the instructions and attachments, and submit text or a file with an explicit confirmation step.

$ scele download

Resources

List every downloadable file in a course with its fileurl, then download by pluginfile URL or by resource cmid.

$ scele watch

Watch

Re-run any scele-cli subcommand on an interval, diff its JSON output, log events, and POST changes to a webhook: foreground stream or background daemon.

Install

Prebuilt binary (no Python required):

curl -fsSL https://raw.githubusercontent.com/Andrew4Coding/scele-cli/main/install-bin.sh | sh

Then open a new terminal:

scele login
scele courses

Prebuilt binary (no Python required):

irm https://raw.githubusercontent.com/Andrew4Coding/scele-cli/main/install-bin.ps1 | iex

Then open a new terminal:

scele login
scele courses
pipx install git+https://github.com/Andrew4Coding/scele-cli.git
npx skills add Andrew4Coding/scele-cli

The binary installer fetches the latest release bundle for your OS/arch, verifies its SHA-256, unpacks it to ~/.local/lib/scele-app, and links scele onto your PATH. Pin a version with SCELE_VERSION=v0.2.0.