diff --git a/.github/screenshot.webp b/.github/screenshot.webp new file mode 100644 index 0000000..2b99452 Binary files /dev/null and b/.github/screenshot.webp differ diff --git a/README.md b/README.md index da7f616..904d16c 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,55 @@ # NBTCA Prompt -Terminal client for NBTCA events, documentation, status and personal timetables. +Club events, the school calendar, your campus timetable, and the NBTCA knowledge +base in one terminal app. What you have loaded stays readable offline. [![npm version](https://img.shields.io/npm/v/@nbtca/prompt)](https://www.npmjs.com/package/@nbtca/prompt) [![License](https://img.shields.io/npm/l/@nbtca/prompt)](LICENSE) -## Requirements - -- Node.js 20.12 or newer +![The Events tab: the next event with a countdown, upcoming events, and browse options](.github/screenshot.webp) ## Install +Requires Node.js 20.12 or newer. + ```bash npm install --global @nbtca/prompt nbtca ``` -Run a command without installing: - -```bash -npx @nbtca/prompt --help -``` +Or try it without installing: `npx @nbtca/prompt`. ## Interactive mode -Run `nbtca` with no arguments to open the full-screen client. Press `1`–`5` or -`Tab` to switch tabs, and `?` to list every key. +`nbtca` opens a full-screen client. Press `1`–`5` or `Tab` to switch tabs, and +`?` to list every key. - **Home**: today's classes and the next club events. -- **Schedule**: the current term, week, and next break from the school - calendar. Log in to the campus system to see your timetable and export it as - an `.ics` file. -- **Events**: the next event with a countdown, plus week, month, search, +- **Schedule**: the current term, week, and next break. Log in to the campus + system to see your timetable and export it to any calendar app as `.ics`. +- **Events**: a countdown to the next event, plus week and month views, search, history, and a one-year activity heatmap. -- **Docs**: the NBTCA knowledge base, readable and searchable in the terminal. - It is cached locally and served from a mirror when GitHub is unreachable. -- **Settings**: language, icon and color modes, and version info. - -Events, docs, and the school calendar stay readable offline from the last -successful fetch. +- **Docs**: read and search the knowledge base. It works even when GitHub is + unreachable. +- **Settings**: language, icons, and colors. ## Commands ```text -nbtca events [--today|--week|--month] [--search=] [--next=] [--json] -nbtca events --heatmap +nbtca events [--today|--week|--month] [--search=] [--json] +nbtca schedule login|terms|export|logout +nbtca status [--watch] nbtca docs -nbtca status [--watch] [--json] -nbtca schedule login -nbtca schedule status -nbtca schedule terms -nbtca schedule export --term=2026:3 --week-one=YYYY-MM-DD [--output=] -nbtca schedule logout nbtca website|github|roadmap|repair [--open] -nbtca theme icon auto|ascii|unicode -nbtca theme color auto|on|off -nbtca theme reset nbtca lang zh|en nbtca update ``` -`nbtca --help` lists every flag. Use `--plain` for stable output without color -and `--no-logo` to skip the startup logo. `schedule export --one-shot` avoids -reading or saving a campus session. +`nbtca --help` lists every command and flag. Add `--plain` for output without +color. -Prompt never stores passwords. Persisted sessions contain only a masked account -hint and a CookieJar, protected with user-only permissions on POSIX systems. -Treat exported calendars and session files as private data. See [SECURITY.md](SECURITY.md). +Prompt never stores your password. A saved campus session gets user-only file +permissions. See [SECURITY.md](SECURITY.md). ## Development @@ -75,9 +58,6 @@ npm ci npm run check ``` -`check` runs formatting, lint, full TypeScript validation, tests, build, package -consumer checks and dependency audit. - ## License MIT