-
Notifications
You must be signed in to change notification settings - Fork 13
feat: Project Update Posts – create/list/get #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Add --project flag to issue create and update commands to enable project assignment/removal from the CLI without switching to Linear UI. Features: - Add --project flag accepting project UUID or 'unassigned' - UUID format validation before API calls - Improved error messages for invalid projects - Project display in all output formats (table, plaintext, JSON) Technical changes: - cmd/issue.go: Flag registration, input building, error handling - pkg/api/queries.go: GraphQL mutations include project field - cmd/*_test.go: Unit tests for flag parsing and validation All acceptance criteria tested and passing. Story: 1.1 - Issue-Project Assignment Status: review → in-progress (addressing review feedback)
Story completed for personal use and testing. Will consider contributing upstream PR after thorough testing period.
- Add CreateProject() and ArchiveProject() API methods - Implement project create command with validation - Implement project archive command with name output - Add comprehensive tests for API and CLI - Enhanced GetTeam to support key lookup with ID fallback - All acceptance criteria met (AC #1-dorkitude#7) Closes Story 1.2 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…t & Creation/Archival
This commit implements comprehensive project update functionality and enhances display of project information in list and detail views. ## What's New **Project Update Command:** - Added `linctl project update PROJECT-UUID` command - Multi-field update support: name, description, state, priority - Partial update pattern using cmd.Flags().Changed() - Comprehensive validation for state and priority values - Clear error messages when no fields provided or invalid values **Enhanced Display:** - project list: Added State and Priority columns - project get: Shows state, priority, initiatives, labels, description - All output formats supported: table, JSON, plaintext **API Client:** - Added UpdateProject() method with GraphQL mutation - Enhanced GetProject query to include initiatives, labels - Enhanced GetProjects query to include priority field - Fixed initiatives field structure (connection type, not singular) ## Technical Details **Validation:** - State: planned, started, paused, completed, canceled - Priority: 0-4 (None, Urgent, High, Normal, Low) **Architecture:** - Dependency injection pattern maintained (projectAPI interface) - Flag change detection for partial updates - Mock updated for testing ## Test Results ✅ 10/11 acceptance criteria passing ❌ AC 3.2 (shortSummary update) - Linear API limitation **Tested:** - Single/multi-field updates - Input validation (state, priority) - Error handling - Enhanced display in all formats - Unit tests pass ## Known Limitations Linear's ProjectUpdateInput does NOT support shortSummary field. This is an API limitation, not an implementation issue. ## Files Modified - pkg/api/queries.go: UpdateProject method, enhanced queries, Initiatives type - cmd/project.go: projectUpdateCmd, enhanced display, updated interface - cmd/project_cmd_test.go: Mock UpdateProject method - docs-bmad/*: Story completion and status tracking 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…mands) and reset docs-bmad to upstream baseline
Add project update-post management commands: - project update-post create: Create status updates with health tracking - project update-post list: List all updates for a project - project update-post get: Get details of a specific update Supports health indicators: onTrack, atRisk, offTrack Based on PR dorkitude#19
|
Manually merged in commit 4e0e9ca. The PR branch was stale and had conflicts with master's API changes. The core functionality (project update-post commands) has been successfully integrated into master. |
|
Manually merged in commit 4e0e9ca. The PR branch was stale and had conflicts with master's API changes. The core functionality (project update-post commands) has been successfully integrated into master. The PR can now be closed. |
Dependencies
Summary
Adds project update-post commands to author and view status updates for projects:
project update-post create <project-id> --body <markdown> [--health onTrack|atRisk|offTrack]project update-post list <project-id>project update-post get <update-id>Motivation
Teams need a fast way to record project status updates (with health) from the CLI. Prior work enhanced project display; this adds the missing write/list/get flows for updates.
Changes
New Features
onTrack|atRisk|offTrack)Implementation Details
pkg/api/queries.goCreateProjectUpdate,ListProjectUpdates,GetProjectUpdateoperationscmd/project.goproject update-postcommand group with create/list/get--body(required),--health(validated enum)cmd/project_cmd_test.goTestProjectUpdatePostCreatewith mock client, DI, and stdout captureUsage Examples
Validation
--bodyis required for create--healthsupports:onTrack,atRisk,offTrackTesting
Unit Tests
Smoke/Build
go test ./...passesmake fmtappliedBreaking Changes
None – additive commands only.
Architecture Notes
projectAPIfor testabilityChecklist
Contributor Checklist (Contributing.md)
make depsas neededmake fmtappliedmake testpasses (read‑only smoke tests)