@gobi-ai/cli 2.0.27 → 2.0.29
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -2
- package/dist/commands/global.js +7 -2
- package/dist/commands/personal.js +7 -2
- package/dist/commands/space.js +7 -2
- package/dist/commands/vault.js +3 -19
- package/package.json +1 -1
- package/skills/gobi-artifact/SKILL.md +8 -4
- package/skills/gobi-core/SKILL.md +2 -2
- package/skills/gobi-homepage/SKILL.md +1 -1
- package/skills/gobi-media/SKILL.md +2 -2
- package/skills/gobi-sense/SKILL.md +2 -2
- package/skills/gobi-space/SKILL.md +3 -3
- package/skills/gobi-space/references/global.md +8 -6
- package/skills/gobi-space/references/personal.md +8 -6
- package/skills/gobi-space/references/space.md +2 -0
- package/skills/gobi-vault/SKILL.md +5 -7
- package/skills/gobi-vault/references/vault.md +3 -15
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"name": "gobi-ai"
|
|
5
5
|
},
|
|
6
6
|
"description": "Claude Code plugin for the Gobi collaborative knowledge platform CLI",
|
|
7
|
-
"version": "2.0.
|
|
7
|
+
"version": "2.0.29",
|
|
8
8
|
"plugins": [
|
|
9
9
|
{
|
|
10
10
|
"name": "gobi",
|
|
11
11
|
"description": "Manage the Gobi collaborative knowledge platform from the command line. Publish vault profiles, create posts and replies, generate images and videos.",
|
|
12
|
-
"version": "2.0.
|
|
12
|
+
"version": "2.0.29",
|
|
13
13
|
"author": {
|
|
14
14
|
"name": "gobi-ai"
|
|
15
15
|
},
|
package/README.md
CHANGED
|
@@ -138,10 +138,9 @@ If `.gobi/settings.yaml` is missing, `gobi vault init` and `gobi space warp` are
|
|
|
138
138
|
|
|
139
139
|
| Command | Description |
|
|
140
140
|
|---------|-------------|
|
|
141
|
-
| `gobi vault create <slug> --name <n>` | Create a new vault. Does not change the configured vault — run `gobi vault init`
|
|
141
|
+
| `gobi vault create <slug> --name <n>` | Create a new vault. Does not change the configured vault — run `gobi vault init` afterwards if you want to anchor to it. |
|
|
142
142
|
| `gobi vault rename <newName> [--vault-slug <slug>]` | Rename a vault. Defaults to the configured vault. Local display name only — does not affect `PUBLISH.md` frontmatter. |
|
|
143
143
|
| `gobi vault delete <slug>` | Delete a vault. Irreversible. The API rejects if the vault still owns content; clean up posts, members, and files first. |
|
|
144
|
-
| `gobi vault set-primary <slug>` | Mark a vault as your primary. Unsets primary on the others. |
|
|
145
144
|
| `gobi vault publish` | Upload `PUBLISH.md` to your vault. Triggers profile/metadata refresh. |
|
|
146
145
|
| `gobi vault unpublish` | Remove `PUBLISH.md` from your vault. |
|
|
147
146
|
| `gobi vault status [--vault-slug <slug>]` | Show the configured vault's publish state (`isPublished`), profile fields, file count, and public profile URL. Useful as a pre-flight check before authoring a markdown artifact with `--auto-attachments`. |
|
package/dist/commands/global.js
CHANGED
|
@@ -235,13 +235,16 @@ export function registerGlobalCommand(program) {
|
|
|
235
235
|
.option("--content <content>", "New content (markdown supported, use \"-\" for stdin)")
|
|
236
236
|
.option("--rich-text <richText>", "Rich-text JSON array (mutually exclusive with --content)")
|
|
237
237
|
.option("--attach <file>", "Replace the post's media attachments with the given files (existing attachments are removed). Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. Omit to leave attachments unchanged.", (value, prev = []) => [...prev, value], [])
|
|
238
|
+
.option("--artifact <artifactId>", "Replace the post's artifact attachments with the given artifact(s) (existing artifact attachments are removed). Repeatable. Omit to leave them unchanged. Create artifacts with `gobi artifact create`.", (value, prev = []) => [...prev, value], [])
|
|
238
239
|
.action(async (postId, opts) => {
|
|
239
240
|
const wantsAttachChange = !!(opts.attach && opts.attach.length > 0);
|
|
241
|
+
const wantsArtifactChange = !!(opts.artifact && opts.artifact.length > 0);
|
|
240
242
|
if (opts.title == null &&
|
|
241
243
|
opts.content == null &&
|
|
242
244
|
opts.richText == null &&
|
|
243
|
-
!wantsAttachChange
|
|
244
|
-
|
|
245
|
+
!wantsAttachChange &&
|
|
246
|
+
!wantsArtifactChange) {
|
|
247
|
+
throw new Error("Provide at least --title, --content, --rich-text, --attach, or --artifact to update.");
|
|
245
248
|
}
|
|
246
249
|
if (opts.content && opts.richText) {
|
|
247
250
|
throw new Error("--content and --rich-text are mutually exclusive.");
|
|
@@ -266,6 +269,8 @@ export function registerGlobalCommand(program) {
|
|
|
266
269
|
assertPostAttachmentMix(opts.attach);
|
|
267
270
|
body.attachments = await uploadPostAttachments(opts.attach);
|
|
268
271
|
}
|
|
272
|
+
if (opts.artifact && opts.artifact.length > 0)
|
|
273
|
+
body.artifactIds = opts.artifact;
|
|
269
274
|
const resp = (await apiPatch(`/posts/${postId}`, body));
|
|
270
275
|
const post = unwrapResp(resp);
|
|
271
276
|
if (isJsonMode(global)) {
|
|
@@ -246,13 +246,16 @@ export function registerPersonalCommand(program) {
|
|
|
246
246
|
.option("--content <content>", "New content (markdown supported, use \"-\" for stdin)")
|
|
247
247
|
.option("--rich-text <richText>", "Rich-text JSON array (mutually exclusive with --content)")
|
|
248
248
|
.option("--attach <file>", "Replace the post's media attachments with the given files (existing attachments are removed). Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. Omit to leave attachments unchanged.", (value, prev = []) => [...prev, value], [])
|
|
249
|
+
.option("--artifact <artifactId>", "Replace the post's artifact attachments with the given artifact(s) (existing artifact attachments are removed). Repeatable. Omit to leave them unchanged. Create artifacts with `gobi artifact create`.", (value, prev = []) => [...prev, value], [])
|
|
249
250
|
.action(async (postId, opts) => {
|
|
250
251
|
const wantsAttachChange = !!(opts.attach && opts.attach.length > 0);
|
|
252
|
+
const wantsArtifactChange = !!(opts.artifact && opts.artifact.length > 0);
|
|
251
253
|
if (opts.title == null &&
|
|
252
254
|
opts.content == null &&
|
|
253
255
|
opts.richText == null &&
|
|
254
|
-
!wantsAttachChange
|
|
255
|
-
|
|
256
|
+
!wantsAttachChange &&
|
|
257
|
+
!wantsArtifactChange) {
|
|
258
|
+
throw new Error("Provide at least --title, --content, --rich-text, --attach, or --artifact to update.");
|
|
256
259
|
}
|
|
257
260
|
if (opts.content && opts.richText) {
|
|
258
261
|
throw new Error("--content and --rich-text are mutually exclusive.");
|
|
@@ -277,6 +280,8 @@ export function registerPersonalCommand(program) {
|
|
|
277
280
|
assertPostAttachmentMix(opts.attach);
|
|
278
281
|
body.attachments = await uploadPostAttachments(opts.attach);
|
|
279
282
|
}
|
|
283
|
+
if (opts.artifact && opts.artifact.length > 0)
|
|
284
|
+
body.artifactIds = opts.artifact;
|
|
280
285
|
const resp = (await apiPatch(`/posts/${postId}`, body));
|
|
281
286
|
const post = unwrapResp(resp);
|
|
282
287
|
if (isJsonMode(personal)) {
|
package/dist/commands/space.js
CHANGED
|
@@ -377,13 +377,16 @@ export function registerSpaceCommand(program) {
|
|
|
377
377
|
.option("--rich-text <richText>", "Rich-text JSON array (mutually exclusive with --content)")
|
|
378
378
|
.option("--space-slug <spaceSlug>", "Space slug (overrides .gobi/settings.yaml)")
|
|
379
379
|
.option("--attach <file>", "Replace the post's media attachments with the given files (existing attachments are removed). Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. Omit to leave attachments unchanged.", (value, prev = []) => [...prev, value], [])
|
|
380
|
+
.option("--artifact <artifactId>", "Replace the post's artifact attachments with the given artifact(s) (existing artifact attachments are removed). Repeatable. Omit to leave them unchanged. Create artifacts with `gobi artifact create`.", (value, prev = []) => [...prev, value], [])
|
|
380
381
|
.action(async (postId, opts) => {
|
|
381
382
|
const wantsAttachChange = !!(opts.attach && opts.attach.length > 0);
|
|
383
|
+
const wantsArtifactChange = !!(opts.artifact && opts.artifact.length > 0);
|
|
382
384
|
if (opts.title == null &&
|
|
383
385
|
opts.content == null &&
|
|
384
386
|
opts.richText == null &&
|
|
385
|
-
!wantsAttachChange
|
|
386
|
-
|
|
387
|
+
!wantsAttachChange &&
|
|
388
|
+
!wantsArtifactChange) {
|
|
389
|
+
throw new Error("Provide at least --title, --content, --rich-text, --attach, or --artifact to update.");
|
|
387
390
|
}
|
|
388
391
|
if (opts.content && opts.richText) {
|
|
389
392
|
throw new Error("--content and --rich-text are mutually exclusive.");
|
|
@@ -409,6 +412,8 @@ export function registerSpaceCommand(program) {
|
|
|
409
412
|
assertPostAttachmentMix(opts.attach);
|
|
410
413
|
body.attachments = await uploadPostAttachments(opts.attach);
|
|
411
414
|
}
|
|
415
|
+
if (opts.artifact && opts.artifact.length > 0)
|
|
416
|
+
body.artifactIds = opts.artifact;
|
|
412
417
|
const resp = (await apiPatch(`/spaces/${spaceSlug}/posts/${postId}`, body));
|
|
413
418
|
const post = unwrapResp(resp);
|
|
414
419
|
if (isJsonMode(space)) {
|
package/dist/commands/vault.js
CHANGED
|
@@ -20,7 +20,7 @@ export function registerVaultCommand(program) {
|
|
|
20
20
|
});
|
|
21
21
|
vault
|
|
22
22
|
.command("create <slug>")
|
|
23
|
-
.description("Create a new vault. <slug> must be unique (use 'gobi vault list' to see existing slugs); --name sets the display name. Does not change the configured vault — run 'gobi vault init'
|
|
23
|
+
.description("Create a new vault. <slug> must be unique (use 'gobi vault list' to see existing slugs); --name sets the display name. Does not change the configured vault — run 'gobi vault init' afterwards if you want to anchor to it.")
|
|
24
24
|
.requiredOption("--name <name>", "Display name for the new vault")
|
|
25
25
|
.action(async (slug, opts) => {
|
|
26
26
|
const resp = (await apiPost("/vault", {
|
|
@@ -61,20 +61,6 @@ export function registerVaultCommand(program) {
|
|
|
61
61
|
}
|
|
62
62
|
console.log(`Deleted vault [${slug}].`);
|
|
63
63
|
});
|
|
64
|
-
vault
|
|
65
|
-
.command("set-primary <slug>")
|
|
66
|
-
.description("Mark a vault as your primary. Unsets primary on the other vaults you own. Slug must be passed explicitly.")
|
|
67
|
-
.action(async (slug) => {
|
|
68
|
-
const resp = (await apiPatch(`/vault/${slug}`, {
|
|
69
|
-
isPrimary: true,
|
|
70
|
-
}));
|
|
71
|
-
const v = unwrapResp(resp);
|
|
72
|
-
if (isJsonMode(vault)) {
|
|
73
|
-
jsonOut(v);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
console.log(`Set [${slug}] as primary vault.`);
|
|
77
|
-
});
|
|
78
64
|
vault
|
|
79
65
|
.command("list")
|
|
80
66
|
.description("List vaults you own.")
|
|
@@ -96,8 +82,7 @@ export function registerVaultCommand(program) {
|
|
|
96
82
|
const lines = [];
|
|
97
83
|
for (const v of items) {
|
|
98
84
|
const slug = (v.vaultId || v.slug);
|
|
99
|
-
|
|
100
|
-
lines.push(`- [${slug}] ${v.name}${isPrimary}`);
|
|
85
|
+
lines.push(`- [${slug}] ${v.name}`);
|
|
101
86
|
}
|
|
102
87
|
console.log(`Vaults (${items.length}):\n` + lines.join("\n"));
|
|
103
88
|
});
|
|
@@ -122,7 +107,6 @@ export function registerVaultCommand(program) {
|
|
|
122
107
|
const status = {
|
|
123
108
|
vaultSlug: slug,
|
|
124
109
|
name: v.name,
|
|
125
|
-
isPrimary: !!v.isPrimary,
|
|
126
110
|
isPublished,
|
|
127
111
|
title: v.title ?? null,
|
|
128
112
|
description: v.description ?? null,
|
|
@@ -140,7 +124,7 @@ export function registerVaultCommand(program) {
|
|
|
140
124
|
return;
|
|
141
125
|
}
|
|
142
126
|
const lines = [
|
|
143
|
-
`Vault: [${slug}] ${v.name}
|
|
127
|
+
`Vault: [${slug}] ${v.name}`,
|
|
144
128
|
` Published: ${isPublished ? "yes" : "no"}`,
|
|
145
129
|
];
|
|
146
130
|
if (!isPublished) {
|
package/package.json
CHANGED
|
@@ -9,12 +9,12 @@ description: >-
|
|
|
9
9
|
allowed-tools: Bash(gobi:*)
|
|
10
10
|
metadata:
|
|
11
11
|
author: gobi-ai
|
|
12
|
-
version: "2.0.
|
|
12
|
+
version: "2.0.29"
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
# gobi-artifact
|
|
16
16
|
|
|
17
|
-
Gobi artifact commands for versioned, post-attachable creations (v2.0.
|
|
17
|
+
Gobi artifact commands for versioned, post-attachable creations (v2.0.29).
|
|
18
18
|
|
|
19
19
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
20
20
|
|
|
@@ -103,9 +103,13 @@ gobi artifact download <artifactId> --revision <revisionId> --out image.png
|
|
|
103
103
|
|
|
104
104
|
## Attaching to a post
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
Three ways to attach an artifact, depending on what already exists:
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
1. **At artifact-create time** — `gobi artifact create … --post-id <id>` attaches the new artifact to an existing post **without clobbering** its current artifacts: the CLI reads the post's current artifact attachments, appends the new id, and writes the merged set via `PATCH /posts/:id` (`artifactIds`).
|
|
109
|
+
2. **At post-create time** — `gobi <lane> create-post … --artifact <artifactId>` attaches one or more **already-created** artifacts to the new post (`--artifact` is repeatable).
|
|
110
|
+
3. **Editing an existing post** — `gobi <lane> edit-post <id> --artifact <artifactId>` sets the post's artifact attachments. Unlike `create --post-id` (which merges), the post API's `artifactIds` is a **full replacement** — pass every artifact you want on the post, since omitted ones are removed (omitting `--artifact` entirely leaves them unchanged).
|
|
111
|
+
|
|
112
|
+
The same artifact can be attached to **multiple posts** (it's a reusable, versioned creation — each post renders its currently-published revision, so revising + publishing updates every post at once). Create it once, then reference its id via `--artifact` on each post.
|
|
109
113
|
|
|
110
114
|
## Available Commands
|
|
111
115
|
|
|
@@ -8,12 +8,12 @@ description: >-
|
|
|
8
8
|
allowed-tools: Bash(gobi:*)
|
|
9
9
|
metadata:
|
|
10
10
|
author: gobi-ai
|
|
11
|
-
version: "2.0.
|
|
11
|
+
version: "2.0.29"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# gobi-core
|
|
15
15
|
|
|
16
|
-
Core CLI commands for the Gobi collaborative knowledge platform (v2.0.
|
|
16
|
+
Core CLI commands for the Gobi collaborative knowledge platform (v2.0.29).
|
|
17
17
|
|
|
18
18
|
## Prerequisites
|
|
19
19
|
|
|
@@ -10,12 +10,12 @@ description: >-
|
|
|
10
10
|
allowed-tools: Bash(gobi:*)
|
|
11
11
|
metadata:
|
|
12
12
|
author: gobi-ai
|
|
13
|
-
version: "2.0.
|
|
13
|
+
version: "2.0.29"
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# gobi-media
|
|
17
17
|
|
|
18
|
-
Gobi media generation commands (v2.0.
|
|
18
|
+
Gobi media generation commands (v2.0.29).
|
|
19
19
|
|
|
20
20
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
21
21
|
|
|
@@ -7,12 +7,12 @@ description: >-
|
|
|
7
7
|
allowed-tools: Bash(gobi:*)
|
|
8
8
|
metadata:
|
|
9
9
|
author: gobi-ai
|
|
10
|
-
version: "2.0.
|
|
10
|
+
version: "2.0.29"
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# gobi-sense
|
|
14
14
|
|
|
15
|
-
Gobi sense commands for activity and transcription data (v2.0.
|
|
15
|
+
Gobi sense commands for activity and transcription data (v2.0.29).
|
|
16
16
|
|
|
17
17
|
Requires gobi-cli installed and authenticated. See the **gobi-core** skill for setup.
|
|
18
18
|
|
|
@@ -11,12 +11,12 @@ description: >-
|
|
|
11
11
|
allowed-tools: Bash(gobi:*)
|
|
12
12
|
metadata:
|
|
13
13
|
author: gobi-ai
|
|
14
|
-
version: "2.0.
|
|
14
|
+
version: "2.0.29"
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# gobi-space
|
|
18
18
|
|
|
19
|
-
Gobi space, global, and personal-space posts (v2.0.
|
|
19
|
+
Gobi space, global, and personal-space posts (v2.0.29).
|
|
20
20
|
|
|
21
21
|
Requires gobi-cli installed and authenticated. See the **gobi-core** skill for setup.
|
|
22
22
|
|
|
@@ -47,7 +47,7 @@ The same applies to replies: a reply has only `--content` (no title), so do not
|
|
|
47
47
|
|
|
48
48
|
## Attaching artifacts (`--artifact`)
|
|
49
49
|
|
|
50
|
-
Posts have no vault attribution. `create-post` across all three scopes (`gobi space`, `gobi global`, `gobi personal`)
|
|
50
|
+
Posts have no vault attribution. Both `create-post` and `edit-post` across all three scopes (`gobi space`, `gobi global`, `gobi personal`) accept `--artifact <artifactId>` (repeatable) to attach existing artifacts. On `create-post` it sets the new post's artifacts; on `edit-post` it **replaces** the post's artifact set wholesale (pass every artifact you want; omit `--artifact` to leave them unchanged). The same artifact can be attached to multiple posts — it's a reusable, versioned creation, and each post renders its currently-published revision. To author a vault-anchored document, create a markdown artifact (`gobi artifact create --kind markdown --vault-slug <slug>`) and attach it via `--artifact`. See the **gobi-artifact** skill.
|
|
51
51
|
|
|
52
52
|
> **Wiki-link uploads moved to artifacts.** The `--auto-attachments` flag that used to upload `[[wiki-linked files]]` from a post body now lives on `gobi artifact create` / `gobi artifact revise` (markdown kinds). To publish a markdown creation with resolvable wikilinks, create a markdown artifact with `--vault-slug` + `--auto-attachments` and attach it to the post (`--post-id`). See the **gobi-artifact** skill. Before relying on wikilink resolution, confirm the anchor vault is published: `gobi --json vault status --vault-slug <slug>` should report `isPublished: true`.
|
|
53
53
|
|
|
@@ -89,12 +89,14 @@ Usage: gobi global edit-post [options] <postId>
|
|
|
89
89
|
Edit a post you authored in the global feed.
|
|
90
90
|
|
|
91
91
|
Options:
|
|
92
|
-
--title <title>
|
|
93
|
-
--content <content>
|
|
94
|
-
--rich-text <richText>
|
|
95
|
-
--attach <file>
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
--title <title> New title
|
|
93
|
+
--content <content> New content (markdown supported, use "-" for stdin)
|
|
94
|
+
--rich-text <richText> Rich-text JSON array (mutually exclusive with --content)
|
|
95
|
+
--attach <file> Replace the post's media attachments with the given files (existing attachments are removed). Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size
|
|
96
|
+
ceilings: 5MB photos / 15MB GIFs / 512MB video. Omit to leave attachments unchanged. (default: [])
|
|
97
|
+
--artifact <artifactId> Replace the post's artifact attachments with the given artifact(s) (existing artifact attachments are removed). Repeatable. Omit to leave them unchanged. Create artifacts
|
|
98
|
+
with `gobi artifact create`. (default: [])
|
|
99
|
+
-h, --help display help for command
|
|
98
100
|
```
|
|
99
101
|
|
|
100
102
|
## delete-post
|
|
@@ -88,12 +88,14 @@ Usage: gobi personal edit-post [options] <postId>
|
|
|
88
88
|
Edit a post you authored in your personal space.
|
|
89
89
|
|
|
90
90
|
Options:
|
|
91
|
-
--title <title>
|
|
92
|
-
--content <content>
|
|
93
|
-
--rich-text <richText>
|
|
94
|
-
--attach <file>
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
--title <title> New title
|
|
92
|
+
--content <content> New content (markdown supported, use "-" for stdin)
|
|
93
|
+
--rich-text <richText> Rich-text JSON array (mutually exclusive with --content)
|
|
94
|
+
--attach <file> Replace the post's media attachments with the given files (existing attachments are removed). Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size
|
|
95
|
+
ceilings: 5MB photos / 15MB GIFs / 512MB video. Omit to leave attachments unchanged. (default: [])
|
|
96
|
+
--artifact <artifactId> Replace the post's artifact attachments with the given artifact(s) (existing artifact attachments are removed). Repeatable. Omit to leave them unchanged. Create artifacts
|
|
97
|
+
with `gobi artifact create`. (default: [])
|
|
98
|
+
-h, --help display help for command
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
## delete-post
|
|
@@ -140,6 +140,8 @@ Options:
|
|
|
140
140
|
--space-slug <spaceSlug> Space slug (overrides .gobi/settings.yaml)
|
|
141
141
|
--attach <file> Replace the post's media attachments with the given files (existing attachments are removed). Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size
|
|
142
142
|
ceilings: 5MB photos / 15MB GIFs / 512MB video. Omit to leave attachments unchanged. (default: [])
|
|
143
|
+
--artifact <artifactId> Replace the post's artifact attachments with the given artifact(s) (existing artifact attachments are removed). Repeatable. Omit to leave them unchanged. Create artifacts
|
|
144
|
+
with `gobi artifact create`. (default: [])
|
|
143
145
|
-h, --help display help for command
|
|
144
146
|
```
|
|
145
147
|
|
|
@@ -8,12 +8,12 @@ description: >-
|
|
|
8
8
|
allowed-tools: Bash(gobi:*)
|
|
9
9
|
metadata:
|
|
10
10
|
author: gobi-ai
|
|
11
|
-
version: "2.0.
|
|
11
|
+
version: "2.0.29"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# gobi-vault
|
|
15
15
|
|
|
16
|
-
Gobi vault commands for publishing your vault profile and syncing files (v2.0.
|
|
16
|
+
Gobi vault commands for publishing your vault profile and syncing files (v2.0.29).
|
|
17
17
|
|
|
18
18
|
Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
|
|
19
19
|
|
|
@@ -23,7 +23,7 @@ Most `gobi vault …` commands resolve the target vault from the current directo
|
|
|
23
23
|
|
|
24
24
|
Exceptions:
|
|
25
25
|
- `vault init`, `vault list`, `vault create <slug>` — no `.gobi` required.
|
|
26
|
-
- `vault delete <slug
|
|
26
|
+
- `vault delete <slug>` — slug is a positional, no `.gobi` fallback.
|
|
27
27
|
- `vault rename <newName>`, `vault status` — accept an optional `--vault-slug <slug>` to target a vault other than the one in `.gobi`.
|
|
28
28
|
|
|
29
29
|
## Gobi Vault
|
|
@@ -41,11 +41,10 @@ gobi --json vault publish
|
|
|
41
41
|
## Available Commands
|
|
42
42
|
|
|
43
43
|
- `gobi vault init` — Interactive: select an existing vault or create a new one. Writes `vaultSlug` to `.gobi/settings.yaml` in the current directory and seeds `PUBLISH.md`. Requires the user to be logged in (`gobi auth login`).
|
|
44
|
-
- `gobi vault list` — List vaults you own.
|
|
44
|
+
- `gobi vault list` — List vaults you own.
|
|
45
45
|
- `gobi vault status` — Show the configured vault's publish state (`isPublished`), profile fields (`title`, `description`, `tags`), referenced files (`thumbnailPath`, `homepagePath`, `promptPath`), file count, and the public profile URL. Use this as a diagnostic before authoring a markdown artifact with `--auto-attachments` (see gobi-artifact skill) to confirm the vault is public — files uploaded to a non-public vault are stored on webdrive but are not visible at `gobispace.com/@{vaultSlug}` until you run `gobi vault publish`.
|
|
46
|
-
- `gobi vault create <slug> --name <name>` — Create a new vault with the given slug and display name. Slug must be unique (use `vault list` to see what's taken). Does not change the configured vault — run `vault init` here
|
|
46
|
+
- `gobi vault create <slug> --name <name>` — Create a new vault with the given slug and display name. Slug must be unique (use `vault list` to see what's taken). Does not change the configured vault — run `vault init` here afterwards if you want to anchor to it.
|
|
47
47
|
- `gobi vault rename <newName>` — Rename the configured vault's display name. Pass `--vault-slug <slug>` to target another vault. Local handle only — the public profile title comes from `PUBLISH.md` frontmatter and is unaffected.
|
|
48
|
-
- `gobi vault set-primary <slug>` — Mark a vault as your primary. Unsets primary on the others. Required arg, no `.gobi` fallback (avoids accidental promotion).
|
|
49
48
|
- `gobi vault delete <slug>` — Delete a vault. Irreversible. Required arg, no `.gobi` fallback. The API will reject if the vault still owns content; clean up posts, members, and files first.
|
|
50
49
|
- `gobi vault publish` — Upload `PUBLISH.md` to the vault root on webdrive. Triggers post-processing (vault profile sync, metadata update).
|
|
51
50
|
- `gobi vault unpublish` — Delete `PUBLISH.md` from the vault on webdrive.
|
|
@@ -69,7 +68,6 @@ Every command in this skill writes external state — webdrive files and the pub
|
|
|
69
68
|
- `vault unpublish` — removes the live profile. Always confirm.
|
|
70
69
|
- `vault sync` — can overwrite remote or local files. Run `--dry-run` first and show the user the plan before re-running without `--dry-run`. With `--conflict server` or `--conflict client`, name which side is going to be overwritten.
|
|
71
70
|
- `vault delete <slug>` — irreversible; cannot undo. Confirm the slug and that the user actually means to delete *that* vault before running.
|
|
72
|
-
- `vault set-primary <slug>` — flips which vault is treated as primary across the user's account. Confirm the target.
|
|
73
71
|
- `vault create` / `vault rename` — creating spends a slug permanently; renaming is reversible but visible. Show the user the resolved slug + name before running.
|
|
74
72
|
|
|
75
73
|
## PUBLISH.md Frontmatter Reference
|
|
@@ -11,12 +11,11 @@ Options:
|
|
|
11
11
|
Commands:
|
|
12
12
|
init Select or create the vault for the current directory. Writes .gobi/settings.yaml and seeds PUBLISH.md.
|
|
13
13
|
create [options] <slug> Create a new vault. <slug> must be unique (use 'gobi vault list' to see existing slugs); --name sets the display name. Does not change the configured vault — run 'gobi
|
|
14
|
-
vault init'
|
|
14
|
+
vault init' afterwards if you want to anchor to it.
|
|
15
15
|
rename [options] <newName> Rename a vault. Defaults to the configured vault (.gobi/settings.yaml); pass --vault-slug to target another. Does not affect PUBLISH.md frontmatter (which controls the
|
|
16
16
|
public profile title) — this is the local display name only.
|
|
17
17
|
delete <slug> Delete a vault. Irreversible. Slug must be passed explicitly (no .gobi fallback). The API will reject if the vault still owns content; clean up posts, members, and files
|
|
18
18
|
first.
|
|
19
|
-
set-primary <slug> Mark a vault as your primary. Unsets primary on the other vaults you own. Slug must be passed explicitly.
|
|
20
19
|
list List vaults you own.
|
|
21
20
|
status [options] Show the configured vault's publish state and metadata (use before authoring a markdown artifact with --auto-attachments to confirm the vault is public).
|
|
22
21
|
publish Upload PUBLISH.md to the vault root on webdrive. Triggers post-processing (vault sync, metadata update).
|
|
@@ -41,8 +40,8 @@ Options:
|
|
|
41
40
|
```
|
|
42
41
|
Usage: gobi vault create [options] <slug>
|
|
43
42
|
|
|
44
|
-
Create a new vault. <slug> must be unique (use 'gobi vault list' to see existing slugs); --name sets the display name. Does not change the configured vault — run 'gobi vault init'
|
|
45
|
-
|
|
43
|
+
Create a new vault. <slug> must be unique (use 'gobi vault list' to see existing slugs); --name sets the display name. Does not change the configured vault — run 'gobi vault init' afterwards if you
|
|
44
|
+
want to anchor to it.
|
|
46
45
|
|
|
47
46
|
Options:
|
|
48
47
|
--name <name> Display name for the new vault
|
|
@@ -73,17 +72,6 @@ Options:
|
|
|
73
72
|
-h, --help display help for command
|
|
74
73
|
```
|
|
75
74
|
|
|
76
|
-
## set-primary
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
Usage: gobi vault set-primary [options] <slug>
|
|
80
|
-
|
|
81
|
-
Mark a vault as your primary. Unsets primary on the other vaults you own. Slug must be passed explicitly.
|
|
82
|
-
|
|
83
|
-
Options:
|
|
84
|
-
-h, --help display help for command
|
|
85
|
-
```
|
|
86
|
-
|
|
87
75
|
## list
|
|
88
76
|
|
|
89
77
|
```
|