Skip to content

feat(calendar): full API parity — 20 new commands (#92)#103

Merged
omriariav merged 2 commits intomainfrom
feat/calendar-full-api
Feb 18, 2026
Merged

feat(calendar): full API parity — 20 new commands (#92)#103
omriariav merged 2 commits intomainfrom
feat/calendar-full-api

Conversation

@omriariav
Copy link
Owner

Summary

  • Add 20 new calendar commands covering the full Google Calendar API
  • Events (4): get, quick-add, instances, move
  • Calendar CRUD (5): get-calendar, create-calendar, update-calendar, delete-calendar, clear
  • Subscriptions (4): subscribe, unsubscribe, calendar-info, update-subscription
  • ACL (4): acl, share, unshare, update-acl
  • Other (3): freebusy, colors, settings

Details

All commands follow existing patterns:

  • Cobra command registration with flags in init()
  • client.NewFactory(ctx)factory.Calendar() for service access
  • printer.JSON(cmd, data) for structured output
  • Reuses mapEventToOutput() and parseTime() helpers

Test plan

  • Flag existence tests for all 20 new commands
  • Mock server integration tests for: get, quick-add, instances, move, calendar CRUD, ACL CRUD, subscriptions, freebusy, colors, settings
  • ACL role validation tests
  • TestCalendarCommands updated with all 26 commands (6 existing + 20 new)
  • TestSkillCommands_MatchCLI passes with updated skill docs
  • go test ./... passes
  • go vet ./... passes
  • gofmt applied

🤖 Generated with Claude Code

omriariav and others added 2 commits February 18, 2026 23:17
Add 20 new calendar commands covering the full Google Calendar API:

Events (4): get, quick-add, instances, move
Calendar CRUD (5): get-calendar, create-calendar, update-calendar, delete-calendar, clear
Subscriptions (4): subscribe, unsubscribe, calendar-info, update-subscription
ACL (4): acl, share, unshare, update-acl
Other (3): freebusy, colors, settings

Includes comprehensive tests (flag validation, mock server integration)
and updated skill documentation (SKILL.md, commands.md).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…color-id

1. update-subscription --hidden false was a no-op because the Google API
   omits zero-value bools from JSON. Now uses ForceSendFields to ensure
   hidden=false is explicitly sent.

2. Renamed --color to --color-id since the API expects a numeric color ID
   string (e.g. "7"), not a hex value. Updated help text and skill docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@omriariav omriariav force-pushed the feat/calendar-full-api branch from db708c1 to ee5a9c5 Compare February 18, 2026 21:17
@omriariav omriariav merged commit 6b396da into main Feb 18, 2026
1 check passed
@omriariav omriariav deleted the feat/calendar-full-api branch February 18, 2026 21:18
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.

1 participant

Comments