Added create and delete operations for projects and boards with validation and error handling
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
## Why
|
||||
|
||||
The CLI currently supports read-only operations for projects and boards (list, get) but has no ability to create or delete them. Users who need to set up new projects and boards must use the Planka web UI. Additionally, write operations that fail due to insufficient permissions return raw API errors rather than actionable guidance.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Add `project create` command with `--name`, `--type`, and optional `--description` flags
|
||||
- Add `project delete` command accepting a project ID
|
||||
- Add `board create` command with `--project`, `--name`, and optional `--position` flags
|
||||
- Add `board delete` command accepting a board ID
|
||||
- Add `CreateProject`, `DeleteProject`, `CreateBoard`, `DeleteBoard` client methods
|
||||
- Add a shared `friendlyAPIError` helper in the `cmd` package that translates API error status codes (401, 403, 404) into human-readable messages with permission context
|
||||
- New commands use the shared helper; existing commands are unchanged (can adopt it later)
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
- `permission-errors`: Shared helper for translating API permission/auth errors into user-friendly CLI messages
|
||||
|
||||
### Modified Capabilities
|
||||
- `api-client`: Adding CreateProject, DeleteProject, CreateBoard, DeleteBoard client methods
|
||||
- `cli-commands`: Adding project create/delete and board create/delete subcommands
|
||||
|
||||
## Impact
|
||||
|
||||
- `client/projects.go` — new CreateProject, DeleteProject methods
|
||||
- `client/boards.go` — new CreateBoard, DeleteBoard methods
|
||||
- `cmd/errors.go` — new file with friendlyAPIError helper
|
||||
- `cmd/project.go` — new create and delete subcommands
|
||||
- `cmd/board.go` — new create and delete subcommands
|
||||
- No new dependencies, no model changes, no breaking changes
|
||||
Reference in New Issue
Block a user