- 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 period → List of scheduled events with details
Create calendar events
Event title, date, time, and optional details → New event added to Google Calendar
Delete calendar events
Event identifier or selection → Event removed from Google Calendar
Edit calendar events
Event identifier and updated information → Modified event in Google Calendar
Search calendar events
Search keywords or criteria → Filtered list of matching events
Display calendar in terminal
Calendar view preferences → Text-based calendar layout in terminal
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
