fimo 2.8.0-staging.5 → 2.8.0-staging.6
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/assets/skills/fimo-cli/SKILL.md +1 -2
- package/assets/skills/fimo-cli/references/agents.md +6 -5
- package/assets/skills/fimo-studio/references/command-palette.md +0 -1
- package/assets/skills/fimo-studio/references/media-library.md +4 -0
- package/assets/skills/fimo-studio/references/publish-and-deploy.md +1 -1
- package/assets/skills/fimo-studio/references/visual-editing.md +6 -4
- package/dist/cli/bundle.json +1 -1
- package/dist/cli/index.js +26 -41
- package/package.json +8 -8
- package/templates/astro/package.json +4 -3
- package/templates/nextjs/package.json +6 -5
- package/templates/react-router/package.json +5 -5
- package/templates/sveltekit/package.json +4 -3
- package/templates/vite/package.json +7 -6
- package/assets/skills/fimo-cli/references/inbox.md +0 -86
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fimo",
|
|
3
|
-
"version": "2.8.0-staging.
|
|
3
|
+
"version": "2.8.0-staging.6",
|
|
4
4
|
"description": "Fimo CLI - create, deploy, and manage Fimo projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astro-component"
|
|
@@ -194,13 +194,13 @@
|
|
|
194
194
|
"devDependencies": {
|
|
195
195
|
"@clack/core": "^1.2.0",
|
|
196
196
|
"@clack/prompts": "^1.2.0",
|
|
197
|
-
"@fimo/agents-bundle": "2.8.0-staging.
|
|
198
|
-
"@fimo/api-contracts": "2.8.0-staging.
|
|
199
|
-
"@fimo/cli-kit": "2.8.0-staging.
|
|
200
|
-
"@fimo/framework-detect": "2.8.0-staging.
|
|
201
|
-
"@fimo/routes": "2.8.0-staging.
|
|
202
|
-
"@fimo/sdk": "2.8.0-staging.
|
|
203
|
-
"@fimo/tsconfig": "2.8.0-staging.
|
|
197
|
+
"@fimo/agents-bundle": "2.8.0-staging.6",
|
|
198
|
+
"@fimo/api-contracts": "2.8.0-staging.6",
|
|
199
|
+
"@fimo/cli-kit": "2.8.0-staging.6",
|
|
200
|
+
"@fimo/framework-detect": "2.8.0-staging.6",
|
|
201
|
+
"@fimo/routes": "2.8.0-staging.6",
|
|
202
|
+
"@fimo/sdk": "2.8.0-staging.6",
|
|
203
|
+
"@fimo/tsconfig": "2.8.0-staging.6",
|
|
204
204
|
"@types/node": "22.18.6",
|
|
205
205
|
"agent-install": "^0.0.5",
|
|
206
206
|
"astro": "^7.1.6",
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
"check": "astro sync && astro check"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"fimo": "2.8.0-staging.
|
|
13
|
-
"fimo-analytics": "2.8.0-staging.
|
|
14
|
-
"fimo-astro": "2.8.0-staging.
|
|
12
|
+
"fimo": "2.8.0-staging.6",
|
|
13
|
+
"fimo-analytics": "2.8.0-staging.6",
|
|
14
|
+
"fimo-astro": "2.8.0-staging.6",
|
|
15
|
+
"zod": "^4.4.3"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
18
|
"@astrojs/check": "^0.9.10",
|
|
@@ -12,13 +12,14 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@tanstack/react-query": "^5.80.6",
|
|
15
|
-
"fimo": "2.8.0-staging.
|
|
16
|
-
"fimo-analytics": "2.8.0-staging.
|
|
17
|
-
"fimo-next": "2.8.0-staging.
|
|
18
|
-
"fimo-react": "2.8.0-staging.
|
|
15
|
+
"fimo": "2.8.0-staging.6",
|
|
16
|
+
"fimo-analytics": "2.8.0-staging.6",
|
|
17
|
+
"fimo-next": "2.8.0-staging.6",
|
|
18
|
+
"fimo-react": "2.8.0-staging.6",
|
|
19
19
|
"next": "^16.3.3",
|
|
20
20
|
"react": "^19.2.7",
|
|
21
|
-
"react-dom": "^19.2.7"
|
|
21
|
+
"react-dom": "^19.2.7",
|
|
22
|
+
"zod": "^4.4.3"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@types/node": "^24.12.0",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"cn": "0.2.4",
|
|
22
22
|
"date-fns": "^4.1.0",
|
|
23
23
|
"embla-carousel-react": "^8.6.0",
|
|
24
|
-
"fimo": "2.8.0-staging.
|
|
25
|
-
"fimo-analytics": "2.8.0-staging.
|
|
26
|
-
"fimo-react": "2.8.0-staging.
|
|
27
|
-
"fimo-react-router": "2.8.0-staging.
|
|
28
|
-
"fimo-vite": "2.8.0-staging.
|
|
24
|
+
"fimo": "2.8.0-staging.6",
|
|
25
|
+
"fimo-analytics": "2.8.0-staging.6",
|
|
26
|
+
"fimo-react": "2.8.0-staging.6",
|
|
27
|
+
"fimo-react-router": "2.8.0-staging.6",
|
|
28
|
+
"fimo-vite": "2.8.0-staging.6",
|
|
29
29
|
"input-otp": "^1.4.2",
|
|
30
30
|
"isbot": "^5",
|
|
31
31
|
"lucide-react": "^0.577.0",
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
"prepare": "svelte-kit sync"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"fimo": "2.8.0-staging.
|
|
15
|
-
"fimo-analytics": "2.8.0-staging.
|
|
16
|
-
"fimo-sveltekit": "2.8.0-staging.
|
|
14
|
+
"fimo": "2.8.0-staging.6",
|
|
15
|
+
"fimo-analytics": "2.8.0-staging.6",
|
|
16
|
+
"fimo-sveltekit": "2.8.0-staging.6",
|
|
17
|
+
"zod": "^4.4.3"
|
|
17
18
|
},
|
|
18
19
|
"devDependencies": {
|
|
19
20
|
"@sveltejs/kit": "^2.70.2",
|
|
@@ -11,14 +11,15 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@tanstack/react-query": "^5.80.6",
|
|
14
|
-
"fimo": "2.8.0-staging.
|
|
15
|
-
"fimo-analytics": "2.8.0-staging.
|
|
16
|
-
"fimo-react": "2.8.0-staging.
|
|
17
|
-
"fimo-react-router": "2.8.0-staging.
|
|
18
|
-
"fimo-vite": "2.8.0-staging.
|
|
14
|
+
"fimo": "2.8.0-staging.6",
|
|
15
|
+
"fimo-analytics": "2.8.0-staging.6",
|
|
16
|
+
"fimo-react": "2.8.0-staging.6",
|
|
17
|
+
"fimo-react-router": "2.8.0-staging.6",
|
|
18
|
+
"fimo-vite": "2.8.0-staging.6",
|
|
19
19
|
"react": "^19.2.7",
|
|
20
20
|
"react-dom": "^19.2.7",
|
|
21
|
-
"react-router": "^8.3.0"
|
|
21
|
+
"react-router": "^8.3.0",
|
|
22
|
+
"zod": "^4.4.3"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@types/react": "^19.2.14",
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Inbox
|
|
2
|
-
|
|
3
|
-
The Inbox is what a project's agents tell the people on it: a run finished, a
|
|
4
|
-
run left work for review, a merge conflicted, or a run stopped and is waiting
|
|
5
|
-
for a decision. Only the last one can be acted on from the CLI.
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
fimo inbox list # unread first, then read
|
|
9
|
-
fimo inbox list --topic agent_question --unread
|
|
10
|
-
fimo inbox get <notification-id> # the notification, plus the stored form when it is a question
|
|
11
|
-
fimo inbox answer <notification-id> --body '<compact answer json>'
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
A notification id is the only id you ever hold. The question, its thread, the
|
|
15
|
-
run it continues, and the Branch that run kept alive are resolved for you.
|
|
16
|
-
|
|
17
|
-
Use `--project <id>` when there is no local `.fimo/project.json`. `--limit`,
|
|
18
|
-
`--cursor`, and `--all-pages` page the list. `--archived` reads archived items;
|
|
19
|
-
`--unread` stays in the unread stream instead of continuing into read items.
|
|
20
|
-
|
|
21
|
-
## Answering is the person's decision, not yours
|
|
22
|
-
|
|
23
|
-
**Never answer a question on someone's behalf.** A question exists because a run
|
|
24
|
-
needed a human decision it could not make correctly. Answer only what the person
|
|
25
|
-
in front of you explicitly chose.
|
|
26
|
-
|
|
27
|
-
1. `fimo inbox list --topic agent_question --unread --json` to find waiting
|
|
28
|
-
questions, then `fimo inbox get <notification-id> --json` for the one to
|
|
29
|
-
answer. `data.question.form` is the stored form, verbatim.
|
|
30
|
-
2. **Reproduce that form in the interface you are in** — the native form or
|
|
31
|
-
choice UI your harness offers, or a plain enumerated prompt when it offers
|
|
32
|
-
none. Keep the title, the description, the step order, the wording of every
|
|
33
|
-
question, every option label, the recommended option where one is marked,
|
|
34
|
-
image labels and URLs, and each capability's reason. The person is deciding
|
|
35
|
-
on what the agent actually asked, not on your summary of it.
|
|
36
|
-
3. Collect only explicit answers. Do not default a step, infer one from earlier
|
|
37
|
-
conversation, or fill a step the person skipped. If the person already gave a
|
|
38
|
-
complete explicit answer, do not ask again — use what they said.
|
|
39
|
-
4. **Never infer capability approval.** Selecting nothing on a capabilities step
|
|
40
|
-
is a deliberate deny-all, and omitting the step entirely is refused by the
|
|
41
|
-
CLI rather than read as a denial.
|
|
42
|
-
5. Pass their notes through verbatim. The note is the one part of the answer
|
|
43
|
-
only they could write.
|
|
44
|
-
6. Call `fimo inbox answer` once.
|
|
45
|
-
|
|
46
|
-
## The compact answer
|
|
47
|
-
|
|
48
|
-
Keyed by the step ids `inbox get` returned, in any order, one entry per step:
|
|
49
|
-
|
|
50
|
-
```json
|
|
51
|
-
{
|
|
52
|
-
"answers": [
|
|
53
|
-
{ "stepId": "direction", "selected": ["Editorial studio"], "note": "Keep it calm." },
|
|
54
|
-
{ "stepId": "access", "selected": [] },
|
|
55
|
-
{ "stepId": "notes", "note": "Ship on Friday." }
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
- `selected` holds option **labels**, exactly as the form shows them.
|
|
61
|
-
- `note` is free text. A step that offers options may be answered with a note
|
|
62
|
-
alone, with a selection alone, or with both.
|
|
63
|
-
- A written step (`"type": "text"`) is answered with `note` only.
|
|
64
|
-
- A capabilities step needs `selected`, empty or not. `[]` approves none.
|
|
65
|
-
- Every step needs its own entry. Nothing is answered by omission.
|
|
66
|
-
|
|
67
|
-
`--file <path>` and `--stdin` read the same JSON from a file or a pipe.
|
|
68
|
-
|
|
69
|
-
## What the CLI refuses
|
|
70
|
-
|
|
71
|
-
| Code | Why |
|
|
72
|
-
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
73
|
-
| `INBOX_ANSWER_INVALID` | Unknown or missing step, unoffered option, too many selections on a single-select, a written step answered by picking, or a capabilities step with no explicit decision |
|
|
74
|
-
| `INBOX_NOT_A_QUESTION` | The notification is a run outcome, a review, or a conflict — there is nothing to answer |
|
|
75
|
-
| `INBOX_QUESTION_CLOSED` | Already answered, expired, cancelled, or superseded |
|
|
76
|
-
| `INBOX_UNKNOWN_TOPIC` | `--topic` is not one of the four Inbox topics |
|
|
77
|
-
| `INBOX_INVALID_CURSOR` | `--cursor` was not the `nextCursor` from a previous page |
|
|
78
|
-
| `INBOX_NOT_FOUND` | No notification with that id is addressed to you in this project |
|
|
79
|
-
|
|
80
|
-
A question is answered once. Answering it starts exactly one continuation run,
|
|
81
|
-
and re-sending the same answer never starts a second one.
|
|
82
|
-
|
|
83
|
-
## What the CLI does not do
|
|
84
|
-
|
|
85
|
-
Marking read, archiving, restoring, reviewing retained work, and resolving merge
|
|
86
|
-
conflicts happen in the Fimo Inbox UI. `fimo inbox` reads and answers.
|