fimo 2.8.0-staging.8 → 2.8.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/skills/fimo/SKILL.md +0 -1
- package/assets/skills/fimo-cli/SKILL.md +6 -7
- package/assets/skills/fimo-cli/references/assets.md +2 -0
- package/assets/skills/fimo-cli/references/deploy.md +1 -1
- package/assets/skills/fimo-cli/references/init.md +1 -2
- package/assets/skills/fimo-cli/references/integrations/firecrawl.md +1 -41
- package/assets/skills/fimo-cli/references/integrations.md +2 -38
- package/assets/skills/fimo-cli/references/knowledge.md +1 -1
- package/assets/skills/fimo-cli/references/mcp.md +5 -6
- package/assets/skills/fimo-cli/references/preview.md +1 -1
- package/assets/skills/fimo-cli/references/project-vars-and-secrets.md +0 -16
- package/assets/skills/fimo-cli/references/webhooks.md +0 -2
- package/assets/skills/fimo-code/SKILL.md +1 -0
- package/assets/skills/fimo-code/references/assets.md +5 -5
- package/assets/skills/fimo-code/references/design.md +1 -1
- package/assets/skills/fimo-code/references/ui.md +1 -1
- package/assets/skills/fimo-studio/SKILL.md +13 -7
- package/assets/skills/fimo-studio/references/ai-chat.md +15 -2
- package/assets/skills/fimo-studio/references/billing-and-credits.md +4 -6
- package/assets/skills/fimo-studio/references/cms.md +1 -1
- package/assets/skills/fimo-studio/references/command-palette.md +1 -2
- package/assets/skills/fimo-studio/references/connections.md +3 -4
- package/assets/skills/fimo-studio/references/custom-domains.md +2 -2
- package/assets/skills/fimo-studio/references/media-library.md +1 -2
- package/assets/skills/fimo-studio/references/preview-and-responsive.md +4 -9
- package/assets/skills/fimo-studio/references/project-creation.md +24 -6
- package/assets/skills/fimo-studio/references/publish-and-deploy.md +2 -2
- package/assets/skills/fimo-studio/references/schedules.md +2 -3
- package/assets/skills/fimo-studio/references/seo-settings.md +2 -2
- package/assets/skills/fimo-studio/references/sharing-and-collaboration.md +2 -3
- package/assets/skills/fimo-studio/references/visual-editing.md +1 -1
- package/assets/skills/fimo-studio/references/webhooks.md +7 -8
- package/dist/cli/bundle.json +2 -2
- package/dist/cli/index.js +153 -162
- package/dist/runtime/paths/get-fimo-paths.js +2 -24
- package/dist/runtime/project-layout.d.ts +0 -1
- package/dist/runtime/project-layout.js +1 -5
- package/dist/runtime/shared/local-runtime-env.js +2 -14
- package/dist/runtime/templates.d.ts +0 -1
- package/dist/runtime/templates.js +0 -3
- package/package.json +10 -10
- package/release.json +2 -2
- package/templates/astro/.fimo/config.json +0 -14
- package/templates/astro/AGENTS.md +2 -1
- package/templates/astro/_gitignore +3 -0
- package/templates/astro/package.json +3 -3
- package/templates/astro/src/layouts/Base.astro +0 -48
- package/templates/nextjs/AGENTS.md +1 -1
- package/templates/nextjs/_gitignore +3 -0
- package/templates/nextjs/package.json +5 -5
- package/templates/react-router/AGENTS.md +1 -1
- package/templates/react-router/_gitignore +3 -0
- package/templates/react-router/package.json +5 -5
- package/templates/sveltekit/AGENTS.md +1 -0
- package/templates/sveltekit/_gitignore +3 -0
- package/templates/sveltekit/package.json +3 -3
- package/templates/vite/AGENTS.md +2 -0
- package/templates/vite/_gitignore +3 -0
- package/templates/vite/package.json +5 -5
- package/assets/agent-templates/_default/GOAL.md +0 -21
- package/assets/agent-templates/_default/capabilities.yaml +0 -11
- package/assets/agent-templates/_default/config.yaml +0 -13
- package/assets/agent-templates/broken-link-sweeper/GOAL.md +0 -51
- package/assets/agent-templates/broken-link-sweeper/capabilities.yaml +0 -1
- package/assets/agent-templates/broken-link-sweeper/config.yaml +0 -13
- package/assets/agent-templates/content-translator/GOAL.md +0 -33
- package/assets/agent-templates/content-translator/capabilities.yaml +0 -5
- package/assets/agent-templates/content-translator/config.yaml +0 -12
- package/assets/agent-templates/content-translator/scripts/translate-entries.ts +0 -69
- package/assets/agent-templates/post-deploy-check/GOAL.md +0 -23
- package/assets/agent-templates/post-deploy-check/capabilities.yaml +0 -1
- package/assets/agent-templates/post-deploy-check/config.yaml +0 -10
- package/assets/agent-templates/post-deploy-check/scripts/check-logs.ts +0 -39
- package/assets/agent-templates/post-deploy-check/scripts/probe-routes.ts +0 -53
- package/assets/agent-templates/seo-audit/GOAL.md +0 -43
- package/assets/agent-templates/seo-audit/capabilities.yaml +0 -3
- package/assets/agent-templates/seo-audit/config.yaml +0 -14
- package/assets/agent-templates/seo-audit/references/report-template.md +0 -28
- package/assets/agent-templates/seo-audit/references/scoring-methodology.md +0 -30
- package/assets/agent-templates/seo-audit/scripts/analyze-html.ts +0 -82
- package/assets/agent-templates/seo-audit/scripts/fetch-page.ts +0 -39
- package/assets/agent-templates/seo-audit/scripts/list-routes.ts +0 -46
- package/assets/agent-templates/seo-audit/scripts/report.ts +0 -82
- package/assets/agent-templates/seo-audit/scripts/score.ts +0 -131
- package/assets/skills/fimo-cli/references/agents.md +0 -298
- package/assets/skills/fimo-studio/references/agents.md +0 -33
- package/assets/skills/fimo-studio/references/drawing-and-wireframing.md +0 -61
- package/templates/astro/src/components/ProjectOverview.astro +0 -45
- package/templates/astro/src/pages/[locale]/projects/[slug].astro +0 -38
- package/templates/astro/src/pages/[locale]/projects/index.astro +0 -19
- package/templates/astro/src/pages/projects/[slug].astro +0 -31
- package/templates/astro/src/pages/projects/index.astro +0 -13
- package/templates/astro/src/schemas/Project.json +0 -9
- package/templates/astro/src/schemas/Project.ts +0 -29
- package/templates/astro/src/schemas/Project.types.ts +0 -70
- package/templates/astro/src/schemas/SiteSettings.json +0 -10
- package/templates/astro/src/schemas/SiteSettings.ts +0 -31
- package/templates/astro/src/schemas/SiteSettings.types.ts +0 -69
- package/templates/react-router/src/pages/Privacy.tsx +0 -79
- package/templates/react-router/src/pages/Terms.tsx +0 -48
- package/templates/react-router/src/pages/legal/LegalPage.tsx +0 -42
- package/templates/welcome/manifest.json +0 -655
- 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 +0 -12
- package/templates/welcome/template/.fimo/agents/welcome-guide/capabilities.yaml +0 -3
- package/templates/welcome/template/.fimo/agents/welcome-guide/config.yaml +0 -8
- package/templates/welcome/template/.fimo/config.json +0 -52
- package/templates/welcome/template/src/font.css +0 -60
- package/templates/welcome/template/src/pages/ArticleDetail.tsx +0 -104
- package/templates/welcome/template/src/pages/Index.tsx +0 -36
- package/templates/welcome/template/src/pages/SiteContent.tsx +0 -674
- package/templates/welcome/template/src/pages/fallback-content.ts +0 -152
- package/templates/welcome/template/src/routes.ts +0 -9
- package/templates/welcome/template/src/schemas/Article.json +0 -34
- package/templates/welcome/template/src/schemas/Article.ts +0 -54
- package/templates/welcome/template/src/schemas/Article.types.ts +0 -93
- package/templates/welcome/template/src/schemas/Author.json +0 -17
- package/templates/welcome/template/src/schemas/Author.ts +0 -51
- package/templates/welcome/template/src/schemas/Author.types.ts +0 -54
- package/templates/welcome/template/src/schemas/Category.json +0 -17
- package/templates/welcome/template/src/schemas/Category.ts +0 -51
- package/templates/welcome/template/src/schemas/Category.types.ts +0 -54
- package/templates/welcome/template/src/schemas/HomePage.json +0 -110
- package/templates/welcome/template/src/schemas/HomePage.ts +0 -22
- package/templates/welcome/template/src/schemas/HomePage.types.ts +0 -116
|
@@ -38,7 +38,6 @@ Pick by task:
|
|
|
38
38
|
|
|
39
39
|
- Writing code — schemas/forms, generated clients, labels, framework adapters, rendering primitives → `fimo-code`
|
|
40
40
|
- Site creation, local setup, cloning, and CLI workflows — init, push, deploy, sync, labels, domains, analytics → `fimo-cli`
|
|
41
|
-
- Fimo agents — create, configure, validate, deploy, run, or inspect them → `fimo-cli` (`references/agents.md`)
|
|
42
41
|
- AI agent setup — connect Claude Code, Codex, Cursor, or another agent → `fimo-cli` (`references/agent-setup.md`)
|
|
43
42
|
- Remote MCP integrations — add, inspect, search, or run an MCP server → `fimo-cli` (`references/mcp.md`)
|
|
44
43
|
- The Fimo Studio dashboard / web app UI → `fimo-studio`
|
|
@@ -3,13 +3,13 @@ name: fimo-cli
|
|
|
3
3
|
description: >-
|
|
4
4
|
Use the `fimo` CLI to create or operate a Fimo site: content, forms,
|
|
5
5
|
media, labels/locales, deploys, Branches, Environments, domains, analytics,
|
|
6
|
-
integrations,
|
|
6
|
+
integrations, collaboration, accounts, and credits. Also use
|
|
7
7
|
for AI agent or MCP setup and confirmed Fimo platform blockers.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Fimo CLI
|
|
11
11
|
|
|
12
|
-
The `fimo` CLI is the workflow surface for Fimo. Fimo connects content, media, forms, analytics, editing, and hosting to web applications. The CLI handles site creation, content / forms / media / labels / locale workflows, deploys, collaboration, account management,
|
|
12
|
+
The `fimo` CLI is the workflow surface for Fimo. Fimo connects content, media, forms, analytics, editing, and hosting to web applications. The CLI handles site creation, content / forms / media / labels / locale workflows, deploys, collaboration, account management, AI credit inspection, and AI agent setup.
|
|
13
13
|
|
|
14
14
|
This skill describes **what the CLI does and the workflows it drives**. For the package surface used IN code (component props, generated hooks, JSON shapes, code-side rules), load the `fimo-code` skill on demand with `fimo skills get fimo-code`, using the invocation prefix below.
|
|
15
15
|
|
|
@@ -61,6 +61,8 @@ fimo skills install # install the global Fimo skill f
|
|
|
61
61
|
fimo init my-site --org <id> # one-stop setup: sign in, create/link a project, install deps + skills. Use the org **id** from `fimo orgs list`, NOT the slug.
|
|
62
62
|
fimo init my-react-site --framework react-router --org <id> --yes --no-skills # canonical React Router template
|
|
63
63
|
fimo init --project-id <id> my-site # set up a project by ID: scaffold a newly created project or clone existing code
|
|
64
|
+
fimo new my-site --yes --json # create a site without an account; a person claims it within 72 hours. Run `fimo new --instructions` for the full guide
|
|
65
|
+
fimo claim --json # inside a `fimo new` site: the claim link and claim state
|
|
64
66
|
fimo clone # interactively choose an existing project to clone locally
|
|
65
67
|
cd my-site # then load skills on demand: fimo skills get fimo-code
|
|
66
68
|
pnpm dev # run the app locally (use the project's PM: pnpm/npm run/yarn/bun) — your iteration loop
|
|
@@ -101,7 +103,7 @@ Load the matching reference when the user's request fires its trigger. Recipes t
|
|
|
101
103
|
- "Check the site in a browser / is my site accessible / a11y or WCAG check / measure LCP or Web Vitals / why is the page slow / inspect network requests or console errors / Lighthouse score" → `references/site-checks.md`
|
|
102
104
|
- "Schedule a command / cron / nightly publish / recurring checks / `fimo schedules`" → `references/schedules.md`
|
|
103
105
|
- "Set env vars / configure API keys / add project secrets / local `.env.local` / `fimo vars` / `fimo secrets`" → `references/project-vars-and-secrets.md`
|
|
104
|
-
- "React to form submissions / publish changes /
|
|
106
|
+
- "React to form submissions / publish changes / analytics reports / media activity / send events to Resend, Slack, GitHub, Zapier, or an HTTP endpoint / configure or debug outbound webhooks" → `references/webhooks.md`
|
|
105
107
|
- "Enable provider tools / integrations / API key connection for a provider / agent integration access" → `references/integrations.md`
|
|
106
108
|
- "Firecrawl / scrape a public website / competitor research / agent web research" → `references/integrations.md` **+ load `references/integrations/firecrawl.md`**
|
|
107
109
|
- "Check credits / credit balance / can I keep using AI / billing credits / running low / how many credits are left" → `references/credits.md`
|
|
@@ -114,7 +116,6 @@ Load the matching reference when the user's request fires its trigger. Recipes t
|
|
|
114
116
|
- "Modify the URL of the website / change my project's address / connect a custom domain (e.g. blog.example.com) / rename the Fimo-provided `*.fimo.site` subdomain / buy a new domain through Fimo / set up a domain" → `references/domains.md`
|
|
115
117
|
- "Invite a collaborator / add Marc / share with client" → `references/invite.md`
|
|
116
118
|
- "Login / log out / who am I / switch organization" → `references/account.md` — note: switching **org** is `fimo orgs switch`; bare `fimo switch` changes the active **Fimo Branch** (see `references/branches.md`)
|
|
117
|
-
- "Create / scaffold / run / validate an agent / agent bundle / wire or enable its triggers / list agent templates / view agent runs, reports, or logs (`fimo agents *`)" → `references/agents.md`
|
|
118
119
|
- "Install Fimo for my agent / fimo skills install / set up Claude Code, Codex, or Cursor for Fimo" → `references/agent-setup.md`
|
|
119
120
|
- "Add, inspect, search, or run a remote MCP server / use `fimo mcp`" → `references/mcp.md`
|
|
120
121
|
- "Refresh / update installed Fimo skills / fimo skills sync / agent missing the latest Fimo conventions" → `references/agent-setup.md`
|
|
@@ -138,7 +139,6 @@ These fire at specific moments in the project lifecycle. **Surface them proactiv
|
|
|
138
139
|
- **You need the current preview URL but haven't changed code** (opening it, screenshotting it, handing it to another tool, the previous URL expired) → `fimo preview url`, never a no-op `fimo deploy`. See `references/preview.md`.
|
|
139
140
|
- **When the user wants to try something risky / explore a redesign without touching the live site** → suggest a feature Branch: `fimo checkout -b <name>` gives an isolated Branch + DB + preview. Deploy previews there, then `fimo merge` it back and `fimo publish`. See `references/branches.md`.
|
|
140
141
|
- **After completing or safely preserving the user's main work, when a confirmed Fimo platform failure still materially blocks the task after one safe recovery attempt, or a confirmed missing capability blocks completion or forces a fragile or heavily manual workaround** → use the built-in `supportReport` tool. Do not wait for the user to ask and do not stop after only describing the gap. See `references/support.md`.
|
|
141
|
-
- **When a project agent has stopped and is waiting on a person** → a project member answers its question in Studio, on the run's page; the question email links there. The CLI cannot answer it. Never answer on the person's behalf.
|
|
142
142
|
- **After the first successful `fimo deploy`** → suggest `fimo invite` if the project involves multiple people. Typical roles: `edit` for developers/content editors, `view` or `comment` for clients/stakeholders, `full` for project leads. See `references/invite.md`.
|
|
143
143
|
- **After the automatic first-preview deploy on the create-new path, before the project has been published** → if there is no custom domain and the free default `*.fimo.site` slug still looks generated or was never explicitly chosen, offer to find a cleaner free subdomain. It needs no DNS. Never claim one without explicit user confirmation: suggest candidates, let the user choose, then rename it. Choosing the slug does not publish the site; the URL starts resolving only after the first successful `fimo deploy --publish`. Skip this nudge if the user already chose the default slug, attached a custom domain, or declined. See `references/domains.md` § Offer a cleaner default URL before first publish.
|
|
144
144
|
- **When the user wants to modify the URL of their website** → walk through `references/domains.md`. The CLI surface covers renaming the Fimo-provided subdomain (`fimo domains rename-default`, free), attaching a domain they already own (`fimo domains add`, Premium), and buying a new domain through Fimo (`fimo domains buy`, Premium).
|
|
@@ -151,10 +151,9 @@ These fire at specific moments in the project lifecycle. **Surface them proactiv
|
|
|
151
151
|
- **Running `fimo deploy` just to get the current preview URL** — that's a commit + push + sandbox sync when only destination resolution is needed. Use `fimo preview url` instead. See `references/preview.md`.
|
|
152
152
|
- **Using `fimo deploy --publish` casually** — `--publish` makes the site live to the public. Plain `fimo deploy` (preview) is the default. Use `--publish` only when the user says "ship it" / "go live" / "publish".
|
|
153
153
|
- **Bare `fimo init` in a non-interactive shell** — will hang. Always pass `[dir]`, `--no-install` (or `--install`), `--no-skills` (or `--skills`), and `--org`/`--agents` as needed explicitly when scripted.
|
|
154
|
-
- **Hardcoding content / strings / images in code** — that's what schemas, `t()`, and the media library are for. See the `fimo-code` skill's
|
|
154
|
+
- **Hardcoding content / strings / images in code, or committing image and video files** — that's what schemas, `t()`, and the media library are for. See the `fimo-code` skill's non-negotiable boundaries.
|
|
155
155
|
- **Adding another deploy tool**. Fimo handles deploys; don't bolt another platform on.
|
|
156
156
|
- **Committing secrets** — hidden values use `fimo secrets`; public browser-safe values use `fimo vars`. Local env files are ignored and must not become deploy inputs.
|
|
157
157
|
- **Hardcoding tokens in flags** — use the credentials written by `fimo login` (one file per backend at `~/.config/fimo/credentials/<host>-<hash>.json`).
|
|
158
158
|
- **Treating the daily allowance as extra credits** — the allowance section appears only for legacy Premium organizations, and `fimo credits` already includes its spendable credits in "Available now"; it is accounting context, not an amount to add.
|
|
159
159
|
- **Trying to refill credits from the CLI** — `fimo credits` is read-only. Buying/refilling credits belongs in the billing UI for now.
|
|
160
|
-
- **`fimo agents run` to push bundle changes** — it doesn't. The bundle reaches the server through `fimo deploy` (it lives in git, not the DB), and that push to `main` is also what wires the declared triggers. `run` dispatches the _deployed_ version. Deploy first. There is no `activate` command. See `references/agents.md`.
|
|
@@ -7,6 +7,8 @@ This file covers the **CLI workflow** for media that already exists: uploading f
|
|
|
7
7
|
|
|
8
8
|
## Upload a file
|
|
9
9
|
|
|
10
|
+
Every image or video the site uses goes through this upload or a generation task, never into the repository. Run `fimo skills get fimo-code` and read § Non-negotiable boundaries for the rule and its exceptions.
|
|
11
|
+
|
|
10
12
|
```bash
|
|
11
13
|
fimo assets upload ./hero.jpg
|
|
12
14
|
fimo assets upload ./hero.jpg --name "Hero Image" --parent-id "<folder-uuid>"
|
|
@@ -105,7 +105,7 @@ There's nothing special about this — it's the same `fimo deploy` you'd run lat
|
|
|
105
105
|
**Use `--no-restart` when you only touched HMR-safe files:**
|
|
106
106
|
|
|
107
107
|
- Anything under `src/**` (components, pages, hooks, styles)
|
|
108
|
-
-
|
|
108
|
+
- Fixed-path static files under `public/`, such as favicons or `robots.txt` (images and videos belong in the media library, not the repository; see the `fimo-code` skill's non-negotiable boundaries)
|
|
109
109
|
- Content / entries / translations / form definitions (JSON the Fimo runtime hot-loads)
|
|
110
110
|
|
|
111
111
|
**Do NOT use `--no-restart` when you touched any of these — they require a fresh dev server:**
|
|
@@ -111,8 +111,7 @@ fimo link <projectId> --relink
|
|
|
111
111
|
|
|
112
112
|
- The selected project shell: Next.js App Router by default, React Router with `--framework react-router`, a native React SPA with `--framework vite`, Astro with `--framework astro`, or SvelteKit with `--framework sveltekit`
|
|
113
113
|
- `.fimo/project.json` — links this directory to the remote site (read-only after creation)
|
|
114
|
-
- `.fimo/config.json` — project, optional Studio Pages route metadata, locale,
|
|
115
|
-
- `.fimo/agents/` — versioned agent bundles
|
|
114
|
+
- `.fimo/config.json` — project, optional Studio Pages route metadata, locale, and SEO
|
|
116
115
|
- `AGENTS.md` + `CLAUDE.md` — project rules (from the template) read by AGENTS.md-compatible tools and Claude Code. Both point the agent at `fimo skills get` to load the real skills on demand.
|
|
117
116
|
- A git repository with `fimo` as the remote, and — after dependencies install — an initial commit (including the lockfile) plus an initial push
|
|
118
117
|
|
|
@@ -134,45 +134,6 @@ Secrets and API keys are never returned. Do not call Firecrawl directly with an
|
|
|
134
134
|
|
|
135
135
|
For users, describe monitors as website change monitors: create a monitor, list monitors, pause/resume/delete a monitor, check a monitor now, and view recent checks. Keep storage and cleanup mechanics out of user-facing responses.
|
|
136
136
|
|
|
137
|
-
## Agent Access
|
|
138
|
-
|
|
139
|
-
Project-level setup makes Firecrawl available to the project. Add Firecrawl to an agent's `config.yaml` to let that
|
|
140
|
-
agent use it. If you omit `tools`, the agent gets every Firecrawl tool; use a tools map when you want a narrower set.
|
|
141
|
-
|
|
142
|
-
```yaml
|
|
143
|
-
integrations:
|
|
144
|
-
firecrawl:
|
|
145
|
-
enabled: true
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Selective access:
|
|
149
|
-
|
|
150
|
-
```yaml
|
|
151
|
-
integrations:
|
|
152
|
-
firecrawl:
|
|
153
|
-
enabled: true
|
|
154
|
-
tools:
|
|
155
|
-
search: true
|
|
156
|
-
scrape: true
|
|
157
|
-
map: false
|
|
158
|
-
crawl: false
|
|
159
|
-
'monitor.list': true
|
|
160
|
-
'monitor.create': false
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
After editing agent config:
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
fimo validate
|
|
167
|
-
fimo agents integrations seo-researcher
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
For deployed or scheduled agents, deploy the bundle after changing `.fimo/agents/<name>/config.yaml`:
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
fimo deploy
|
|
174
|
-
```
|
|
175
|
-
|
|
176
137
|
## Ideal Agent Path
|
|
177
138
|
|
|
178
139
|
1. Confirm the user wants public web inspection, not private data access.
|
|
@@ -187,8 +148,7 @@ fimo deploy
|
|
|
187
148
|
- `crawl --limit <small>` to read several pages.
|
|
188
149
|
Treat search excerpts as concise evidence for straightforward questions. Scrape the source for full context,
|
|
189
150
|
exact quotations, implementation details, ambiguous claims, or high-stakes verification.
|
|
190
|
-
7.
|
|
191
|
-
8. Keep findings in the agent report or task output; do not write scraped content into source files unless the user asks.
|
|
151
|
+
7. Keep findings in the chat reply or task output; do not write scraped content into source files unless the user asks.
|
|
192
152
|
|
|
193
153
|
## Failure Modes
|
|
194
154
|
|
|
@@ -16,7 +16,7 @@ fimo integrations status firecrawl
|
|
|
16
16
|
|
|
17
17
|
`info` shows supported auth choices, required credentials, tools, and recipes. For a built-in service the only auth choice is `fimo`. `status` shows the project-specific setup state.
|
|
18
18
|
|
|
19
|
-
When running inside an
|
|
19
|
+
When running inside an agent session, `fimo integrations list` shows only the integrations the project has enabled for that session.
|
|
20
20
|
|
|
21
21
|
## Add a remote MCP server
|
|
22
22
|
|
|
@@ -91,40 +91,4 @@ does not change the project default integration setup, and built-in services hav
|
|
|
91
91
|
|
|
92
92
|
Firecrawl `monitor.*` tools monitor websites for changes. `monitor.list` shows the website change monitors available in the current project. Fimo cleans up those monitors when the project is deleted.
|
|
93
93
|
|
|
94
|
-
For Firecrawl-specific recipes
|
|
95
|
-
|
|
96
|
-
## Agent Access Policy
|
|
97
|
-
|
|
98
|
-
Project integrations are enabled at the project level. An agent opts into an integration in
|
|
99
|
-
`.fimo/agents/<name>/config.yaml` (or the legacy root `agents/<name>/config.yaml`):
|
|
100
|
-
|
|
101
|
-
When `tools` is omitted, the agent can use every tool currently exposed by that integration. Add a `tools` map only
|
|
102
|
-
when the agent needs a narrower set:
|
|
103
|
-
|
|
104
|
-
```yaml
|
|
105
|
-
integrations:
|
|
106
|
-
firecrawl:
|
|
107
|
-
enabled: true
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
For a narrower allowlist, add the tools explicitly:
|
|
111
|
-
|
|
112
|
-
```yaml
|
|
113
|
-
integrations:
|
|
114
|
-
firecrawl:
|
|
115
|
-
enabled: true
|
|
116
|
-
tools:
|
|
117
|
-
scrape: true
|
|
118
|
-
crawl: false
|
|
119
|
-
'monitor.list': true
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
If an integration is omitted or disabled, the agent cannot use it. If an explicit `tools` map has no `true` entries, it also grants no tools. With no map, newly available provider tools are included automatically on the next run.
|
|
123
|
-
|
|
124
|
-
Run `fimo validate` after editing agent config to check local shape plus project-level integration setup.
|
|
125
|
-
|
|
126
|
-
Preview one agent's local policy with:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
fimo agents integrations seo-researcher
|
|
130
|
-
```
|
|
94
|
+
For Firecrawl-specific recipes and JSON examples, load `references/integrations/firecrawl.md`.
|
|
@@ -45,4 +45,4 @@ with `projectId`; update accepts `content`.
|
|
|
45
45
|
|
|
46
46
|
Settings also offers **Draft from website**. It runs analysis in the background and returns an editable
|
|
47
47
|
draft for review. Only an explicit **Save** updates shared knowledge; drafting does not grant permission
|
|
48
|
-
to write it.
|
|
48
|
+
to write it.
|
|
@@ -100,10 +100,10 @@ fimo mcp run sentry search_issues --input @request.json
|
|
|
100
100
|
Omit `--input` when the tool takes no arguments. Use inline JSON, a project-relative `@file`, or `--input -` to read JSON
|
|
101
101
|
from stdin.
|
|
102
102
|
|
|
103
|
-
## Studio
|
|
103
|
+
## Studio chat
|
|
104
104
|
|
|
105
|
-
Remote MCP servers remain normal project integrations underneath the focused CLI. Studio chat and
|
|
106
|
-
|
|
105
|
+
Remote MCP servers remain normal project integrations underneath the focused CLI. Studio chat discovers and runs them
|
|
106
|
+
through:
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
109
|
fimo integrations list
|
|
@@ -111,9 +111,8 @@ fimo integrations info mcp_sentry
|
|
|
111
111
|
fimo integrations run mcp_sentry search_issues --input '{"query":"open regressions"}'
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
a direct connection to the remote server.
|
|
114
|
+
Studio receives a frozen snapshot of the integrations enabled when the turn starts. It never receives the underlying
|
|
115
|
+
credential or opens a direct connection to the remote server.
|
|
117
116
|
|
|
118
117
|
## Supported servers
|
|
119
118
|
|
|
@@ -9,7 +9,7 @@ fimo preview url --branch main --json
|
|
|
9
9
|
curl -L "$(fimo preview url)"
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
The command returns the hosted deployment URL in every output mode
|
|
12
|
+
The command returns the hosted deployment URL in every output mode: every live Branch except production owns a hosted build.
|
|
13
13
|
|
|
14
14
|
If the current generation is queued or building, the command waits up to five minutes, polling with a backoff. It stops at once — without waiting — on a state waiting cannot change: a build that failed, and a Branch with no hosted preview (production, or a Branch nothing has changed yet). Every failure returns `PREVIEW_URL_FAILED`; read `error.message` for which one it was and `error.hint` for the next step. Only the timeout is worth retrying.
|
|
15
15
|
|
|
@@ -55,23 +55,7 @@ and the active git branch; hosted preview and production inject it directly.
|
|
|
55
55
|
|
|
56
56
|
Local env files are ignored by git in Fimo sites. They are for local development only; deployment reads project variables from Fimo and injects them into the remote build.
|
|
57
57
|
|
|
58
|
-
## Agent Secrets
|
|
59
|
-
|
|
60
|
-
Agents receive only the secrets they request in their own config.
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
fimo agents secrets add seo-publisher FIRECRAWL_API_KEY
|
|
64
|
-
fimo agents secrets list seo-publisher
|
|
65
|
-
fimo agents secrets remove seo-publisher FIRECRAWL_API_KEY
|
|
66
|
-
fimo agents validate
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
`fimo agents secrets add` edits `.fimo/agents/<name>/config.yaml`. It does not create or rotate the secret value. Use `fimo secrets add` to create the value or `fimo secrets update` to rotate it.
|
|
70
|
-
|
|
71
|
-
`fimo agents validate` checks that required agent secrets exist in the project. A running agent keeps the Branch it started with; the next run reads the deployed agent config again.
|
|
72
|
-
|
|
73
58
|
## Choosing Between Them
|
|
74
59
|
|
|
75
60
|
- If the value can safely be visible in browser code or page source, use `fimo vars add`.
|
|
76
61
|
- If leaking the value would be a problem, use `fimo secrets add`.
|
|
77
|
-
- If an agent needs a secret, first store it with `fimo secrets add`, then request it in that agent config with `fimo agents secrets add`.
|
|
@@ -26,7 +26,6 @@ Run this before writing a custom payload. The list shows supported event types,
|
|
|
26
26
|
|
|
27
27
|
- Forms: `form.submitted`
|
|
28
28
|
- Publish: `publish.started`, `publish.succeeded`, `publish.failed`, `publish.unpublished`
|
|
29
|
-
- Agents: run started/completed/failed/cancelled and review requested/resolved
|
|
30
29
|
- Analytics: `analytics.report_ready`
|
|
31
30
|
- Media: uploaded/updated/deleted
|
|
32
31
|
- Entries: `entry.changed`
|
|
@@ -108,7 +107,6 @@ Available filters are event-specific:
|
|
|
108
107
|
|
|
109
108
|
- `--environments <selector>` for Main Branch (`main`), All Branches (`all`), Production (`production`), Automatic previews (`preview`), or one custom Environment ID; the default is `main`
|
|
110
109
|
- `--form <id>` for `form.submitted`
|
|
111
|
-
- `--agent <name>` for agent events
|
|
112
110
|
- `--media-type <image|video|audio|document|other>` for media events
|
|
113
111
|
- `--action <created|updated|deleted>`, `--content-type <name>`, and `--locale <locale>` for `entry.changed`
|
|
114
112
|
|
|
@@ -90,6 +90,7 @@ For pageview installation or debugging, read [references/analytics.md](reference
|
|
|
90
90
|
## Non-negotiable boundaries
|
|
91
91
|
|
|
92
92
|
- Do not hardcode editor-owned collections, page content, labels, or media in JSX.
|
|
93
|
+
- Do not commit image or video files to the repository (`public/`, `static/`, `src/assets/`, or anywhere else). Upload every image or video you create, download, or receive as a local file with `fimo assets upload` (`fimo assets bulk-upload` for a batch) and reference the returned URL. Media from `fimo image …` and `fimo video …` tasks is already in the media library; use its URL instead of downloading it into the repository. A repository file has no asset ID, cannot be replaced in Studio, skips Fimo image optimization, and is invisible to asset usage checks. Only favicons and app icons (`favicon*`, `apple-touch-icon*`, `apple-icon*`, `android-chrome*`, `mstile*`, `icon*`), framework metadata images (`opengraph-image*`, `twitter-image*`), SVG icons and logos, and `robots.txt` stay in the repository.
|
|
93
94
|
- Do not hand-roll content API fetches when a generated client covers the read.
|
|
94
95
|
- Do not hand-construct `FimoString`, `FimoMedia`, or other tracked values.
|
|
95
96
|
- Do not replace an application's router, locale library, URL policy, or SEO integration merely to add Fimo.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> For the CLI commands (`fimo assets upload`, `fimo image generate`, folder management) and the "when to generate AI images" workflow rules, see **`fimo-cli/references/assets.md`**.
|
|
4
4
|
|
|
5
|
-
This file covers media fields and the Fimo image components.
|
|
5
|
+
This file covers media fields and the Fimo image components. Image and video bytes live in the media library, never in the repository; see `SKILL.md` § Non-negotiable boundaries for the rule and its exceptions.
|
|
6
6
|
|
|
7
7
|
## Media field values
|
|
8
8
|
|
|
@@ -39,10 +39,10 @@ Generated reads wrap each media object in `FimoMedia`. Its `id`, `alt`, `name`,
|
|
|
39
39
|
|
|
40
40
|
Import the primitives from the active framework adapter: `fimo-next` on the Next server, `fimo-next/client` in Next Client Components, `fimo-react` in React Router/Vite, or `fimo/astro/components` in Astro pages.
|
|
41
41
|
|
|
42
|
-
| Asset source
|
|
43
|
-
|
|
|
44
|
-
| Schema `media` field on an entry
|
|
45
|
-
|
|
|
42
|
+
| Asset source | Component | Pass via |
|
|
43
|
+
| ----------------------------------- | --------------------- | ------------------------- |
|
|
44
|
+
| Schema `media` field on an entry | `<Image>` / `<Video>` | `value={post.coverImage}` |
|
|
45
|
+
| Media-library URL referenced inline | `<StaticImage>` | `src="https://..."` |
|
|
46
46
|
|
|
47
47
|
```tsx
|
|
48
48
|
import { Image, StaticImage, Video } from 'fimo-next';
|
|
@@ -124,7 +124,7 @@ Write these into the project's existing theme tokens and reference the tokens fr
|
|
|
124
124
|
- **Treatment:** Full-bleed, contained, overlays, filters
|
|
125
125
|
- **Hero:** Specific direction for hero imagery
|
|
126
126
|
|
|
127
|
-
If the user hasn't supplied images and one is needed, run `fimo image generate --prompt "..."` and reuse the returned `url` or `id`. Run `fimo image generate --help` for current flags. See `references/assets.md`.
|
|
127
|
+
If the user hasn't supplied images and one is needed, run `fimo image generate --prompt "..."` and reuse the returned `url` or `id`. Run `fimo image generate --help` for current flags. Upload any image that exists only as a local file before using it (`SKILL.md` § Non-negotiable boundaries). See `references/assets.md`.
|
|
128
128
|
|
|
129
129
|
### Iconography
|
|
130
130
|
|
|
@@ -46,7 +46,7 @@ Blocks do not change this rule. Every visible nested scalar is source-tracked to
|
|
|
46
46
|
|
|
47
47
|
Do not render those values as `{program.title}` or `{highlight.label}`. That displays text but bypasses the primitive that Studio uses to resolve the exact nested edit target.
|
|
48
48
|
|
|
49
|
-
Use `<StaticImage>` only when the image is deliberately not editor-managed.
|
|
49
|
+
Use `<StaticImage>` only when the image is deliberately not editor-managed. Its `src` is still a media-library URL; see `SKILL.md` § Non-negotiable boundaries.
|
|
50
50
|
|
|
51
51
|
## Wrapper values in JavaScript logic
|
|
52
52
|
|
|
@@ -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, site connections,
|
|
9
|
+
dashboard SEO/domain settings, site connections, 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
|
|
@@ -32,6 +32,15 @@ Use plain, friendly language. Describe what users see, where they click, and wha
|
|
|
32
32
|
|
|
33
33
|
**Always read the relevant reference file before describing any UI feature, button, or panel.** Do not rely on your own knowledge of the interface — it changes frequently. If you are about to mention where something is located or how to access a feature, read the reference first.
|
|
34
34
|
|
|
35
|
+
## Studio layout
|
|
36
|
+
|
|
37
|
+
- **Header (desktop):** the site menu (site name; History is here) and the Branch switcher, then the workspaces: Chats, Getting started, Preview, Content, Assets, Analytics, Settings. Only workspaces the user can access appear. Workspaces that do not fit move into **More**. On the right: Earn free credits, Invite, Clone, Publish, and Merge on a Branch.
|
|
38
|
+
- **Phone:** bottom tabs for Chat, Preview and Settings. Invite, Earn free credits and Clone ("Work on this site locally") move into the site menu.
|
|
39
|
+
- **Settings:** General, Domains, Knowledge, SEO and Languages are listed directly. Models, Environments, Secrets, Schedules, Webhooks and Connections are under **Advanced settings**.
|
|
40
|
+
- **Shortcuts:** Alt+1 Preview, Alt+2 Content, Alt+3 Assets, Alt+5 Settings, Alt+E edit mode, Cmd/Ctrl+K command palette.
|
|
41
|
+
|
|
42
|
+
When a reference says "open X", X can be inside **More** on a narrow window.
|
|
43
|
+
|
|
35
44
|
## Topic index
|
|
36
45
|
|
|
37
46
|
Read the relevant reference file when the user's question matches a topic.
|
|
@@ -47,7 +56,6 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
47
56
|
| AI Chat | references/ai-chat.md | "What can the AI do?", "How do I give context?" |
|
|
48
57
|
| Site Knowledge | references/knowledge.md | "Set brand guidance", "Website goals", "Draft knowledge from the site" |
|
|
49
58
|
| SEO Settings | references/seo-settings.md | "How do I set up SEO?", "Favicon, title, share image" |
|
|
50
|
-
| Agents | references/agents.md | "Run an agent", "Pause an agent", "Next agent run" |
|
|
51
59
|
| Schedules | references/schedules.md | "Recurring commands", "Run history", "Run now" |
|
|
52
60
|
| Webhooks | references/webhooks.md | "React to forms", "Send events to another service" |
|
|
53
61
|
| Connections | references/connections.md | "Connect a service", "Add an MCP server" |
|
|
@@ -57,7 +65,6 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
57
65
|
| Sharing & Collaboration | references/sharing-and-collaboration.md | "How do I share?", "How do I invite someone?" |
|
|
58
66
|
| Site Creation | references/project-creation.md | "How do I start a new site?" |
|
|
59
67
|
| Billing & Credits | references/billing-and-credits.md | "What are credits?", "How do I upgrade?", "How do referrals work?" |
|
|
60
|
-
| Drawing & Wireframing | references/drawing-and-wireframing.md | "How do I sketch my idea?" |
|
|
61
68
|
|
|
62
69
|
## Cross-feature references
|
|
63
70
|
|
|
@@ -67,10 +74,9 @@ Read the relevant reference file when the user's question matches a topic.
|
|
|
67
74
|
| Custom domains | Publishing (must publish first), Billing (premium required) |
|
|
68
75
|
| Adding images | Media Library, AI Chat, Edit Mode |
|
|
69
76
|
| Content/CMS | AI Chat, Media Library |
|
|
70
|
-
| Webhooks | Site secrets, Forms, Publishing
|
|
71
|
-
| Connections | AI Chat,
|
|
72
|
-
|
|
|
73
|
-
| Schedules | Site secrets, Environments, Agents |
|
|
77
|
+
| Webhooks | Site secrets, Forms, Publishing |
|
|
78
|
+
| Connections | AI Chat, Site secrets |
|
|
79
|
+
| Schedules | Site secrets, Environments |
|
|
74
80
|
| Visual changes | Edit Mode (CMS content), AI Chat (layout, styling, and code changes) |
|
|
75
81
|
| Something went wrong | Version History, AI Chat |
|
|
76
82
|
| Working with others | Sharing, Collaboration |
|
|
@@ -4,7 +4,21 @@ Open the **Chats** tab in the site header. On a phone, the Chat tab at the botto
|
|
|
4
4
|
|
|
5
5
|
## Working in Several Chats
|
|
6
6
|
|
|
7
|
-
Chat has its own **Chats** tab in the site header; the tab shows how many chats have unread activity. A site can have several chats, shared by everyone on the site. The left list shows them most recently active first with a status (**Working** with a spinner while replying, **Done** once the reply finished) and their last words; a dot marks unread activity. Select **+** for a new chat (it joins the list when its first message is sent, and its name comes from that message; an empty chat offers starter requests), the search icon to find a chat, the filter icon to show only Working or Done chats, and the list settings for ordering and showing read, unread, or archived chats. The buttons above an open chat (or a right-click on a row) mark it unread, pin, archive, or mute it, for you only
|
|
7
|
+
Chat has its own **Chats** tab in the site header; the tab shows how many chats have unread activity. A site can have several chats, shared by everyone on the site. The left list shows them most recently active first with a status (**Working** with a spinner while replying, **Done** once the reply finished) and their last words; a dot marks unread activity. Select **+** for a new chat (it joins the list when its first message is sent, and its name comes from that message; an empty chat offers starter requests), the search icon to find a chat, the filter icon to show only Working or Done chats, and the list settings for ordering and showing read, unread, or archived chats. The buttons above an open chat (or a right-click on a row) mark it unread, pin, archive, or mute it, for you only. To rename a chat for everyone, double-click its name above the open chat, or right-click its row and select **Rename**; Enter saves and Escape keeps the old name. The settings icon opens the chat's settings, which change its portrait (shape, eyes, mouth, color) and rename it for everyone, hold the same pin, mute and archive switches, and delete it, stopping a running reply first. Each chat has its own messages and context; when you refer to an earlier discussion, Chat searches the site's chats and answers with the messages it found. The open chat is in the page address (`/chats?chat=<id>`), so a link or reload opens the same chat.
|
|
8
|
+
|
|
9
|
+
## Agents
|
|
10
|
+
|
|
11
|
+
Agents and routines appear only when the organization has the agents feature, which is off by default in production. Without it, the **+** above the chat list opens a new chat directly, agent settings have no **Routines**, and existing routines do not run; ask Fimo support to enable it.
|
|
12
|
+
|
|
13
|
+
An agent is a chat with a job: a name and a description that Fimo reads at the start of every reply in that chat. Agents are shared like any chat and are listed as soon as they are created, with an **Agent** tag after the name. The **+** above the chat list is a menu: **New chat** (blank), **New agent** (a name and a description, then the empty agent opens), and under **Agents** Fimo's default agents (**SEO**, **GEO**); a new site starts with both listed, their routines active from the start, and on an older site selecting a default creates the site's chat for it the first time, the same chat every time after. In an agent, the description shows next to its name in the header (one line) and the empty state introduces the agent by name and job (the description's first three lines); a cut description shows whole on hover, or on tap on a phone, and the message box reads **Message <name>**. The agent's settings page has a **Description** field, shared with everyone; empty means none. The filter icon's **Kind** option shows only chats or only agents; search finds an agent by its name.
|
|
14
|
+
|
|
15
|
+
The **SEO** default runs seven routines backed by Studio's built-in `fimo-seo` skill, which checks the site as a browser renders it and fixes at the source: **Technical SEO** (status, redirects, canonicals, sitemap, robots.txt, language, main heading), **Broken links**, **Meta tags** (titles, descriptions, Open Graph, the site's title ending, length in characters and pixels), **Image SEO** (alt text, file names, images over 200 KB), **Hreflang** (only on a site in more than one language) and **SEO monitoring** (changes since its last run, pages moved without a redirect) every day, and **Internal linking** (orphan and deep pages, articles with no link up to a hub or product page or more than eight links) every Monday. A page it changed is left alone for 8 weeks, the time Google takes to show the effect. A fix with one right answer from the page's own words is made without a message (a link only once the new target is checked to be the same content in the same language); a change to what visitors read, which page wins a search, whether a page exists, or a redirect is asked as a decision; prices, legal pages, the robots policy, redirects that carry traffic and page removals are never changed on its own. What a check could not tell (a timeout, a 5xx, a page past the crawl limit) is never acted on: the run retries once, then says the check was incomplete.
|
|
16
|
+
|
|
17
|
+
The **GEO** default runs three routines backed by Studio's built-in `fimo-geo` skill, which shares `fimo-seo`'s crawl and its rule for what a run may change alone: **AI readiness** (llms.txt, the text each page serves before JavaScript, landmarks and heading levels) and **Structured data** (valid JSON-LD; Organization and WebSite, Article, BreadcrumbList; Product and FAQ where they fit) every day, and **AI citation optimization** (a direct answer under each content page's H1, question headings on long pages) every Wednesday. On its own it writes a missing llms.txt and keeps its links in step, adds Organization, WebSite, Article and BreadcrumbList from fields the site already has (never an invented logo, address, author or rating), and fixes landmarks and heading levels without changing words; an opening answer, new headings, FAQ or Product data, and how pages are rendered are asked as decisions; who robots.txt lets crawl, AI crawlers included, prices and claims are never changed, nor reported: asked whether an assistant can read the site, it checks and names the crawlers robots.txt keeps out. Where AI assistants cite the site needs a visibility source; until one is connected there is no routine for it.
|
|
18
|
+
|
|
19
|
+
### Routines
|
|
20
|
+
|
|
21
|
+
A routine is saved instructions an agent runs in a thread of its own, by hand, on a schedule, or when something happens in the project, so each run sees its earlier runs and the agent's chat never fills with its work. The agent creates, changes, runs and deletes its routines from its chat with its `routines` tool: a person asks in the chat ("check the prices every Monday", "run after each publish"), and Studio only shows routines. A trigger is set in words; Fimo checks them and either says when the routine runs or why it cannot follow them and what it can do instead; for what Fimo cannot see as an event (traffic, rankings, errors, other web sites) the agent offers a schedule whose run checks it and stops when there is nothing to do. Fimo follows publishes of the site and content changes on the main branch by content type, action, locale, changed fields, the entry's current values ("price over 100", "status changes to archived") or a yes/no question about what the content says ("mentions Contentful or Sanity"; for "a competitor" it uses the names given or those in the site knowledge, and asks for them otherwise; a run started on an uncertain answer says so), media files uploaded or changed (by name or file type), the site's code changing through a deploy or a merge (by file path glob), another routine of the same agent finishing (optionally with a yes/no question about its report; never its own end), a visitor submitting a form (optionally with a yes/no question about the answers), a form or content type changing, a branch merged into main, a locale added, removed or made the default, a publish of the site failing, and a domain added or removed; comparing a field's old and new values is not supported; what a routine changes, publishes or reports can start the agent's other routines, in chains of any length, each routine at most once per change that started the chain (across every routine that change leads to, so routines never loop or multiply; a person's new change, a run by hand or on a schedule starts a new chain); events that come in while a run is busy wait, then run together in one next run (up to 10), which the Runs list shows as one run with its event count. The agent's settings list its **Routines** as cards (name, cadence such as **Every Monday at 08:00** or **By hand**, next run, an **Active** switch); the default agents come with theirs. A routine's page is read-only: **Instructions** (the task, run on every trigger), **Model** (the model its runs use: Opus 5.5 by default; the agent sets another when asked), **Triggers** (**By hand** with **Run now**, which starts a run right away; **Schedule** and the event trigger, given a short title by Fimo from the words it was set with, each a sentence, shown when set), the **Runs** list (newest first, two lines each: how it ended (**Quiet**, **Sent to agent**, **Asked for a decision**, or **Failed** and **Stopped** in red), when and what started it (**On schedule**, **On event**, or **By hand** with the person's name or **agent** when their message started it), then the first sentence of what it told the agent; select one to open the routine's thread, read-only, at that run), and the **Active** switch in the header (pauses the schedule and the trigger, not **Run now**). Routines report to the agent, never to a person: a run that has something the agent should know writes it to the agent's chat as a message only the agent reads, and the agent takes a turn on it (reports waiting together are read in one turn); a run with nothing to say reports nothing. The agent decides what the team sees: nothing (the chat stays as it was, the row stays read), one short message (several reports folded into one), or a form when a person must decide, and the chat's row reads **Needs you** while that form is open. A person answers the form in the chat; the agent sends the decision to the routine with its `routines` tool and the routine runs again with it. Only the agent answers a routine: its page has no answer box. Quiet runs leave no message: they fold into one line placed where the last run happened among the messages (**N runs since <date>**), counted from the last report the agent answered visibly, and the chat's row reads **Ran <date>** with that count while the newest thing in the chat is a run, the ordinary status and the last words when a message is newer, and **First check <day> <time>** or **No checks scheduled** before the first run. A routine whose runs keep failing or are refused for credits is reported to the agent once per streak, as a message from Fimo. Routine runs use the plan's agent-hours, from each run's start to its end (Studio chats do not); Billing shows the hours used this period, and each run shows its duration and credits. Once the included hours are used, nothing runs (no schedule, event or Run now, which the routines tool reports to the agent); Studio shows **Routines paused** under the chat list and in the agent's settings with the reset date and the button that resumes them sooner (**Upgrade**), and the routine's page says until when. No run lasts longer than 2 hours.
|
|
8
22
|
|
|
9
23
|
## Sending a Message
|
|
10
24
|
|
|
@@ -27,7 +41,6 @@ Give the AI more to work with:
|
|
|
27
41
|
- **Attach Assets** -- browse your media library and attach files.
|
|
28
42
|
- **Attach Entries** -- attach CMS content for the AI to reference.
|
|
29
43
|
- **Upload from Computer** -- upload a file directly. For GLB, self-contained glTF, FBX, OBJ, STL, and PLY models, Fimo renders four views and saves a description so every chat model can understand the attachment. ZIP archives are supported up to 20 MiB; the AI can download and inspect them under `/tmp` in its sandbox while the original stays attached to the conversation.
|
|
30
|
-
- **Draw** -- opens the drawing tool where you can sketch a wireframe or layout idea for the AI to follow.
|
|
31
44
|
- **@ mentions**: Type **@** in the chat to reference specific files, pages, or content inline.
|
|
32
45
|
|
|
33
46
|
## Editing and Regenerating
|
|
@@ -39,7 +39,7 @@ Buying credits is available while a paid plan is effective, including after sche
|
|
|
39
39
|
|
|
40
40
|
## Refilling Credits Automatically
|
|
41
41
|
|
|
42
|
-
Organization billing admins on a paid plan can configure auto-refill from **
|
|
42
|
+
Organization billing admins on a paid plan can configure auto-refill from the organization's **Billing & usage** page:
|
|
43
43
|
|
|
44
44
|
1. Choose the balance threshold that should trigger a refill.
|
|
45
45
|
2. Choose the dollar amount to purchase when the balance crosses that threshold.
|
|
@@ -52,7 +52,7 @@ Turn auto-refill off from the same control. Leaving a paid plan locks automatic-
|
|
|
52
52
|
You can upgrade from two places:
|
|
53
53
|
|
|
54
54
|
- Click **Upgrade** in the credit dropdown.
|
|
55
|
-
- Or
|
|
55
|
+
- Or open **Billing & usage** in your organization.
|
|
56
56
|
|
|
57
57
|
From there:
|
|
58
58
|
|
|
@@ -63,11 +63,9 @@ From there:
|
|
|
63
63
|
|
|
64
64
|
## Extra usage budget
|
|
65
65
|
|
|
66
|
-
Open **Billing & usage**, then **Details** beside public bandwidth. Billing admins on Pay as you go or Pro can edit one **Monthly budget** for extra public bandwidth
|
|
66
|
+
Open **Billing & usage**, then **Details** beside public bandwidth. Billing admins on Pay as you go or Pro can edit one **Monthly budget** for extra public bandwidth. The page shows its cost and **Spent this period**. This budget does not cover AI credit purchases or auto-refill.
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
- Agents shows included hours, usage, extra cost, and the reset date, with a link to the shared budget. Pay as you go includes 3 hours, then $0.75/hour; Pro includes 40 hours, then $0.33/hour.
|
|
70
|
-
- At the budget, additional paid usage stops; remaining included allowances stay usable. Running agents stop at a safe point, so stopping is not instantaneous.
|
|
68
|
+
- At the budget, additional paid usage stops; remaining included allowances stay usable.
|
|
71
69
|
- Disabling extra usage preserves charges already incurred. The budget cannot be lowered below existing extra-usage charges.
|
|
72
70
|
|
|
73
71
|
## Changing or leaving a paid plan
|
|
@@ -13,7 +13,7 @@ Pages is still a pre-release Studio surface. It is visible in development and st
|
|
|
13
13
|
|
|
14
14
|
## Browsing Your Content
|
|
15
15
|
|
|
16
|
-
1.
|
|
16
|
+
1. Open **Content** (the database icon).
|
|
17
17
|
2. Choose **Pages**, **Collections**, or **Singles** in the left sidebar. **Forms** and **Labels & Text** follow them in the same list.
|
|
18
18
|
3. Hover over or focus the info icon beside any item for a short explanation.
|
|
19
19
|
4. Pages shows the site's route tree. Collections and Singles show cards for the schemas in that group.
|
|
@@ -10,9 +10,9 @@ The palette includes the destinations you are allowed to use:
|
|
|
10
10
|
- Preview pages
|
|
11
11
|
- CMS Collections, Singles, Pages, Forms, Labels, and content types
|
|
12
12
|
- Individual page templates and forms
|
|
13
|
-
- Agent runs, definitions, and individual agents
|
|
14
13
|
- Site settings sections, individual schedules and webhooks, connections, and MCP servers
|
|
15
14
|
- Asset folders
|
|
15
|
+
- Chats, including archived ones, and **New chat** (use the **Chats** tab to search only chats)
|
|
16
16
|
|
|
17
17
|
You can also open documentation, feedback, account actions, site history, invitations, and the Publish review flow. Use **Escape** to return from a searchable subpage to the main command list, then press it again to close the palette.
|
|
18
18
|
|
|
@@ -23,7 +23,6 @@ Studio adds commands that are relevant to the page you are viewing. Depending on
|
|
|
23
23
|
- Refreshing Preview or opening it in a new tab
|
|
24
24
|
- Creating a CMS entry or changing the content locale
|
|
25
25
|
- Uploading an asset, creating a folder, or generating an image
|
|
26
|
-
- Running an agent, opening its Preview result, or resolving proposed changes
|
|
27
26
|
- Editing or opening the current CMS page in Preview
|
|
28
27
|
- Running, pausing, resuming, or opening runs for the current schedule
|
|
29
28
|
- Sending a test or opening deliveries for the current webhook
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
# Connections
|
|
2
2
|
|
|
3
3
|
Connections let a site use external services without exposing credentials to editors, chat, or agents. Studio, the
|
|
4
|
-
CLI, and
|
|
4
|
+
CLI, and agent chats all resolve the same project-scoped connection state.
|
|
5
5
|
|
|
6
6
|
## See what is available
|
|
7
7
|
|
|
8
8
|
1. Open the site.
|
|
9
|
-
2. Open **
|
|
10
|
-
3. Choose **Connections**.
|
|
9
|
+
2. Open **Settings** → **Advanced settings** → **Connections**.
|
|
11
10
|
|
|
12
11
|
The page has two groups:
|
|
13
12
|
|
|
@@ -47,6 +46,6 @@ Only organization owners and admins can replace a shared credential. OAuth and m
|
|
|
47
46
|
together.
|
|
48
47
|
|
|
49
48
|
After the server is added, its detail shows the endpoint and the tools Fimo discovered. Only enabled servers become
|
|
50
|
-
available to Studio chat
|
|
49
|
+
available to Studio chat and the Fimo CLI for this site. Agents should discover them with
|
|
51
50
|
`fimo integrations list`, inspect them with `fimo integrations info <integration>`, and run an allowed tool with
|
|
52
51
|
`fimo integrations run <integration> <tool>`.
|
|
@@ -11,8 +11,8 @@ If you're driving Fimo from the terminal, the equivalent commands are `fimo doma
|
|
|
11
11
|
|
|
12
12
|
## Adding a Custom Domain
|
|
13
13
|
|
|
14
|
-
1. Open **Settings
|
|
15
|
-
2.
|
|
14
|
+
1. Open **Settings**.
|
|
15
|
+
2. Select **Domains** (globe icon).
|
|
16
16
|
3. Click the **Add domain** button (+ icon) in the top-right of the panel. (When domain purchase is enabled, a **Buy domain** button with a shopping-cart icon sits next to it.)
|
|
17
17
|
4. A drawer opens. Type or select a domain — you can enter a subdomain or an apex domain. Domains your organization already owns appear in an autocomplete dropdown, and Fimo checks availability live as you type. For an apex domain, a checkbox lets you also redirect it to the `www` subdomain (on by default). Confirm to add it.
|
|
18
18
|
5. A DNS table appears showing the record(s) you need to add. For a **subdomain** it's a single CNAME record:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## Uploading Files
|
|
2
2
|
|
|
3
|
-
1.
|
|
3
|
+
1. Open **Assets** (image icon).
|
|
4
4
|
2. You see a grid view of your files with a folder sidebar on the left.
|
|
5
5
|
3. Click the **Plus (+) dropdown** at the top. It offers three options:
|
|
6
6
|
- **Upload File** -- select files from your computer.
|
|
@@ -58,7 +58,6 @@ There are several ways to share files with the AI or reference them in conversat
|
|
|
58
58
|
- Click the **+** button in the chat and choose **Attach Assets** to browse your media library.
|
|
59
59
|
- Choose **Upload from Computer** to add a new file directly from the chat.
|
|
60
60
|
- Type **@** to reference a specific file inline.
|
|
61
|
-
- **Drag a file** from the media library into the chat.
|
|
62
61
|
- Ask the AI to use a specific image by name (for example, "Use the hero-banner image on the home page").
|
|
63
62
|
|
|
64
63
|
## Bulk Actions
|