gdcli
Google Drive CLI
Command-line interface for Google Drive operations.
Installation
npm install -g @mariozechner/gdcli
Setup
Google Cloud Console (one-time)
- Create a new project (or select existing)
- Enable the Google Drive API
- Set app name in OAuth branding
- Add test users (all Gmail addresses you want to use)
- Create OAuth client:
- Click "Create Client"
- Application type: "Desktop app"
- Download the JSON file
Configure gdcli
First check if already configured:
gdcli accounts list
If no accounts, guide the user through setup:
- Ask if they have a Google Cloud project with Drive API enabled
- If not, walk them through the Google Cloud Console steps above
- Have them download the OAuth credentials JSON
- Run:
gdcli accounts credentials ~/path/to/credentials.json - Run:
gdcli accounts add <email>(use--manualfor browserless OAuth)
Usage
Run gdcli --help for full command reference.
Common operations:
gdcli <email> ls [folderId]- List files/foldersgdcli <email> ls --query "<query>"- List with Drive query filtergdcli <email> search "<text>"- Full-text content searchgdcli <email> download <fileId> [destPath]- Download a filegdcli <email> upload <localPath> [--folder <folderId>]- Upload a filegdcli <email> mkdir <name>- Create a foldergdcli <email> share <fileId> --anyone- Share publicly
Search
Two different commands:
search "<text>"- Searches inside file contents (fullText)ls --query "<query>"- Filters by metadata (name, type, date, etc.)
Use ls --query for filename searches!
Query Syntax (for ls --query)
Format: field operator value. Combine with and/or, group with ().
Operators: =, !=, contains, <, >, <=, >=
Examples:
# By filename
ls --query "name = 'report.pdf'" # exact match
ls --query "name contains 'IMG'" # prefix match
# By type
ls --query "mimeType = 'application/pdf'"
ls --query "mimeType contains 'image/'"
ls --query "mimeType = 'application/vnd.google-apps.folder'" # folders
# By date
ls --query "modifiedTime > '2024-01-01'"
# By owner/sharing
ls --query "'me' in owners"
ls --query "sharedWithMe"
# Exclude trash
ls --query "trashed = false"
# Combined
ls --query "name contains 'report' and mimeType = 'application/pdf'"
Ref: https://developers.google.com/drive/api/guides/ref-search-terms
Data Storage
~/.gdcli/credentials.json- OAuth client credentials~/.gdcli/accounts.json- Account tokens~/.gdcli/downloads/- Default download location
More from winsorllc/upgraded-carnival
vector-memory
Vector-based semantic memory using embeddings for intelligent recall. Store and search memories by meaning rather than keywords. Use when you need semantic search, similar document retrieval, or context-aware memory.
131model-router
Route requests between different LLM providers and models. Configure routing rules, fallback providers, and model-specific parameters inspired by ZeroClaw and OpenClaw model routing systems.
63rss-monitor
Monitor RSS/Atom feeds and blogs for new content using feedparser.
59rss-reader
Read and parse RSS/Atom feeds. Use when: user wants to subscribe to feeds, get latest articles, or monitor news sources.
54video-frames
Production-grade video frame extraction with thumbnail grids, GIF creation, and batch frame processing. Includes intelligent quality presets, progress tracking, and comprehensive error handling.
39elevenlabs-tts
Convert text to speech using ElevenLabs API. Use when you need to generate voice audio for messages, narrations, or accessibility.
25