Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:23:24 +08:00
commit 30bbbc890a
10 changed files with 1323 additions and 0 deletions

31
commands/auth-check.md Normal file
View File

@@ -0,0 +1,31 @@
---
description: Verify OAuth credentials and API access
argument-hint:
---
Verify Google OAuth credentials and API access.
## Usage
```bash
google-gmail-tool auth check [-v|-vv|-vvv]
```
## Environment Variables
- `GOOGLE_GMAIL_TOOL_CREDENTIALS_JSON`: Full OAuth2 credentials as JSON
- `GOOGLE_GMAIL_TOOL_CREDENTIALS`: Path to credentials JSON file
## Examples
```bash
# Check authentication status
google-gmail-tool auth check
# Check with verbose output
google-gmail-tool auth check -vv
```
## Output
Returns status for Gmail, Calendar, Tasks, and Drive API access.

40
commands/calendar-list.md Normal file
View File

@@ -0,0 +1,40 @@
---
description: List calendar events with time filtering
argument-hint: timerange
---
List calendar events with optional filtering.
## Usage
```bash
google-gmail-tool calendar list [--today] [--this-week] [--query "TEXT"]
```
## Arguments
- `--today`: Events for today
- `--tomorrow`: Events for tomorrow
- `--this-week`: Events this week (Monday-Sunday)
- `--days N`: Events for next N days
- `--query "TEXT"`: Search query (title, description, location)
- `-n N`: Max results (default: 100)
- `--text`: Output in text format
- `-v/-vv/-vvv`: Verbosity (INFO/DEBUG/TRACE)
## Examples
```bash
# List this week's events
google-gmail-tool calendar list --this-week
# Find meetings about project
google-gmail-tool calendar list --query "project meeting"
# Today's events in text format
google-gmail-tool calendar list --today --text
```
## Output
Returns JSON array with id, summary, start, end, location, attendees.

39
commands/drive-search.md Normal file
View File

@@ -0,0 +1,39 @@
---
description: Search Google Drive files and folders
argument-hint: name
---
Search for files and folders in Google Drive.
## Usage
```bash
google-gmail-tool drive search [--name "NAME"] [--type TYPE]
```
## Arguments
- `--name "NAME"`: Search by file/folder name
- `--type TYPE`: Filter by type (document, spreadsheet, folder, pdf)
- `--owner me|others|anyone`: Filter by owner
- `--shared`: Show only shared files
- `-n N`: Max results (default: 50)
- `--text`: Output in text format
- `-v/-vv/-vvv`: Verbosity (INFO/DEBUG/TRACE)
## Examples
```bash
# Search by name
google-gmail-tool drive search --name "report"
# Find PDFs I own
google-gmail-tool drive search --type pdf --owner me
# Find shared spreadsheets
google-gmail-tool drive search --type spreadsheet --shared
```
## Output
Returns JSON array with id, name, mimeType, size, modified, webViewLink.

37
commands/mail-list.md Normal file
View File

@@ -0,0 +1,37 @@
---
description: List Gmail messages with filtering options
argument-hint: query
---
List Gmail messages or threads with optional filtering.
## Usage
```bash
google-gmail-tool mail list [--query "QUERY"] [--today] [-n N] [--text]
```
## Arguments
- `--query "QUERY"`: Gmail search query (optional)
- `--today`: Filter emails from today only
- `-n N`: Max results (default: 50, max: 500)
- `--text`: Output in text format
- `-v/-vv/-vvv`: Verbosity (INFO/DEBUG/TRACE)
## Examples
```bash
# List 50 most recent threads
google-gmail-tool mail list
# Find unread emails from today
google-gmail-tool mail list --today --query "is:unread"
# List with JSON output
google-gmail-tool mail list --query "from:team@company.com" -n 10
```
## Output
Returns JSON array with id, threadId, snippet, from, to, subject, date.

45
commands/mail-send.md Normal file
View File

@@ -0,0 +1,45 @@
---
description: Send email via Gmail API
argument-hint: to subject body
---
Send an email message via Gmail.
## Usage
```bash
google-gmail-tool mail send --to "EMAIL" --subject "SUBJECT" --body "BODY"
```
## Arguments
- `--to EMAIL`: Recipient email (required)
- `--subject TEXT`: Email subject (required)
- `--body TEXT`: Email body (required)
- `--cc EMAIL`: CC recipients (optional)
- `--bcc EMAIL`: BCC recipients (optional)
- `--html`: Send as HTML instead of plain text
- `--dry-run`: Preview without sending
- `-v/-vv/-vvv`: Verbosity (INFO/DEBUG/TRACE)
## Examples
```bash
# Send plain text email
google-gmail-tool mail send \
--to "user@example.com" \
--subject "Meeting Notes" \
--body "Here are the notes..."
# Send HTML email with CC
google-gmail-tool mail send \
--to "user@example.com" \
--cc "team@example.com" \
--subject "Report" \
--body "<h1>Report</h1>" \
--html
```
## Output
Returns success confirmation with message ID.

39
commands/task-list.md Normal file
View File

@@ -0,0 +1,39 @@
---
description: List Google Tasks with filtering
argument-hint: filter
---
List Google Tasks with status and date filtering.
## Usage
```bash
google-gmail-tool task list [--completed] [--incomplete] [--today]
```
## Arguments
- `--completed`: Show only completed tasks
- `--incomplete`: Show only incomplete tasks
- `--today`: Tasks due today
- `--overdue`: Tasks past due date
- `-n N`: Max results (default: 100)
- `--text`: Output in text format
- `-v/-vv/-vvv`: Verbosity (INFO/DEBUG/TRACE)
## Examples
```bash
# List all tasks
google-gmail-tool task list
# Show incomplete tasks due today
google-gmail-tool task list --incomplete --today
# Show overdue tasks
google-gmail-tool task list --overdue
```
## Output
Returns JSON array with id, title, notes, due, status, updated.