fimo 2.8.0-staging.5 → 2.8.0-staging.7
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 +3 -3
- package/assets/skills/fimo/SKILL.md +3 -3
- package/assets/skills/fimo-cli/SKILL.md +9 -10
- package/assets/skills/fimo-cli/references/agents.md +9 -8
- package/assets/skills/fimo-cli/references/branches.md +1 -1
- package/assets/skills/fimo-cli/references/credits.md +2 -2
- package/assets/skills/fimo-cli/references/deploy.md +1 -1
- package/assets/skills/fimo-cli/references/describe.md +2 -2
- package/assets/skills/fimo-cli/references/init.md +7 -7
- package/assets/skills/fimo-cli/references/integrations.md +2 -2
- package/assets/skills/fimo-cli/references/invite.md +1 -1
- package/assets/skills/fimo-cli/references/locales.md +1 -1
- package/assets/skills/fimo-cli/references/mcp.md +1 -1
- package/assets/skills/fimo-cli/references/project-vars-and-secrets.md +1 -1
- package/assets/skills/fimo-cli/references/projects.md +3 -3
- package/assets/skills/fimo-cli/references/schedules.md +1 -1
- package/assets/skills/fimo-cli/references/support.md +1 -1
- package/assets/skills/fimo-studio/SKILL.md +8 -8
- package/assets/skills/fimo-studio/references/agents.md +4 -4
- package/assets/skills/fimo-studio/references/ai-chat.md +5 -5
- package/assets/skills/fimo-studio/references/analytics.md +1 -1
- package/assets/skills/fimo-studio/references/billing-and-credits.md +3 -3
- package/assets/skills/fimo-studio/references/cms.md +1 -1
- package/assets/skills/fimo-studio/references/command-palette.md +3 -4
- package/assets/skills/fimo-studio/references/connections.md +9 -9
- package/assets/skills/fimo-studio/references/custom-domains.md +1 -1
- package/assets/skills/fimo-studio/references/drawing-and-wireframing.md +2 -4
- package/assets/skills/fimo-studio/references/media-library.md +4 -0
- package/assets/skills/fimo-studio/references/preview-and-responsive.md +2 -2
- package/assets/skills/fimo-studio/references/project-creation.md +8 -8
- package/assets/skills/fimo-studio/references/publish-and-deploy.md +7 -7
- package/assets/skills/fimo-studio/references/schedules.md +5 -5
- package/assets/skills/fimo-studio/references/sharing-and-collaboration.md +10 -10
- package/assets/skills/fimo-studio/references/version-history.md +4 -4
- package/assets/skills/fimo-studio/references/visual-editing.md +7 -5
- package/assets/skills/fimo-studio/references/webhooks.md +6 -6
- package/dist/cli/bundle.json +1 -1
- package/dist/cli/index.js +64 -79
- package/package.json +12 -12
- package/templates/astro/package.json +4 -3
- package/templates/nextjs/package.json +7 -6
- package/templates/react-router/package.json +5 -5
- package/templates/sveltekit/package.json +4 -3
- package/templates/vite/package.json +7 -6
- package/templates/welcome/manifest.json +4 -4
- package/templates/welcome/template/.fimo/config.json +1 -1
- package/templates/welcome/template/src/pages/SiteContent.tsx +1 -1
- package/templates/welcome/template/src/pages/fallback-content.ts +2 -2
- package/assets/skills/fimo-cli/references/inbox.md +0 -86
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fimo",
|
|
3
|
-
"version": "2.8.0-staging.
|
|
4
|
-
"description": "Fimo CLI - create, deploy, and manage Fimo
|
|
3
|
+
"version": "2.8.0-staging.7",
|
|
4
|
+
"description": "Fimo CLI - create, deploy, and manage Fimo sites",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astro-component"
|
|
7
7
|
],
|
|
@@ -194,25 +194,25 @@
|
|
|
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.7",
|
|
198
|
+
"@fimo/api-contracts": "2.8.0-staging.7",
|
|
199
|
+
"@fimo/cli-kit": "2.8.0-staging.7",
|
|
200
|
+
"@fimo/framework-detect": "2.8.0-staging.7",
|
|
201
|
+
"@fimo/routes": "2.8.0-staging.7",
|
|
202
|
+
"@fimo/sdk": "2.8.0-staging.7",
|
|
203
|
+
"@fimo/tsconfig": "2.8.0-staging.7",
|
|
204
204
|
"@types/node": "22.18.6",
|
|
205
205
|
"agent-install": "^0.0.5",
|
|
206
206
|
"astro": "^7.1.6",
|
|
207
|
-
"better-auth": "1.7.
|
|
207
|
+
"better-auth": "1.7.7",
|
|
208
208
|
"cheerio": "^1.0.0",
|
|
209
209
|
"commander": "^13.1.0",
|
|
210
210
|
"esbuild": "^0.25.10",
|
|
211
211
|
"open": "^10.1.2",
|
|
212
212
|
"tsx": "4.22.4",
|
|
213
213
|
"typescript": "7.0.2",
|
|
214
|
-
"vite": "8.
|
|
215
|
-
"vitest": "5.0.
|
|
214
|
+
"vite": "8.3.3",
|
|
215
|
+
"vitest": "5.0.3",
|
|
216
216
|
"wrangler": "4.145.0",
|
|
217
217
|
"yaml": "2.8.2"
|
|
218
218
|
},
|
|
@@ -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.7",
|
|
13
|
+
"fimo-analytics": "2.8.0-staging.7",
|
|
14
|
+
"fimo-astro": "2.8.0-staging.7",
|
|
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.
|
|
19
|
-
"next": "^16.3.
|
|
15
|
+
"fimo": "2.8.0-staging.7",
|
|
16
|
+
"fimo-analytics": "2.8.0-staging.7",
|
|
17
|
+
"fimo-next": "2.8.0-staging.7",
|
|
18
|
+
"fimo-react": "2.8.0-staging.7",
|
|
19
|
+
"next": "^16.3.8",
|
|
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.7",
|
|
25
|
+
"fimo-analytics": "2.8.0-staging.7",
|
|
26
|
+
"fimo-react": "2.8.0-staging.7",
|
|
27
|
+
"fimo-react-router": "2.8.0-staging.7",
|
|
28
|
+
"fimo-vite": "2.8.0-staging.7",
|
|
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.7",
|
|
15
|
+
"fimo-analytics": "2.8.0-staging.7",
|
|
16
|
+
"fimo-sveltekit": "2.8.0-staging.7",
|
|
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.7",
|
|
15
|
+
"fimo-analytics": "2.8.0-staging.7",
|
|
16
|
+
"fimo-react": "2.8.0-staging.7",
|
|
17
|
+
"fimo-react-router": "2.8.0-staging.7",
|
|
18
|
+
"fimo-vite": "2.8.0-staging.7",
|
|
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",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"content": [
|
|
53
53
|
{
|
|
54
54
|
"type": "text",
|
|
55
|
-
"text": "This is a tutorial
|
|
55
|
+
"text": "This is a tutorial site, made for you to practice."
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"type": "hardBreak"
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"heroImageHint": "Select this image in Edit mode",
|
|
72
72
|
"startLabel": "Start the 5-minute tour",
|
|
73
73
|
"tourTitle": "Try the essentials in five minutes",
|
|
74
|
-
"tourIntro": "Follow these steps in order. Every change is safe to make in this tutorial
|
|
74
|
+
"tourIntro": "Follow these steps in order. Every change is safe to make in this tutorial site.",
|
|
75
75
|
"steps": [
|
|
76
76
|
{
|
|
77
77
|
"number": "1",
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
"content": [
|
|
248
248
|
{
|
|
249
249
|
"type": "text",
|
|
250
|
-
"text": "Every run forks a private copy of your website, does its mission there, and finishes with a report. Safe changes can be applied for you; anything sensitive is kept aside as a proposal you accept or reject, exactly like the welcome guide's run you can open on this
|
|
250
|
+
"text": "Every run forks a private copy of your website, does its mission there, and finishes with a report. Safe changes can be applied for you; anything sensitive is kept aside as a proposal you accept or reject, exactly like the welcome guide's run you can open on this site."
|
|
251
251
|
}
|
|
252
252
|
]
|
|
253
253
|
},
|
|
@@ -446,7 +446,7 @@
|
|
|
446
446
|
"content": [
|
|
447
447
|
{
|
|
448
448
|
"type": "text",
|
|
449
|
-
"text": "Environments group related branches that share deployment settings: a staging space to rehearse in, production for the real thing. As a beginner you only need main plus the branches you create; environments become useful as your
|
|
449
|
+
"text": "Environments group related branches that share deployment settings: a staging space to rehearse in, production for the real thing. As a beginner you only need main plus the branches you create; environments become useful as your site grows."
|
|
450
450
|
}
|
|
451
451
|
]
|
|
452
452
|
},
|
|
@@ -606,7 +606,7 @@ function WhatComesNext({ page, showNudge, onDismiss }: { page: HomePage; showNud
|
|
|
606
606
|
<section className="relative grid border-b border-zinc-200 max-lg:divide-y max-lg:divide-zinc-200 lg:grid-cols-2 lg:divide-x lg:divide-zinc-200">
|
|
607
607
|
{showNudge && (
|
|
608
608
|
<SectionNudge
|
|
609
|
-
text="You are ready. Migrate or create your own website, and enjoy Fimo on a real
|
|
609
|
+
text="You are ready. Migrate or create your own website, and enjoy Fimo on a real site!"
|
|
610
610
|
onDismiss={onDismiss}
|
|
611
611
|
/>
|
|
612
612
|
)}
|
|
@@ -21,7 +21,7 @@ export const FALLBACK_PAGE = {
|
|
|
21
21
|
content: [
|
|
22
22
|
{
|
|
23
23
|
type: 'text',
|
|
24
|
-
text: 'This is a tutorial
|
|
24
|
+
text: 'This is a tutorial site, made for you to practice.',
|
|
25
25
|
},
|
|
26
26
|
{ type: 'hardBreak' },
|
|
27
27
|
{
|
|
@@ -35,7 +35,7 @@ export const FALLBACK_PAGE = {
|
|
|
35
35
|
},
|
|
36
36
|
startLabel: 'Start the 5-minute tour',
|
|
37
37
|
tourTitle: 'Try the essentials in five minutes',
|
|
38
|
-
tourIntro: 'Follow these steps in order. Every change is safe to make in this tutorial
|
|
38
|
+
tourIntro: 'Follow these steps in order. Every change is safe to make in this tutorial site.',
|
|
39
39
|
steps: [
|
|
40
40
|
{
|
|
41
41
|
_key: 'fallback-step-1',
|
|
@@ -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.
|