fimo 2.2.0-staging.8 → 2.2.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/assets/agent-templates/_default/config.yaml +6 -0
- package/assets/agent-templates/broken-link-sweeper/config.yaml +1 -0
- package/assets/content-templates/shared/types.eta +65 -6
- package/assets/skills/fimo-cli/SKILL.md +5 -3
- package/assets/skills/fimo-cli/references/agents.md +29 -4
- package/assets/skills/fimo-cli/references/assets.md +42 -3
- package/assets/skills/fimo-cli/references/branches.md +9 -8
- package/assets/skills/fimo-cli/references/content.md +4 -4
- package/assets/skills/fimo-cli/references/credits.md +12 -19
- package/assets/skills/fimo-cli/references/deploy.md +8 -8
- package/assets/skills/fimo-cli/references/forms.md +3 -1
- package/assets/skills/fimo-cli/references/history.md +3 -2
- package/assets/skills/fimo-cli/references/inbox.md +86 -0
- package/assets/skills/fimo-cli/references/init.md +7 -6
- package/assets/skills/fimo-cli/references/invite.md +11 -9
- package/assets/skills/fimo-cli/references/labels.md +3 -11
- package/assets/skills/fimo-cli/references/locales.md +5 -3
- package/assets/skills/fimo-cli/references/preview.md +1 -2
- package/assets/skills/fimo-cli/references/projects.md +8 -8
- package/assets/skills/fimo-cli/references/schedules.md +6 -4
- package/assets/skills/fimo-cli/references/webhooks.md +6 -4
- package/assets/skills/fimo-code/references/assets.md +22 -11
- package/assets/skills/fimo-code/references/content/clients.md +15 -1
- package/assets/skills/fimo-code/references/content/schema.md +1 -0
- package/assets/skills/fimo-code/references/frameworks/astro.md +1 -1
- package/assets/skills/fimo-code/references/frameworks/next/app-router.md +12 -1
- package/assets/skills/fimo-code/references/frameworks/next/locales.md +2 -2
- package/assets/skills/fimo-code/references/frameworks/next.md +1 -1
- package/assets/skills/fimo-code/references/locales.md +4 -2
- package/assets/skills/fimo-migration/SKILL.md +54 -16
- package/assets/skills/fimo-migration/references/frameworks/nextjs.md +8 -0
- package/assets/skills/fimo-migration/references/media.md +11 -0
- package/assets/skills/fimo-migration/references/qa.md +30 -4
- package/assets/skills/fimo-migration/references/questions-and-improvements.md +188 -0
- package/assets/skills/fimo-migration/references/workers/content-planner.md +8 -3
- package/assets/skills/fimo-migration/references/workers/validator.md +20 -6
- package/assets/skills/fimo-migration/references/workers.md +17 -6
- package/assets/skills/fimo-migration/references/workflow.md +36 -6
- package/assets/skills/fimo-studio/SKILL.md +3 -1
- package/assets/skills/fimo-studio/references/agents.md +25 -0
- package/assets/skills/fimo-studio/references/ai-chat.md +1 -2
- package/assets/skills/fimo-studio/references/billing-and-credits.md +14 -7
- package/assets/skills/fimo-studio/references/visual-editing.md +9 -1
- package/assets/skills/fimo-studio/references/webhooks.md +1 -1
- package/dist/cli/bundle.json +2 -2
- package/dist/cli/index.js +210 -179
- package/dist/runtime/content/client/collection-core.js +3 -2
- package/dist/runtime/content/client/core-types.d.ts +4 -3
- package/dist/runtime/content/client/internal.d.ts +2 -0
- package/dist/runtime/content/client/internal.js +54 -25
- package/dist/runtime/content/client/singleton-core.js +2 -1
- package/dist/runtime/content/index.d.ts +1 -1
- package/dist/runtime/content/index.js +1 -1
- package/dist/runtime/content/serialization.d.ts +4 -3
- package/dist/runtime/content/serialization.js +4 -3
- package/dist/runtime/primitives/lib/index.d.ts +1 -1
- package/dist/runtime/primitives/lib/index.js +1 -1
- package/dist/runtime/primitives/lib/primitives.d.ts +39 -12
- package/dist/runtime/primitives/lib/primitives.js +83 -17
- package/dist/runtime/primitives/lib/template.js +2 -2
- package/dist/runtime/shared/local-runtime-env.d.ts +2 -2
- package/dist/runtime/shared/local-runtime-env.js +14 -9
- package/dist/runtime/templates.d.ts +9 -2
- package/dist/runtime/templates.js +36 -7
- package/dist/scripts/validate-schemas.js +10 -15
- package/package.json +10 -8
- package/release.json +2 -2
- package/templates/astro/AGENTS.md +1 -1
- package/templates/astro/package.json +2 -2
- package/templates/nextjs/AGENTS.md +2 -2
- package/templates/nextjs/package.json +3 -3
- package/templates/nextjs/src/app/layout.tsx +4 -1
- package/templates/react-router/AGENTS.md +2 -2
- package/templates/react-router/package.json +4 -4
- package/templates/sveltekit/AGENTS.md +1 -1
- package/templates/sveltekit/package.json +2 -2
- package/templates/vite/AGENTS.md +5 -1
- package/templates/vite/package.json +4 -4
- package/templates/welcome/manifest.json +655 -0
- package/templates/welcome/media/analytics-overview.avif +0 -0
- package/templates/welcome/media/autonomous-loop.avif +0 -0
- package/templates/welcome/media/editable-preview.avif +0 -0
- package/templates/welcome/media/media-library.avif +0 -0
- package/templates/welcome/media/slack-teams.avif +0 -0
- package/templates/welcome/template/.fimo/agents/welcome-guide/GOAL.md +12 -0
- package/templates/welcome/template/.fimo/agents/welcome-guide/capabilities.yaml +3 -0
- package/templates/welcome/template/.fimo/agents/welcome-guide/config.yaml +8 -0
- package/templates/welcome/template/.fimo/config.json +53 -0
- package/templates/welcome/template/src/font.css +60 -0
- package/templates/welcome/template/src/pages/ArticleDetail.tsx +104 -0
- package/templates/welcome/template/src/pages/Index.tsx +36 -0
- package/templates/welcome/template/src/pages/SiteContent.tsx +674 -0
- package/templates/welcome/template/src/pages/fallback-content.ts +152 -0
- package/templates/welcome/template/src/routes.ts +9 -0
- package/templates/welcome/template/src/schemas/Article.json +34 -0
- package/templates/welcome/template/src/schemas/Article.ts +54 -0
- package/templates/welcome/template/src/schemas/Article.types.ts +93 -0
- package/templates/welcome/template/src/schemas/Author.json +17 -0
- package/templates/welcome/template/src/schemas/Author.ts +51 -0
- package/templates/welcome/template/src/schemas/Author.types.ts +54 -0
- package/templates/welcome/template/src/schemas/Category.json +17 -0
- package/templates/welcome/template/src/schemas/Category.ts +51 -0
- package/templates/welcome/template/src/schemas/Category.types.ts +54 -0
- package/templates/welcome/template/src/schemas/HomePage.json +110 -0
- package/templates/welcome/template/src/schemas/HomePage.ts +22 -0
- package/templates/welcome/template/src/schemas/HomePage.types.ts +116 -0
|
@@ -4,6 +4,15 @@ Use this as the phase contract for a complete migration. The coordinator and
|
|
|
4
4
|
workers communicate in plain text. JSON is used only for Fimo schemas and the
|
|
5
5
|
content payloads that the data-plane commands import.
|
|
6
6
|
|
|
7
|
+
## Preflight: inspect and ask
|
|
8
|
+
|
|
9
|
+
Before target initialization or any other write, inspect the source read-only
|
|
10
|
+
and follow `references/questions-and-improvements.md`. Use the coding agent's
|
|
11
|
+
native structured-question UI to ask one stacked batch for integration,
|
|
12
|
+
environment, framework, and ownership decisions that the source cannot settle.
|
|
13
|
+
Never move environment values or credentials without explicit consent. Do not
|
|
14
|
+
ask a generic optimization question.
|
|
15
|
+
|
|
7
16
|
## Phase 0: Initialize the target
|
|
8
17
|
|
|
9
18
|
1. Confirm the target path. The target is a separate directory; the source
|
|
@@ -12,6 +21,9 @@ content payloads that the data-plane commands import.
|
|
|
12
21
|
- URL migration: `fimo migrate init <source-url> <target-dir> --framework <framework>`
|
|
13
22
|
- link an existing project: `fimo migrate init <target-dir> --project-id <projectId> --framework <framework>`
|
|
14
23
|
- create a project: `fimo migrate init <target-dir> --org <organizationId> --framework <framework>`
|
|
24
|
+
- add `--source-platform <platform>` when the source platform is known
|
|
25
|
+
(webflow, framer, squarespace, wix, carrd, wordpress, nextjs, astro,
|
|
26
|
+
react-router, other); URL crawls detect it themselves.
|
|
15
27
|
Use the detected source framework for source-backed migrations. A framework
|
|
16
28
|
conversion requires an explicit user choice; URL-only and rebuild
|
|
17
29
|
migrations ask the user which framework to use. Never choose a framework by
|
|
@@ -20,9 +32,15 @@ content payloads that the data-plane commands import.
|
|
|
20
32
|
3. Inspect the target's real `package.json`, `.fimo/config.json`, framework config, and route
|
|
21
33
|
directories. They are the authority for paths. Do not infer an app root
|
|
22
34
|
from a skill example and do not create a second `app/` or `src/app/` tree.
|
|
23
|
-
4.
|
|
35
|
+
4. Verify dependency provenance before workers start. A project created by a
|
|
36
|
+
published CLI pins that exact CLI release and matching companion packages.
|
|
37
|
+
A local source-checkout project uses the checkout-local CLI. Stop when the
|
|
38
|
+
target records an absolute package-manager cache path, an unapproved
|
|
39
|
+
`latest`, or a CLI and API from different runtime channels; do not let the
|
|
40
|
+
producer repair release setup inside the migration.
|
|
41
|
+
5. If the target is non-empty and not a Fimo project, stop and ask for a target
|
|
24
42
|
path; do not overlay a template on top of it.
|
|
25
|
-
|
|
43
|
+
6. Keep source material in `.fimo/migration/source` or another explicit source
|
|
26
44
|
location. Do not copy source files over the initialized target root.
|
|
27
45
|
|
|
28
46
|
Write a short `.fimo/migration/migration-plan.md` containing the source
|
|
@@ -46,8 +64,10 @@ Classify the available evidence:
|
|
|
46
64
|
For private APIs or CMSs, ask for a user-provided export or a narrowly scoped
|
|
47
65
|
server-side credential. Never recover credentials from browser bundles or copy
|
|
48
66
|
them into migration artifacts. If the source API URL or access is missing or
|
|
49
|
-
unreachable, stop and ask
|
|
50
|
-
|
|
67
|
+
unreachable, stop and ask whether to use scoped access, reconstruct only the
|
|
68
|
+
selected published routes from the public site, or migrate code without the CMS
|
|
69
|
+
records. Continue with public reconstruction only after that explicit choice,
|
|
70
|
+
and record everything the rendered site cannot reveal.
|
|
51
71
|
|
|
52
72
|
For API-backed content, trace active clients, endpoints, frontend types, and
|
|
53
73
|
consumers first. Prefer backend source schemas; otherwise use public OpenAPI,
|
|
@@ -143,12 +163,22 @@ one generic static shell. Apply the matching framework reference before
|
|
|
143
163
|
disposing of provider-specific rules; redirects, headers, feeds, metadata,
|
|
144
164
|
forms, and freshness behavior are observable contracts.
|
|
145
165
|
|
|
166
|
+
When local or bundled content becomes Fimo-backed, follow the content-delivery
|
|
167
|
+
contract in `references/questions-and-improvements.md`. Preserve build-time or
|
|
168
|
+
server rendering, direct lookups, bounded reads, request parallelism, and edit
|
|
169
|
+
freshness. A new browser waterfall, repeated full-list read, avoidable
|
|
170
|
+
sequential request chain, or stale edit is a migration regression.
|
|
171
|
+
|
|
146
172
|
## Phase 6: Fan in, validate, and report
|
|
147
173
|
|
|
148
174
|
Workers return the plain-text receipt defined in `references/workers.md`.
|
|
149
175
|
The coordinator checks those claims against the diff, source, CLI read-back,
|
|
150
|
-
build, and rendered routes. Then
|
|
151
|
-
`references/workers/validator.md
|
|
176
|
+
build, and rendered routes. Then it runs the read-only validation wave from
|
|
177
|
+
`references/workers/validator.md`, passing the accepted scope and deliberate
|
|
178
|
+
user-approved differences as task context; a worker saying "done" is not
|
|
179
|
+
evidence.
|
|
180
|
+
Collect the complete finding set before assigning repairs. Run disjoint repair
|
|
181
|
+
owners together, wait for all repairs, and rerun one central validation wave.
|
|
152
182
|
|
|
153
183
|
Write `.fimo/migration/migration-report.md` with route/content/media/form/SEO
|
|
154
184
|
coverage, import counts, worker timings, unresolved items, and next actions.
|
|
@@ -6,7 +6,7 @@ description: >-
|
|
|
6
6
|
Triggers: "in Fimo Studio", "in the dashboard", "in the web app",
|
|
7
7
|
"how do I X in the UI", or screenshots of the dashboard. Topics
|
|
8
8
|
covered: dashboard content and CMS, publishing from the dashboard,
|
|
9
|
-
dashboard SEO/domain settings, project connections, schedules and run history, outbound webhooks,
|
|
9
|
+
dashboard SEO/domain settings, project connections, agents, schedules and run history, outbound webhooks,
|
|
10
10
|
visual editing, version history UI, dashboard sharing/billing, dashboard chat,
|
|
11
11
|
and the command palette. Never describe
|
|
12
12
|
UI locations, buttons, or panels from memory — always read the relevant
|
|
@@ -39,6 +39,7 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
39
39
|
| AI Chat | references/ai-chat.md | "What can the AI do?", "How do I give context?" |
|
|
40
40
|
| Code Editor | references/code-editor.md | "How do I edit code?", "Where are my files?" |
|
|
41
41
|
| SEO Settings | references/seo-settings.md | "How do I set up SEO?", "Favicon, title, share image" |
|
|
42
|
+
| Agents | references/agents.md | "Run an agent", "Pause an agent", "Next agent run" |
|
|
42
43
|
| Schedules | references/schedules.md | "Recurring commands", "Run history", "Run now" |
|
|
43
44
|
| Webhooks | references/webhooks.md | "React to forms", "Send events to another service" |
|
|
44
45
|
| Connections | references/connections.md | "Connect a service", "Add an MCP server" |
|
|
@@ -60,6 +61,7 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
60
61
|
| Content/CMS | AI Chat, Media Library |
|
|
61
62
|
| Webhooks | Project secrets, Forms, Publishing, Agents |
|
|
62
63
|
| Connections | AI Chat, Agents, Project secrets |
|
|
64
|
+
| Agents | Connections, Project secrets, Branches |
|
|
63
65
|
| Schedules | Project secrets, Environments, Agents |
|
|
64
66
|
| Visual changes | Edit Mode (quick tweaks), AI Chat (bigger changes), Code Editor (full control) |
|
|
65
67
|
| Something went wrong | Version History, AI Chat |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Agents
|
|
2
|
+
|
|
3
|
+
Project agents are versioned bundles from the project's repository. Studio lets project members inspect their configuration and run history, while project managers can start, stop, and resume them.
|
|
4
|
+
|
|
5
|
+
## Open an agent
|
|
6
|
+
|
|
7
|
+
1. Open the project and choose **Agents**.
|
|
8
|
+
2. Select **Agents** again to see the available bundles.
|
|
9
|
+
3. Choose an agent to open its **Runs** and **Settings** tabs.
|
|
10
|
+
|
|
11
|
+
When the agent has a live schedule, its next run appears first in **Runs**, marked **Scheduled**. The row uses **Next** for its projected ID, a relative date such as **Tomorrow at 11:00 AM**, and **—** for changes and duration until it starts. **Settings** shows the bundle's declared capabilities and trigger wiring; it is read-only because the repository remains the source of truth.
|
|
12
|
+
|
|
13
|
+
## Run, stop, or resume
|
|
14
|
+
|
|
15
|
+
Choose **Run** to start an agent whose manual trigger is live.
|
|
16
|
+
|
|
17
|
+
Choose **Stop** to pause every future trigger and stop planned or running work. Studio asks for confirmation and explains that the bundle, trigger configuration, model, capabilities, and other settings are preserved.
|
|
18
|
+
|
|
19
|
+
A stopped agent shows **Paused** in the header. **Resume** makes the same triggers live again with their previous settings.
|
|
20
|
+
|
|
21
|
+
Only project managers see Run, Stop, and Resume. Other project members can still see schedule timing, status, settings, and run history.
|
|
22
|
+
|
|
23
|
+
## Inspect runs
|
|
24
|
+
|
|
25
|
+
Open **Runs** on an agent to see only that bundle's history. Select a run to read its status, report, captured changes, and any question or review state that needs attention.
|
|
@@ -13,7 +13,7 @@ On desktop, the AI chat opens docked on the left by default. You can make it flo
|
|
|
13
13
|
|
|
14
14
|
The AI can place choices, cards, tables, images, and contextual actions directly in its reply. Optional suggestions do not interrupt the conversation.
|
|
15
15
|
|
|
16
|
-
When the AI needs an answer before it can continue, it
|
|
16
|
+
When the AI needs an answer before it can continue, it pins a form directly above the message box and waits for your response. The form stays there while you scroll the conversation; the message that asked shows **Waiting for your answer...** in its place in the history. Select **Minimize** to fold the form to one line without losing your answers, then select that line to reopen it. **Submit** sends only the completed form and leaves anything typed in the message box unsent. Sending from the message box includes any selections already made in the form with your message; with no selections, it is an ordinary reply. A form with many steps scrolls inside its own area, and its **Next** / **Submit** buttons stay in view.
|
|
17
17
|
|
|
18
18
|
## Attaching Context
|
|
19
19
|
|
|
@@ -60,7 +60,6 @@ The AI runs on credits. You can see your balance by clicking the **coin icon** n
|
|
|
60
60
|
|
|
61
61
|
Clicking it opens a breakdown showing:
|
|
62
62
|
|
|
63
|
-
- **Daily free credits** that reset each day.
|
|
64
63
|
- **Monthly credits** included with your plan.
|
|
65
64
|
- **Purchased credits** you bought separately.
|
|
66
65
|
- **Earned credits** from referrals or promotions.
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
## Credit Types
|
|
2
2
|
|
|
3
|
-
Fimo uses credits for AI-powered features. There are
|
|
3
|
+
Fimo uses credits for AI-powered features. There are three kinds:
|
|
4
4
|
|
|
5
|
-
- **
|
|
6
|
-
- **Monthly credits** -- a larger pool that comes with your plan. Resets at the start of each billing cycle.
|
|
5
|
+
- **Monthly credits** -- the pool that comes with your plan. Resets at the start of each billing cycle.
|
|
7
6
|
- **Purchased credits** -- bought with real money. These do not expire and stay in your account until you use them.
|
|
8
7
|
- **Awarded credits** -- gained through referrals or promotions. These also do not expire.
|
|
9
8
|
|
|
10
|
-
Credits are consumed in order:
|
|
9
|
+
Credits are consumed in order: monthly first, then awarded, then purchased.
|
|
11
10
|
|
|
12
11
|
## Checking Your Balance
|
|
13
12
|
|
|
@@ -16,11 +15,11 @@ Look for the **coin icon with a number** near the chat send button. That number
|
|
|
16
15
|
- Click it to open a detailed breakdown showing how many credits you have in each category.
|
|
17
16
|
- When your balance is low, opening that breakdown shows an alert-triangle warning ("No credits left" or "_N_ credits left") at the bottom.
|
|
18
17
|
|
|
19
|
-
From a linked project directory, `fimo credits` shows the same organization balance in the CLI. Its "Available now" total already includes the visible buckets
|
|
18
|
+
From a linked project directory, `fimo credits` shows the same organization balance in the CLI. Its "Available now" total already includes the visible buckets.
|
|
20
19
|
|
|
21
20
|
## Buying More Credits
|
|
22
21
|
|
|
23
|
-
Buying credits is available on
|
|
22
|
+
Buying credits is available on paid plans, since it charges the payment method already on file.
|
|
24
23
|
|
|
25
24
|
1. Click the credit display near the chat input.
|
|
26
25
|
2. Click **Buy credits**.
|
|
@@ -30,7 +29,7 @@ Buying credits is available on the **Premium** plan, since it charges the paymen
|
|
|
30
29
|
|
|
31
30
|
## Refilling Credits Automatically
|
|
32
31
|
|
|
33
|
-
Organization billing admins on
|
|
32
|
+
Organization billing admins on a paid plan can configure auto-refill from **Settings > Billing**:
|
|
34
33
|
|
|
35
34
|
1. Choose the balance threshold that should trigger a refill.
|
|
36
35
|
2. Choose the dollar amount to purchase when the balance crosses that threshold.
|
|
@@ -52,6 +51,14 @@ From there:
|
|
|
52
51
|
3. Pick a plan and complete checkout.
|
|
53
52
|
4. Your new monthly credit pool is available right away.
|
|
54
53
|
|
|
54
|
+
## Changing or leaving a paid plan
|
|
55
|
+
|
|
56
|
+
- Free to Pay as you go or Pro, and Pay as you go to Pro, use checkout and take effect after payment succeeds.
|
|
57
|
+
- Pro to Pay as you go or Free takes effect at the end of the current billing period. Billing shows the destination and effective date until then.
|
|
58
|
+
- Choosing the current plan again before that date cancels the scheduled change.
|
|
59
|
+
- Pay as you go requires an active payment method. Removing its only valid card returns the organization to Free immediately.
|
|
60
|
+
- A failed Pro renewal follows the payment-recovery flow. It never silently changes the organization to Pay as you go.
|
|
61
|
+
|
|
55
62
|
## Legacy plan transitions
|
|
56
63
|
|
|
57
64
|
Some organizations that already have Premium may see a **Plan transition**
|
|
@@ -8,7 +8,15 @@ Once in edit mode, click on any element in the preview -- text, buttons, images,
|
|
|
8
8
|
|
|
9
9
|
### Editing Content
|
|
10
10
|
|
|
11
|
-
For text elements, the side panel
|
|
11
|
+
For text elements, the side panel opens the selected field immediately with its current value. This covers CMS-managed content, hardcoded text, and hardcoded images. Changes save automatically, and the preview updates as you type.
|
|
12
|
+
|
|
13
|
+
For CMS content, choose **All fields** to open the complete entry form. Studio keeps the content type's field order, scrolls to the field you selected, and focuses it in place. Loading appears only while Studio fetches this additional entry data or moves to another entry.
|
|
14
|
+
|
|
15
|
+
### References and Components
|
|
16
|
+
|
|
17
|
+
Selecting a field rendered from a referenced entry edits that entry. For example, selecting an author's name opens the Author entry, not the Post relation that links to it. The header shows the relation path. Select the owning entry in that path to return to its complete form with the relation field focused; use that relation field to open, replace, or clear the linked entry.
|
|
18
|
+
|
|
19
|
+
Selecting a field inside a component focuses that nested field. Choose **All fields** to see it in the complete entry form without moving it out of schema order. The shared CMS form provides the existing add, duplicate, remove, and reorder controls for repeatable components and blocks.
|
|
12
20
|
|
|
13
21
|
### Editing Styles
|
|
14
22
|
|
|
@@ -17,7 +17,7 @@ Only project members with Full Access can see Webhooks in Settings or manage its
|
|
|
17
17
|
|
|
18
18
|
The event groups are Entries, Forms, Publish, Agents, Analytics, Media, Domains, Labels, Locales, and Environments. Webhooks belong to the project, with up to 20 configurations. Choose the Main Branch, All Branches, Production, Preview, or one custom Environment. Main Branch is the default.
|
|
19
19
|
|
|
20
|
-
Entry webhooks
|
|
20
|
+
Entry webhooks send one delivery per committed write. A bulk edit or environment merge may contain a bounded batch, and wider changes split into separately delivered batches.
|
|
21
21
|
|
|
22
22
|
## Configure the request
|
|
23
23
|
|
package/dist/cli/bundle.json
CHANGED