Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (26)
📝 WalkthroughWalkthroughVersion 1.2.0 release introducing new Changes
Sequence Diagram(s)sequenceDiagram
actor User
participant CLI as plane stats<br/>(workspace)
participant StatsHandler as statsHandler
participant Resolve as resolve.ts<br/>(listProjects)
participant API as Plane API
participant Aggregate as aggregateStats
participant Format as formatStats
participant Output as console.log
User->>CLI: plane stats workspace [--since] [--until] [--include-archived]
CLI->>StatsHandler: statsHandler() with options
StatsHandler->>Resolve: listProjects({includeArchived})
Resolve->>API: GET /projects/
API-->>Resolve: projects list
Resolve-->>StatsHandler: ReadonlyArray<Project>
loop for each project
StatsHandler->>API: GET /issues/ [filtered]
API-->>StatsHandler: paginated issues
StatsHandler->>Aggregate: aggregateStats(issues, period)
Aggregate-->>StatsHandler: StatsResult
end
note over StatsHandler: Skip projects with 403
StatsHandler->>Format: formatStats(WorkspaceStatsResult)
Format-->>StatsHandler: formatted text
StatsHandler->>Output: console.log(formatted)
Output-->>User: stats table with<br/>totals, priorities,<br/>state groups,<br/>skipped projects
sequenceDiagram
actor User
participant CLI as plane cycles
participant Handler as cyclesCreateHandler/<br/>cyclesUpdateHandler
participant Validate as validateDate
participant Resolve as resolveCycle
participant API as Plane API
participant Schema as CycleSchema
participant Output as console.log
User->>CLI: plane cycles create [--start-date] [--end-date]
CLI->>Handler: cyclesCreateHandler({...options})
alt start/end dates provided
Handler->>Validate: validateDate(YYYY-MM-DD)
alt invalid format or calendar
Validate-->>Handler: Error
Handler-->>Output: command fails
else valid
Validate-->>Handler: Date string
end
end
Handler->>API: POST /cycles/ with name, dates
API-->>Schema: cycle response
Schema-->>Handler: Cycle object
Handler->>Output: console.log("Created cycle: ...")
Output-->>User: cycle details
User->>CLI: plane cycles update <name-or-id> [--start-date]
CLI->>Handler: cyclesUpdateHandler({nameOrId, ...options})
Handler->>Resolve: resolveCycle(projectId, nameOrId)
Resolve->>API: GET /cycles/
API-->>Resolve: cycles list
Resolve-->>Handler: cycle id (matched by id or name)
alt has updates
Handler->>API: PATCH /cycles/{id}/ with body
API-->>Handler: updated cycle
Handler->>Output: console.log("Updated cycle: ...")
else no updates
Handler->>Output: console.log("Nothing to update")
end
Output-->>User: result
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Release Plane CLI 1.2.0 with new analytics and reporting commands, richer issue field support, expanded filtering and lifecycle operations, and improved usability for both humans and automation workflows.
User-facing outcomes include a new
plane statscommand, more complete issue data in CLI/API output, new issue and cycle management flags, archived projects excluded by default in most flows, and updated documentation for both standard CLI and AI-agent usage.Related Issue
No public tracking item was provided for this release summary.
This PR bundles a coordinated release update across commands, output formats, filtering behavior, and documentation.
Changes
plane statsfor client-side issue aggregation by state group, priority, assignee, and period, with support for date windows, cycle/module/assignee filters, workspace-wide aggregation, and human-readable/JSON/XML output.plane issue getandplane issues list --jsonto includestart_date,target_date,completed_at,created_at,updated_at,estimate_point, and full label objects, with richer API expansion forstateandlabels.--start-date,--target-date,--due-date,--estimate,--cycle,--module, and repeated--label.--no-assignee,--stale <days>, and--cycle <name|UUID>.plane cycles create,plane cycles update, andplane cycles delete, plus stats and computed status inplane cycles list.--include-archivedavailable to opt in.README.mdandSKILL.mdto document new commands, flags, output modes, and command-ordering behavior.issue.tsmaintainable.1.2.0.Validation
bun run typecheckbun testcoverage for the touched areabun run check:allif shared command behavior, schemas, or output changedDocs
README.mdupdated if CLI usage changedSKILL.mdupdated if AI-agent usage changedCHANGELOG.mdupdated if there is a notable user-facing changeRisks Or Follow-Ups
--include-archivedis added explicitly where needed.Summary by CodeRabbit
New Features
plane statscommand for issue analytics with date filtering, cycle/module scoping, and workspace aggregation.--no-assignee,--stale, and--cycleoptions.Changed
--include-archivedto include them.