@prana-w/btw
v1.2.2
Published
btw_cli (btw: by-the-W) is a simple and powerful Command Line Interface (CLI) designed to help you perform various useful tasks directly from your terminal.
Maintainers
Readme
btw_cli
btw_cli (btw: by-the-W) is a simple and powerful Command Line Interface (CLI) designed to help students of National Institute of Technology, Jamshedpur perform various useful tasks directly from your terminal like checking result, attendance, GitHub stats, adding events to Google Calendar, and managing work sessions.
It streamlines productivity with quick commands for time tracking, task scheduling, and result viewing — all accessible without leaving your terminal.
⚙️ Installation
🚀 Quick Global Install (Recommended for Users)
To install btw_cli globally and use it from anywhere in your terminal:
npm i -g @prana-w/btwThat’s it. You’re ready to go!
Run commands like
btw result <roll>orbtw add-eventright from your terminal.
🔍 See Available Commands for the full list.
🧪 Local Setup for Testing/Contributing (For Developers Only)
If you want to experiment locally, test features, or contribute to development — follow the detailed setup instructions below for Windows or Linux systems.
🔧 Installation and Setup Guide
Step 1: Download or Clone the Project
Choose one of the following:
🔹 Option 1: Download Zip
- Download the ZIP file
- Extract it to a location of your choice
- Open the extracted folder
🔹 Option 2: Clone via Git
git clone https://github.com/prana-W/btw_cli.gitStep 2: Platform-Specific Setup
🪟 For Windows
- Go to the extracted/cloned
btw_clifolder - Simply double-click the file:
setup_windows.bat
⚠️ In case of a warning saying “Windows protected your PC”, click More info, swipe left, then Run Anyway
⏳ Setup might take several minutes — be patient!
🐧 For Linux
- Open the extracted/cloned
btw_clifolder in your terminal - Run the following command:
npm run setup⚠️ Tested only on Ubuntu
⏳ Setup might take several minutes — be patient!
💡 Make sure you have Node.js (v20 or later) installed before running the setup
🧰 How to Use
Once installed, you can run commands like:
btw <command>🗂️ Available Commands
| Command | Alias(es) | Description |
| --------------------- | ----------------- | ------------------------------------------------------- |
| time | now, t | Displays the current time |
| start-session | start, ss | Starts and tracks a focused work session |
| end-session | end, es | Ends the current session and shows the total duration |
| session-history | session-h, sh | Shows the history of your last 5 work sessions |
| result <roll> | – | Displays your academic result based on your roll number |
| add-event | calender, cal | Adds an event to your Google Calendar |
| gh-stats <username> | github, gh | Displays your GitHub Statistics |
| set-sap | sap | Set SAP credentials for checking attendance |
| attendance | att, a | Displays attendance in a tabular format |
🛠️ Technology Used
Commander: For building the CLI interfaceEnquirer: For interactive promptsChalk: For styling the terminal outputOra: For showing loading spinnersPuppeteer: For web scraping (e.g., GitHub stats, attendance)Conf: For storing various data like session historyDayJS: For date and time handlingOpen: For opening URLs in the default browserFiglet: For adding ASCII art to terminal outputGradient String: For gradient-colored terminal outputCli Table3: For tabular display in terminal
📦 Contributing
We welcome contributions to this CLI tool! Follow the steps below to get started:
🛠️ Setup Instructions
- Fork and Clone this repository:
git clone https://github.com/prana-W/btw_cli.git
cd btw_cli- Create a new branch:
git checkout -b your-feature-branch- Install dependencies:
npm install- Run setup script:
- On Windows:
./setup_windows.bat- On Linux/macOS:
npm run setup✨ What You Can Contribute
- New features
- Bug fixes
- Code cleanup
- Documentation improvements
Before starting major changes, it is recommended to open an issue and discuss your ideas first.
✅ Submitting a Pull Request
- Commit your changes:
git add .
git commit -m "Add: your feature/fix description"- Push your branch:
git push origin your-feature-branch- Open a Pull Request from your fork to the
mainbranch of this repository.
🚧 Coming Up
- Check class skip limit and classes required (like Attendance Seeker)
- Save credentials like WiFi/email passwords securely via terminal with a master key
- Display upcoming NIT Jamshedpur events like exams, fests, etc., in calendar
📄 License
This project is licensed under the MIT License.
© 2025 Pranaw Kumar
