feat: add project update and enhanced display #17
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)