feat: add project update and enhanced display#17
Open
raegislabs wants to merge 3 commits intodorkitude:masterfrom
Open
feat: add project update and enhanced display#17raegislabs wants to merge 3 commits intodorkitude:masterfrom
raegislabs wants to merge 3 commits intodorkitude:masterfrom
Conversation
Complete the project management feature set with multi-field updates and comprehensive project information display. Features: - `linctl project update` with multi-field support - Update name, description, state, priority in single command - Flag change detection for partial updates - Comprehensive validation (state values, priority range) - Enhanced `project list`: Added State and Priority columns - Enhanced `project get`: Shows state, priority, initiatives, labels - All output formats supported (table, JSON, plaintext) Validation: - State: planned, started, paused, completed, canceled - Priority: 0-4 (None, Urgent, High, Normal, Low) - At least one field required for update Technical changes: - pkg/api/queries.go: Add UpdateProject(), enhance GetProject/GetProjects - cmd/project.go: Add projectUpdateCmd, enhance display formatters - Use cmd.Flags().Changed() for partial update detection - Enhanced mock for testing Examples: linctl project update <uuid> --state started linctl project update <uuid> --state completed --priority 1 linctl project update <uuid> --description "Updated description" linctl project list # Now shows State and Priority Note: shortSummary field update not supported by Linear GraphQL API.
This was referenced Nov 7, 2025
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.
Dependencies
Depends on #15 and PR #2 – completes the project management feature set.
Summary
Adds
project updatecommand with multi‑field support and enhances project display to show comprehensive information (state, priority, initiatives, labels).Completes the project management trilogy started in PR #15 and PR #2.
Motivation
Users need to update project fields as work progresses and see complete project information in list/detail views. Currently, users can create and archive projects but cannot update fields like state, priority, or description from the CLI.
Changes
New Features
linctl project updatecommandproject listproject getImplementation Details
pkg/api/queries.go:UpdateProject()method with GraphQL mutationGetProjectquery (add initiatives, labels, description)GetProjectsquery (add priority field)cmd/project.go:projectUpdateCmdwith validationcmd.Flags().Changed()for partial update detectioncmd/project_cmd_test.go: Update mock to support UpdateProjectUsage Examples
Validation
planned,started,paused,completed,canceledTesting
Unit Tests
GetProject/GetProjectsqueriesManual Testing
Smoke/Build
make test(smoke tests) passingmake fmtappliedBreaking Changes
None – additive (new command, new columns, new fields in output).
Architecture Notes
projectAPIinterface)cmd.Flags().Changed()to detect explicit flag usage (vs defaults)Checklist
Contributor Checklist (Contributing.md)
make depsas neededmake fmtappliedmake testpasses (read‑only smoke tests)