A Command Line Interface (CLI) tool for seamless interaction with the student portal, VTOP.
cli-top gives VIT students quick terminal access to VTOP records, schedules, course resources, and campus services.
- Academic records: attendance, marks, grades, CGPA, exam schedules, and profile details
- Planning: timetable, academic calendar, holidays, and attendance-aware plans for today, tomorrow, and the day after
- Course tools: course allocation, current and archived course materials, syllabi, and digital-assignment status and question papers
- Campus services: events, facilities, hostel details, leave, nightslips, library dues, and receipts
- Communication: class messages and announcements
- Local account management: encrypted credential storage and logout
See the command reference for every command, alias, and flag.
- GoLang : Core programming language
- Cobra : Go library for creating the terminal CLI
To install cli-top, you can download the binary directly from cli-top.acmvit.in.
-
Download the Binary:
Visit cli-top.acmvit.in to download and configure the appropriate binary for your operating system.
-
Run the Binary:
After downloading, navigate to the folder where the binary is saved and run it from your terminal:
./cli-topTo compile cli-top yourself:
CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -o cli-top .Using -trimpath removes local file paths from the executable and, together with -ldflags "-s -w", helps reduce binary size.
Store your VTOP credentials locally. Missing values are prompted for interactively:
cli-top login [--username USERNAME] [--password PASSWORD]login encrypts and stores the password; the first portal-backed command performs the VTOP authentication.
Run a feature command:
cli-top marks
cli-top attendance --semester 1
cli-top exams --semester 1
cli-top today
cli-top msg # alias: class-messagesList all public commands or inspect one command's flags:
cli-top --help
cli-top attendance --helpgo test ./...
go test -race ./...Cross-package workflow and executable tests live in tests/. Package-local _test.go files are reserved for white-box unit tests that exercise unexported implementation details.
- Use Git for version control and code management
- Take up issues and request assignment before starting work
- Push to the "dev" branch for testing and compatibility checks
- Main and dev branch pushes require approval from designated maintainers
- Prateek Srivastava
- Kaustav Patro
- Amritsai
- Pritam Satpathy
- Kaustubh Kanodia
- Rohit Sakamuri
- Mahendra Choudhary
- Drashti Shukla
- Shreyas Mishra
- Aditya Naik
- Yash Sinha
- Aditya Singh
- Vansh Bhatiya
- Yashika Panda
- Shruthilaya K
- Srijan Srivastava
Copyright (C) 2023-2026 ACM-VIT and cli-top contributors.
This project is licensed under the GNU General Public License version 3 only
(GPL-3.0-only). See LICENSE for the full license text.
