Conversation
Update to v0.0.0-20260128054241-c856b2d2b56e which adds: - types.Date for date-only fields (due_on, starts_on) - Timeline API (Progress, ProjectTimeline, PersonProgress) - Reports API (AssignablePeople, AssignedTodos, OverdueTodos, UpcomingSchedule)
New command: bcq timeline Usage: - bcq timeline Account-wide activity feed - bcq timeline --in <proj> Project activity timeline - bcq timeline me Current user's activity - bcq timeline --person <p> Specific person's activity Uses SDK Timeline().Progress(), ProjectTimeline(), and PersonProgress() APIs.
New command: bcq reports Subcommands: - bcq reports assignable List assignable people - bcq reports assigned [person] Todos assigned to person (defaults to "me") --group-by bucket|date Group results - bcq reports overdue Overdue todos grouped by lateness - bcq reports schedule Upcoming schedule entries --start/--end Date window (supports natural language) Uses SDK Reports().AssignablePeople(), AssignedTodos(), OverdueTodos(), and UpcomingSchedule() APIs.
There was a problem hiding this comment.
Pull request overview
Adds new bcq CLI commands for Basecamp Timeline and Reports APIs, including wiring them into the root command and the command catalog, backed by an updated basecamp-sdk dependency.
Changes:
- Add
bcq timelinecommand with account/project/person timeline modes. - Add
bcq reportscommand group with assignable/assigned/overdue/schedule subcommands. - Register new commands in the CLI root and command catalog; bump
github.com/basecamp/basecamp-sdk/go.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/commands/timeline.go | Implements the new timeline command and its project/person helpers. |
| internal/commands/reports.go | Implements the new reports command group and subcommands. |
| internal/commands/commands_test.go | Registers new commands in catalog-vs-registered command test. |
| internal/commands/commands.go | Adds timeline and reports to the command catalog. |
| internal/cli/root.go | Registers the new commands on the root CLI command. |
| go.mod | Updates github.com/basecamp/basecamp-sdk/go dependency version. |
| go.sum | Updates checksums for the bumped basecamp-sdk version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Validate positional arg in timeline: only "me" is supported, error on other values - Add mutual exclusion check for --person and --project flags in timeline - Fix flag description consistency: --project is primary, --in is alias - Fix todos breadcrumb in reports: add --in <project> since project context required - Fix dateparse comment: note that unrecognized formats are normalized before passthrough
jeremy
added a commit
that referenced
this pull request
Feb 19, 2026
* Update basecamp-sdk for Timeline and Reports APIs Update to v0.0.0-20260128054241-c856b2d2b56e which adds: - types.Date for date-only fields (due_on, starts_on) - Timeline API (Progress, ProjectTimeline, PersonProgress) - Reports API (AssignablePeople, AssignedTodos, OverdueTodos, UpcomingSchedule) * Add timeline command for activity feeds New command: bcq timeline Usage: - bcq timeline Account-wide activity feed - bcq timeline --in <proj> Project activity timeline - bcq timeline me Current user's activity - bcq timeline --person <p> Specific person's activity Uses SDK Timeline().Progress(), ProjectTimeline(), and PersonProgress() APIs. * Add reports command for cross-project views New command: bcq reports Subcommands: - bcq reports assignable List assignable people - bcq reports assigned [person] Todos assigned to person (defaults to "me") --group-by bucket|date Group results - bcq reports overdue Overdue todos grouped by lateness - bcq reports schedule Upcoming schedule entries --start/--end Date window (supports natural language) Uses SDK Reports().AssignablePeople(), AssignedTodos(), OverdueTodos(), and UpcomingSchedule() APIs. * Address PR review feedback - Validate positional arg in timeline: only "me" is supported, error on other values - Add mutual exclusion check for --person and --project flags in timeline - Fix flag description consistency: --project is primary, --in is alias - Fix todos breadcrumb in reports: add --in <project> since project context required - Fix dateparse comment: note that unrecognized formats are normalized before passthrough
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds new CLI commands for the Timeline and Reports APIs from basecamp-sdk PR #39.
New Commands
Timeline - View activity feeds
bcq timeline- Account-wide activity feedbcq timeline --in <project>- Project activity timelinebcq timeline me- Current user's activitybcq timeline --person <id>- Specific person's activityReports - Cross-project views
bcq reports assignable- List people who can be assigned todosbcq reports assigned [person]- Todos assigned to person (defaults to "me")--group-by bucket|date- Group resultsbcq reports overdue- Overdue todos grouped by latenessbcq reports schedule- Upcoming schedule entries--start/--end- Date window (supports natural language dates)Changes
internal/commands/timeline.gointernal/commands/reports.goTest plan
makepasses (vet, lint, tests)