Vibeleaderboard
Index / tool
Visit github.com
Category
Productivity
Rank
No. 1542Tools index

Previous survey · No. 1549 ·

Pricing
Open Source
Type
TOOL
Builder
badlogic
GitHub
117 stars
Date

About

Minimal Google Calendar CLI for managing your calendar from the terminal.

What it does

gccli gives scripts and shell users direct access to Google Calendar accounts. After OAuth setup, it lists calendars and permissions, searches events, reads event details, creates or changes timed and all-day events, deletes events, and checks availability across calendars. Results use compact tab-separated or line-oriented text.

Why it's ranked here

The command surface covers the core calendar operations without hiding pagination, date ranges, calendar identifiers, or access roles. Multiple-account support and browserless authorization make it useful beyond one laptop. The verdict is mixed-positive because setup requires a Google Cloud project, and the repository shows build and static checks but no automated tests.

What's good

Event listing supports explicit time windows, result limits, page tokens, and free-text search. Updates first fetch the existing event, then preserve fields the user did not supply. Free/busy accepts several calendar identifiers at once. OAuth supports both an automatic local callback and a manual redirect-paste flow.

Tradeoffs

Users must create Google OAuth credentials, enable the Calendar API, configure branding, and add test users before connecting an account. Client secrets and account tokens are stored locally as JSON, with no encryption or permission hardening shown. Output is human-readable text rather than JSON, which limits reliable composition in larger scripts.

How to use it well

It fits engineers who want quick calendar inspection and event maintenance inside shell workflows, especially across several Google accounts. Use explicit ISO 8601 timestamps and retain page tokens when processing larger result sets. It does not replace a full calendar client for recurring-event controls, invitation responses, or richer interactive scheduling.

Technical notes+

package.json defines an ES module package requiring Node.js 20 or newer, with TypeScript declarations and dependencies on google-auth-library and googleapis. src/cli.ts uses Node argument parsing and prints tabular command output. src/calendar-service.ts wraps Calendar API v3 operations, caches clients by email, expands recurring instances during listing, and orders them by start time. src/account-storage.ts synchronously persists credentials and tokens under the user home directory. src/calendar-oauth-flow.ts implements local-callback and manual OAuth flows with full calendar scope. tsconfig.json enables strict checking and declaration output. .github/workflows/ci.yml builds and runs static checks, but defines no test step.

Observed

License
MIT
Primary language
TypeScript
Installation
Global npm package: @mariozechner/gccli
Interfaces
Command-line interface and Node.js package entry point with TypeScript declarations
Runtime
Node.js 20 or newer
Platform support
Browser launch handling for macOS, Windows, and systems using xdg-open; manual OAuth is also available
Quality checks
CI builds the package and runs formatting, linting, and type checking
Repository structure
No test directory or automated test command appears in the supplied repository tree

Read from README.md, package.json, src/cli.ts, src/types.ts, src/account-storage.ts, src/calendar-service.ts, src/calendar-oauth-flow.ts, biome.json, CHANGELOG.md, tsconfig.json, .husky/pre-commit, .github/workflows/ci.yml.

What it can do

  • View calendar events

    Calendar date range or time periodList of scheduled events with details

  • Create calendar events

    Event title, date, time, and optional detailsNew event added to Google Calendar

  • Delete calendar events

    Event identifier or selectionEvent removed from Google Calendar

  • Edit calendar events

    Event identifier and updated informationModified event in Google Calendar

  • Search calendar events

    Search keywords or criteriaFiltered list of matching events

  • Display calendar in terminal

    Calendar view preferencesText-based calendar layout in terminal

Tags

cligoogle-calendarterminalproductivity

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.