Skip to content

feat(cli): agent ergonomics + gmail watch exclude labels#201

Open
salmonumbrella wants to merge 3 commits intosteipete:mainfrom
salmonumbrella:feat/gmail-watch-exclude-labels
Open

feat(cli): agent ergonomics + gmail watch exclude labels#201
salmonumbrella wants to merge 3 commits intosteipete:mainfrom
salmonumbrella:feat/gmail-watch-exclude-labels

Conversation

@salmonumbrella
Copy link
Contributor

Summary

  • Add --exclude-labels flag to gmail watch serve so labels can be filtered from push notifications
  • Improve CLI ergonomics for AI agent consumption: stable exit codes, --dry-run, --select field projection, schema command, name resolution for calendars/tasklists, open command, auto-JSON detection, and input specs
  • Fix nil pointer dereference in confirmDestructive, remove deprecated net.Error.Temporary(), deduplicate dry-run logic, and add unit tests for name resolution

Test plan

  • Full test suite passes (go test ./...)
  • New unit tests for exit codes, name resolution, confirm, input spec, googleid, webid, auto-JSON
  • Exclude-labels integration test verifies excluded messages produce no hook call

Hey @steipete — this makes gogcli much more agent-friendly. Stable exit codes, dry-run support, schema introspection, and smarter name resolution so agents don't need to memorize opaque IDs.

🤖 Generated with Claude Code

salmonumbrella and others added 3 commits February 6, 2026 11:49
- Fix nil pointer dereference in confirmDestructive when flags is nil
- Deduplicate dry-run logic by delegating to dryRunExit
- Remove deprecated net.Error.Temporary() call (dead since Go 1.18)
- Add unit tests for resolveTasklistID and resolveCalendarID

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@salmonumbrella
Copy link
Contributor Author

cc @steipete — this makes gogcli much more agent-friendly with stable exit codes, dry-run support, schema introspection, and name resolution so agents don't need opaque IDs. Would love your review!

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