@animaapp/cli 0.8.0 → 0.10.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.
package/README.md CHANGED
@@ -187,8 +187,10 @@ options; `--json` makes any of them agent-readable.
187
187
  | | [`auth`](#auth--inspect-or-manage-credentials) | Inspect credentials, store a Figma token |
188
188
  | | [`skill`](#skill--install-the-agentgrid-guide-for-your-agent) | Install the AgentGrid guide as a SKILL.md your agent can read |
189
189
  | | [`mcp-config`](#mcp-config--print-your-mcp-server-config) | Print an MCP server config for your MCP client |
190
- | **Find** | [`list`](#list--your-teams-artifacts) | Your team's artifacts, most-recently-updated first |
190
+ | **Find** | [`workspaces`](#workspaces--where-you-can-work) | The workspaces you can reach, and what you may do in each |
191
+ | | [`list`](#list--the-artifacts-you-can-read) | The artifacts you can read, most-recently-updated first |
191
192
  | **Make** | [`create`](#create--an-artifact-for-your-code-or-ai-generated) | Import your code, an empty repo, or AI generation |
193
+ | | [`create-knowledge`](#create--an-artifact-for-your-code-or-ai-generated) | Create a knowledge artifact |
192
194
  | | [`status`](#status--did-generation-finish) | Did generation finish? `--wait` blocks until it has |
193
195
  | | [`duplicate`](#duplicate--copy-an-existing-artifact) | Copy an artifact into a new, independent one |
194
196
  | **Change** | [`explore`](#explore--read-an-artifacts-files-no-git) | Read files: list, search, read, history |
@@ -199,6 +201,7 @@ options; `--json` makes any of them agent-readable.
199
201
  | **Ship** | [`publish`](#publish--deploy-a-session-to-a-public-url-13-min) | Deploy to a public live URL — only when asked |
200
202
  | | [`unpublish`](#unpublish--take-a-published-artifact-offline) | Take a published artifact offline |
201
203
  | | [`update`](#update--rename-or-change-visibility-metadata-only) | Rename, or change visibility |
204
+ | | [`move`](#move--file-an-artifact-under-a-different-workspace) | File an artifact under a different workspace |
202
205
  | | [`delete`](#delete--hide-an-artifact-with-reversible-soft-deletion) | Reversible soft deletion |
203
206
  | **Figma** | [`codegen`](#codegen--figma-to-local-files-no-artifact) | Figma → local code files, no artifact |
204
207
  | **Settings** | [`config`](#config--store-cli-preferences) | Store CLI preferences (e.g. a default API URL) |
@@ -257,25 +260,46 @@ authorize when it prompts. No CLI in the loop after that. Your client needs to
257
260
  support OAuth for remote MCP servers (`.well-known` discovery); if it cannot,
258
261
  use the CLI commands instead.
259
262
 
260
- ### `list` — your team's artifacts
263
+ ### `workspaces` — where you can work
264
+
265
+ ```bash
266
+ npx @animaapp/cli@latest workspaces
267
+ ```
268
+
269
+ Artifacts live in workspaces. You may have access to one or more of them, and
270
+ what you may do can differ between them: each row shows the capabilities you
271
+ hold there, and creating or changing an artifact needs `write`.
272
+
273
+ Workspace ids are opaque: get one here (each `list` row carries its own) for `--workspace`.
274
+ An empty list means your access reaches none of this team's workspaces — not
275
+ that the team has none.
276
+
277
+ ### `list` — the artifacts you can read
261
278
 
262
279
  ```bash
263
280
  npx @animaapp/cli@latest list
281
+ npx @animaapp/cli@latest list --workspace <id> # just one workspace
264
282
  ```
265
283
 
266
284
  Most-recently-updated first, so you can resume existing work instead of
267
- creating a second artifact for the same job. Each row carries its session id
268
- and `artifactUrl`; `--json` adds them to every row.
285
+ creating a second artifact for the same job. It spans every workspace you can
286
+ read unless `--workspace` names one, and each row says which workspace it is
287
+ in. Each row carries its session id and `artifactUrl`; `--json` adds them to
288
+ every row.
269
289
 
270
290
  ### `create` — an artifact for your code, or AI-generated
271
291
 
272
292
  ```bash
273
293
  npx @animaapp/cli@latest create -t import --from ./my-project # import YOUR code (instant)
274
294
  npx @animaapp/cli@latest create -t import --from ./notes --artifact-type markdown # a readable document
295
+ npx @animaapp/cli@latest create-knowledge --name "Team knowledge" # server-provided template
296
+ npx @animaapp/cli@latest create-knowledge --name "Team knowledge" --workspace <id> # ...in a specific workspace
275
297
  npx @animaapp/cli@latest create -t empty --framework react --name "My project" # empty repo you push to (instant)
298
+ npx @animaapp/cli@latest create -t import --from ./my-project --workspace <id> # in a specific workspace
276
299
  npx @animaapp/cli@latest create -t p2c -p "Analytics dashboard with a sidebar"
277
300
  npx @animaapp/cli@latest create -t l2c -u https://stripe.com
278
301
  npx @animaapp/cli@latest create -t f2c --file-key <key> --nodes 42:15
302
+ npx @animaapp/cli@latest create -t p2c -p "Pricing page" --workspace <id> # any type takes --workspace
279
303
  npx @animaapp/cli@latest create -t import --from ./my-project --anonymous # no account — hand off later
280
304
  ```
281
305
 
@@ -303,6 +327,14 @@ readable document and needs `.md` files. Omit it and the server infers one:
303
327
  markdown when your files are `.md`/`.mdx` with no HTML, otherwise app. Getting it wrong is the common mistake — `.md` files
304
328
  uploaded as an app produce an artifact with nothing to render.
305
329
 
330
+ Knowledge artifacts use the dedicated `create-knowledge` command instead of
331
+ generic `create`. It accepts an optional `--name` (maximum 120 characters) and
332
+ an optional `--workspace <id>`; the server-provided knowledge template supplies
333
+ the initial files and framework.
334
+ This command requires deployment of the server contract containing merged
335
+ AnimaApp/anima-design-to-code PR 5114. There is no compatibility fallback to
336
+ generic creation on older servers.
337
+
306
338
  | Option | Values | Default |
307
339
  |--------|--------|---------|
308
340
  | `-t, --type` | `import` (your code, with `--from`), `empty` (repo to push to), `p2c` (prompt), `l2c` (URL), `f2c` (Figma) | _required_ |
@@ -454,9 +486,11 @@ a commit cannot carry (a question answered, a change you decided against), and
454
486
  ```bash
455
487
  npx @animaapp/cli@latest duplicate <artifactUrl-or-sessionId>
456
488
  npx @animaapp/cli@latest duplicate <artifactUrl-or-sessionId> --name "My copy"
489
+ npx @animaapp/cli@latest duplicate <artifactUrl-or-sessionId> --workspace <id>
457
490
  ```
458
491
 
459
- Creates a new, independent artifact in the current team's Default workspace.
492
+ Creates a new, independent artifact in the workspace `--workspace` names, which
493
+ is optional when you can create in only one.
460
494
  It copies code, assets, and supported database content, but does **not** copy
461
495
  chat or custom domains. The source must be readable and the destination
462
496
  workspace must be writable. Without `--name`, the API names it
@@ -532,6 +566,26 @@ npx @animaapp/cli@latest update <sessionId> --privacy private # team only
532
566
  Never touches code or content — that's `edit` (or the git flow via
533
567
  `get-git-token`).
534
568
 
569
+ ### `move` — file an artifact under a different workspace
570
+
571
+ ```bash
572
+ npx @animaapp/cli@latest workspaces # the ids live here
573
+ npx @animaapp/cli@latest move <sessionId> --workspace <id>
574
+ ```
575
+
576
+ **The artifact stays as it is.** Same git repository, session id, URL, history
577
+ and live deployment — there is no new link to send and no copy to reconcile.
578
+
579
+ **What changes is who can reach it.** A private artifact is reached *through*
580
+ the workspace it is filed in, so a move hands it to the people who reach the
581
+ destination and takes it from the rest, including whoever you already sent the
582
+ link to. You need `write` on the artifact and `write` in the destination, which
583
+ is what moving it back would take too.
584
+
585
+ `--workspace` is required and names a workspace of the same team, where `create`
586
+ and `duplicate` fall back to the one workspace you can write in. Moving an
587
+ artifact where it already is leaves everything as it was.
588
+
535
589
  ### `get-git-token` — read/edit an artifact's code over git
536
590
 
537
591
  ```bash
@@ -617,7 +671,7 @@ is `awaiting_claim` or `expired`, alongside the `artifactUrl` to re-send.
617
671
  | `--json` | Emit a single JSON object to stdout (for agents) | every command |
618
672
  | `--api-url <url>` | API base URL — point at local or staging³ | every command except `config` |
619
673
  | `--log-file <path>` | Append a JSON debug log of each step to a file | every command that reaches the network |
620
- | `--verbose` | Stream progress to stderr in JSON mode¹ | `create`, `status`, `duplicate`, `upload-asset`, `publish`, `unpublish`, `update`, `delete`, `codegen`, `get-git-token` |
674
+ | `--verbose` | Stream progress to stderr in JSON mode¹ | `create`, `create-knowledge`, `status`, `duplicate`, `upload-asset`, `publish`, `unpublish`, `update`, `delete`, `codegen`, `get-git-token` |
621
675
  | `--timeout <ms>` | How long to wait² | `create`, `status`, `codegen` |
622
676
 
623
677
  ¹ Only the commands that do slow work carry a spinner, so `--verbose` is on