@gonovus-ai/spec-flow-cli 0.2.0 → 0.3.1

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.
package/README.md CHANGED
@@ -1,22 +1,32 @@
1
1
  # SpecFlow CLI
2
2
 
3
- The next CLI contract is **0.2.0**, coordinated with the official Skill's exact
4
- pin. Directory, Spec and Product Map results can return `capabilityId: null`;
5
- unassigned search results have `capabilityPath: []`. Consumers of 0.1.x must
6
- handle these absent placements before upgrading. Omit `--capability-id` on
7
- creation, and use `--capability-id none` on `spec update` to clear placement;
8
- omitting that update option preserves the current placement. Existing grouped
9
- requests and nested Capability paths retain their meaning. The HTTP service
10
- continues under `/v1` with regenerated OpenAPI inputs; clients must update their
11
- nullable response handling together. This source change does not publish either
12
- artifact or change already released Skill tags.
3
+ To create a delivery Project, request `project: ["create"]` on its owning
4
+ `WorkspaceKnowledge` grant at CLI login. Current Workspace Role permissions still
5
+ apply. After creation, authorize the returned ID as a separate `ProjectTasks`
6
+ grant before managing its tasks; creation grants no task access or Workspace
7
+ administration authority.
8
+
9
+ The byte-only `work-item asset put --reservation-file <path> --file <path>`
10
+ accepts signed S3 and Azure BlockBlob reservations, including reservations from
11
+ `map screen image-reserve`. Save reservation JSON in an owner-only file and keep
12
+ its URL out of logs. Uploading bytes alone does not attach an asset; complete the
13
+ matching task or Screen finalization command separately.
14
+
15
+ The current CLI contract is **0.3.1**, coordinated with the official Skill's exact
16
+ pin. It breaks 0.2.0 callers: Spec, Capability, Glossary, Proposal and
17
+ authoring-history commands address shared knowledge with `--workspace-id` instead of
18
+ `--project-id`, `project directory` is replaced by `spec list`, Session grants
19
+ separate `WorkspaceKnowledge` and `ProjectTasks` targets, and Workspace read-only
20
+ Tokens replace Project Tokens. Failures also carry the public `error.code`, the HTTP
21
+ `error.status` and optional field-level `error.issues`, and Workspace-scoped Product
22
+ Map commands are new. Upgrade the Skill and the CLI together.
13
23
 
14
24
  `@gonovus-ai/spec-flow-cli` uses OAuth Device Authorization to create an independent
15
25
  seven-day Better Auth CLI Session. It supports the Node.js 24 runtime line;
16
26
  Node.js 22 and unverified future major versions are intentionally unsupported.
17
27
 
18
28
  ```bash
19
- npm install --global @gonovus-ai/spec-flow-cli@0.2.0
29
+ npm install --global @gonovus-ai/spec-flow-cli@0.3.1
20
30
  specflow auth login
21
31
  specflow auth status
22
32
  specflow auth logout
@@ -53,7 +63,7 @@ SPEC_FLOW_API_URL=https://specflow.example specflow project create --name "Payme
53
63
  SPEC_FLOW_API_URL=https://specflow.example specflow project archive --project-id <project-id> --expected-version '"1"'
54
64
  SPEC_FLOW_API_URL=https://specflow.example specflow project restore --project-id <project-id> --expected-version '"2"'
55
65
  SPEC_FLOW_API_URL=https://specflow.example specflow project trash --project-id <project-id> --expected-version '"2"'
56
- SPEC_FLOW_API_URL=https://specflow.example specflow project directory --project-id <project-id>
66
+ SPEC_FLOW_API_URL=https://specflow.example specflow spec list --workspace-id <workspace-id>
57
67
  SPEC_FLOW_API_URL=https://specflow.example specflow spec read --project-id <project-id> --spec-id <spec-id>
58
68
  SPEC_FLOW_API_URL=https://specflow.example specflow spec current --project-id <project-id> --spec-id <spec-id>
59
69
  SPEC_FLOW_API_URL=https://specflow.example specflow spec revision --project-id <project-id> --spec-id <spec-id> --revision-id <revision-id>
@@ -62,11 +72,11 @@ SPEC_FLOW_API_URL=https://specflow.example specflow spec edit --project-id <proj
62
72
  SPEC_FLOW_API_URL=https://specflow.example specflow spec assign-scenario-ids --project-id <project-id> --spec-id <spec-id>
63
73
  SPEC_FLOW_API_URL=https://specflow.example specflow spec publish --project-id <project-id> --spec-id <spec-id>
64
74
  SPEC_FLOW_API_URL=https://specflow.example specflow glossary edit --project-id <project-id> --entries '[{"id":"payment","canonicalTerm":"Payment","definition":"A completed transfer.","usageNote":null}]'
65
- SPEC_FLOW_API_URL=https://specflow.example specflow proposal create-spec --project-id <project-id> --spec-id <spec-id> --baseline-content "$(cat payments.md)" --proposed-content "$(cat payments.md)" --agent-revision <revision> --agent-model <model> --source-reference-ids '["source-id"]'
66
- SPEC_FLOW_API_URL=https://specflow.example specflow proposal list --project-id <project-id> --target-kind Spec --spec-id <spec-id> --status Open
67
- SPEC_FLOW_API_URL=https://specflow.example specflow proposal apply --project-id <project-id> --proposal-id <proposal-id> --change-ids '["hunk-1"]'
68
- SPEC_FLOW_API_URL=https://specflow.example specflow proposal discard --project-id <project-id> --proposal-id <proposal-id>
69
- SPEC_FLOW_API_URL=https://specflow.example specflow authoring-history --project-id <project-id>
75
+ SPEC_FLOW_API_URL=https://specflow.example specflow proposal create-spec --workspace-id <workspace-id> --spec-id <spec-id> --baseline-content "$(cat payments.md)" --proposed-content "$(cat payments.md)" --agent-revision <revision> --agent-model <model> --source-reference-ids '["source-id"]'
76
+ SPEC_FLOW_API_URL=https://specflow.example specflow proposal list --workspace-id <workspace-id> --target-kind Spec --spec-id <spec-id> --status Open
77
+ SPEC_FLOW_API_URL=https://specflow.example specflow proposal apply --workspace-id <workspace-id> --proposal-id <proposal-id> --change-ids '["hunk-1"]'
78
+ SPEC_FLOW_API_URL=https://specflow.example specflow proposal discard --workspace-id <workspace-id> --proposal-id <proposal-id>
79
+ SPEC_FLOW_API_URL=https://specflow.example specflow authoring-history --workspace-id <workspace-id>
70
80
  ```
71
81
 
72
82
  Every official CLI service request sends the versioned `@gonovus-ai/spec-flow-cli/<version>`
@@ -117,7 +127,7 @@ command/result pairs are the supported schemas:
117
127
  | `project restore` | `{ project: ProjectSummary }` |
118
128
  | `project trash` | `{ project: ProjectSummary }` |
119
129
  | `project context` | `{ project: ProjectContext, publishedGlossary: PublishedGlossary \| null }` |
120
- | `project directory` | `{ capabilities: Capability[], permissions: Permissions, specs: SpecSummary[] }` |
130
+ | `spec list` | `{ capabilities: Capability[], permissions: Permissions, specs: SpecSummary[] }` |
121
131
  | `spec search` | `{ nextCursor: string \| null, results: SearchResult[], totalCount: number }` |
122
132
  | `work-item resource-link list` | `{ links: WorkItemResourceLink[], canCreateLink: boolean, canReadSpecs: boolean }` |
123
133
  | `work-item resource-link add` | `{ linkId: string, link: WorkItemResourceLink \| null, replayed: boolean }` |
package/dist/bin.js CHANGED
File without changes