i-plane 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ # API coverage
2
+
3
+ Paths below are relative to `/api/v1/workspaces/{workspace_slug}/`. The command
4
+ registry defines the supported CLI surface, including value flags and aliases;
5
+ `tests/registry.test.ts` checks it against the dispatch table and exercises the
6
+ actual handlers. `tests/cli.test.ts` verifies the entry point's flag validation.
7
+
8
+ | Resource | Supported operations | CLI |
9
+ | --- | --- | --- |
10
+ | Projects | GET/POST `projects/`; PATCH/DELETE `projects/{project}/`; POST `projects/{project}/archive/` | `projects`, `project create`, `project update`, `project rm`, `project archive` |
11
+ | Work items | GET/POST `projects/{project}/issues/`; GET/PATCH/DELETE `projects/{project}/issues/{issue}/`; GET `issues/{ref}/` | `list`, `create`, `show`, `update`, `done`, `delete` |
12
+ | Work item fields | `parent`, `assignees`, `labels`, `start_date`, `target_date`, `name`, `state`, `priority`, `description_html` | `create` and `update` flags; `done` forwards update fields except state |
13
+ | Labels | GET/POST `projects/{project}/labels/`; DELETE `projects/{project}/labels/{label}/` | `labels`, `label create`, `label rm` |
14
+ | States | GET/POST `projects/{project}/states/`; PATCH/DELETE `projects/{project}/states/{state}/` | `states`, `state create`, `state update`, `state rm` |
15
+ | Comments | GET/POST `projects/{project}/issues/{issue}/comments/` | `comments`, `comment`, `show --comments` |
16
+ | Cycles | GET/POST `projects/{project}/cycles/`; PATCH `projects/{project}/cycles/{cycle}/`; GET `projects/{project}/cycles-lite/`; GET/POST `projects/{project}/cycles/{cycle}/cycle-issues/`; POST `projects/{project}/cycles/{cycle}/transfer-issues/` | `cycles`, `cycle create`, `cycle update`, `cycle add`, `cycle issues`, `cycle transfer` |
17
+ | Modules | GET/POST `projects/{project}/modules/`; GET `projects/{project}/modules-lite/`; GET/POST `projects/{project}/modules/{module}/module-issues/` | `modules`, `module create`, `module add`, `module issues` |
18
+ | Intake | GET/POST `projects/{project}/intake-issues/`; GET/PATCH/DELETE `projects/{project}/intake-issues/{issue}/` | `intake list`, `intake create`, `intake show`, `intake update`, `intake rm` |
19
+ | Project features | `cycle_view`, `module_view`, `intake_view` on project POST/PATCH | `project create` and `project update`: `--cycles`, `--modules`, `--intake` |
20
+ | Search | GET `issues/search/` | `search` |
21
+ | Members | GET `members-lite/` | `members`, named assignee resolution |
22
+ | Current user | GET `/api/v1/users/me/` | `whoami` |
23
+ | Summary | GET `projects/{project}/summary/` | `summary` |
24
+
25
+ The compatibility target uses the `issues/` routes. The current public
26
+ [work item reference](https://developers.plane.so/api-reference/issue/overview)
27
+ documents `work-items/` instead. A route migration must be verified against the
28
+ target server; do not change paths solely to match a newer documentation release.
29
+
30
+ ## Compatibility details
31
+
32
+ Enabling intake on project creation requires a follow-up project PATCH to create
33
+ the queue. A creation flag alone can leave `intake_view=true` without an intake
34
+ record, causing the first submission to fail with HTTP 500. The CLI initializes
35
+ the queue explicitly and reports partial setup without encouraging a duplicate
36
+ project creation.
37
+
38
+ Cycle updates explicitly preserve `owned_by` when no owner is supplied: some
39
+ servers otherwise default it to the requesting user. Calendar dates are formatted
40
+ in the project's timezone; the JSON model keeps the API timestamps.
41
+
42
+ Expired snoozes can be filtered out of intake GET and ordinary triage work item
43
+ lookup. Update and delete therefore accept underlying work item UUIDs without
44
+ requiring an intake GET. A hidden readable reference cannot be resolved by these
45
+ API endpoints; the diagnostic points to `issueId` from an earlier JSON response.
46
+
47
+ ## Remaining gaps
48
+
49
+ - Label updates and comment updates/deletions are not exposed.
50
+ - Cycle/module archive, delete and membership removal are not exposed; module
51
+ details cannot yet be edited. The planning tasks cover listing, creation,
52
+ membership and cycle transfer.
53
+ - This is an inventory of the implemented surface, not a claim to cover every
54
+ endpoint in every edition of Plane.
55
+
56
+ ## Adding a command
57
+
58
+ 1. Add the command and all options to `src/registry.ts`. The parser gets value
59
+ flags from the registry, including those of multiword commands.
60
+ 2. Add an online handler to `src/dispatch.ts`. Both missing handlers and handlers
61
+ absent from the registry fail the command-set test.
62
+ 3. Add a fixture invocation and valid option values to the registry suite. Test
63
+ the requested method, path and body, and assert observable output. Merely
64
+ accepting a flag in `--help` is insufficient.
65
+ 4. Extend the live acceptance script when the command contributes to project
66
+ setup. Verify writes by reading them back, and clean up temporary data.
67
+ 5. Update this table and README examples.
68
+
69
+ Reference: [projects](https://developers.plane.so/api-reference/project/add-project),
70
+ [labels](https://developers.plane.so/api-reference/label/add-label),
71
+ [states](https://developers.plane.so/api-reference/state/add-state),
72
+ [cycles](https://developers.plane.so/api-reference/cycle/transfer-cycle-work-items),
73
+ [modules](https://developers.plane.so/api-reference/module/add-module),
74
+ [intake](https://developers.plane.so/api-reference/intake-issue/overview).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "i-plane",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "CLI \u0434\u043b\u044f Plane \u0441 \u043f\u043b\u043e\u0442\u043d\u044b\u043c \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043f\u043e\u0434 \u0430\u0433\u0435\u043d\u0442\u0430",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -17,6 +17,7 @@
17
17
  },
18
18
  "files": [
19
19
  "dist",
20
+ "docs/api-coverage.md",
20
21
  "AGENTS.md",
21
22
  "CLAUDE.md"
22
23
  ],