Skip to content

feat(calendar): add respond, search, colors, time, conflicts commands#2

Closed
salmonumbrella wants to merge 1 commit intosteipete:mainfrom
salmonumbrella:feat/calendar-enhancements
Closed

feat(calendar): add respond, search, colors, time, conflicts commands#2
salmonumbrella wants to merge 1 commit intosteipete:mainfrom
salmonumbrella:feat/calendar-enhancements

Conversation

@salmonumbrella
Copy link
Copy Markdown
Contributor

Summary

Adds comprehensive calendar enhancements inspired by nspady/google-calendar-mcp:

New Commands

  • calendar respond: RSVP to calendar events with accepted/declined/tentative status
  • calendar search: Full-text search across all calendars with optional date range filtering
  • calendar colors: List all available event and calendar colors (useful for --color flag)
  • calendar time: Show event times converted to any timezone (e.g., --timezone America/New_York)
  • calendar conflicts: Detect scheduling overlaps using the FreeBusy API

Enhanced Existing Commands

  • calendar events: Multi-calendar support via --all flag (aggregates all calendars) or comma-separated calendar IDs (e.g., --calendar "primary,work@example.com")
  • calendar create: New --organizer flag to set event organizer email, --color flag to set event color ID

Example Usage

# RSVP to an event
gogcli calendar respond --event abc123 --status accepted

# Search for events
gogcli calendar search "team meeting" --from 2025-01-01

# Check for conflicts
gogcli calendar conflicts --from 2025-01-15T09:00:00Z --to 2025-01-15T17:00:00Z

# View events from all calendars
gogcli calendar events --all --max 20

# Show event time in different timezone
gogcli calendar time --event abc123 --timezone Europe/Berlin

# Create event as specific organizer with color
gogcli calendar create "Standup" --start 2025-01-20T10:00:00Z --end 2025-01-20T10:30:00Z \
  --organizer team-calendar@company.com --color 11

Test plan

  • All existing tests pass (go test ./internal/cmd/...)
  • Added TestParseEventTimes to test the new helper function with edge cases (nil event, nil Start/End, timed events, all-day events)
  • Manual testing of new commands with real Google Calendar API

🤖 Generated with Claude Code

Adds comprehensive calendar enhancements inspired by nspady/google-calendar-mcp:

New commands:
- `calendar respond`: RSVP to events (accepted/declined/tentative)
- `calendar search`: Full-text search across all calendars
- `calendar colors`: List available event/calendar colors
- `calendar time`: Show event times in any timezone
- `calendar conflicts`: Detect scheduling overlaps via FreeBusy API

Enhanced existing commands:
- `calendar events`: Multi-calendar support via --all flag or comma-separated IDs
- `calendar create`: New --organizer flag to set event organizer email,
  --color flag to set event color ID

Also adds tests for the new parseEventTimes helper function.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
karbassi added a commit to karbassi/gogcli that referenced this pull request Apr 8, 2026
Adds security review entries for gmail Users.Messages.Get, calendar
Events.Get, people People.Get (shared with contacts), tasks Tasks.Get,
and forms Forms.Get. None require redaction — risks are limited to
PII the caller already has access to, and none of the endpoints
return credentials in the API contract. Documents the gmail naming
collision ("raw" subcommand vs Gmail's format=raw) and the resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
karbassi added a commit to karbassi/gogcli that referenced this pull request Apr 8, 2026
…ands

Adds example commands for gmail/calendar/people/contacts/tasks/forms
raw subcommands to the README reference and expands the CHANGELOG
entry to list the full set of raw commands now shipping under this
unreleased version.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
karbassi added a commit to karbassi/gogcli that referenced this pull request Apr 8, 2026
Adds security review entries for gmail Users.Messages.Get, calendar
Events.Get, people People.Get (shared with contacts), tasks Tasks.Get,
and forms Forms.Get. None require redaction — risks are limited to
PII the caller already has access to, and none of the endpoints
return credentials in the API contract. Documents the gmail naming
collision ("raw" subcommand vs Gmail's format=raw) and the resolution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
karbassi added a commit to karbassi/gogcli that referenced this pull request Apr 8, 2026
…ands

Adds example commands for gmail/calendar/people/contacts/tasks/forms
raw subcommands to the README reference and expands the CHANGELOG
entry to list the full set of raw commands now shipping under this
unreleased version.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants