fimo 2.9.0-staging.5 → 2.9.0-staging.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -100,7 +100,7 @@ Load the matching reference when the user's request fires its trigger. Recipes t
100
100
  - "Deploy / publish / go live / push my changes" → `references/deploy.md`
101
101
  - "Add a redirect / security headers / CSP / HSTS / clean URLs / trailing slash" → `references/hosting.md`
102
102
  - "Get the preview URL / open the preview / what's the URL for this Branch / refresh the preview link / I just want to see the site / the preview URL stopped working" → `references/preview.md`
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`
103
+ - "Check the site in a browser / SEO check / broken links / missing titles, descriptions or alt text / `fimo site check` / 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`
104
104
  - "Schedule a command / cron / nightly publish / recurring checks / `fimo schedules`" → `references/schedules.md`
105
105
  - "Set env vars / configure API keys / add project secrets / local `.env.local` / `fimo vars` / `fimo secrets`" → `references/project-vars-and-secrets.md`
106
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`
@@ -24,6 +24,9 @@ URL can describe the live version, but one synthetic run is not field data.
24
24
 
25
25
  Inspect the available tools and skills before choosing a method.
26
26
 
27
+ - For SEO, links, images, structured data or AI readiness, start with
28
+ `fimo site check` (below): it picks the target and reports findings.
29
+
27
30
  - If `agent-browser` is available, load its skill and version-matched `core`
28
31
  guidance before using it.
29
32
  - Otherwise use equivalent browser automation, accessibility, HTTP, network,
@@ -35,6 +38,39 @@ Inspect the available tools and skills before choosing a method.
35
38
  own guidance and name the target. If it does not, report that limitation and
36
39
  use only measurements that can actually run.
37
40
 
41
+ ## Check pages with `fimo site check`
42
+
43
+ `fimo site check` reads pages of the current Branch's hosted preview over HTTP
44
+ and reports findings by topic. Name the pages a change touches, or pass `--all`
45
+ for the whole site: the home page, the sitemap, llms.txt and every page they
46
+ link to, at most 300 pages.
47
+
48
+ ```bash
49
+ fimo site check / /pricing --json # named pages, every topic
50
+ fimo site check /blog/my-post --topic meta-tags # one topic
51
+ fimo site check --all --branch main # every page of main's hosted preview
52
+ fimo site check /about --browser --topic accessibility,mobile
53
+ fimo site check / --url http://localhost:3000 # another address, such as your dev server
54
+ fimo site links /pricing # each link on the page and its target's status
55
+ ```
56
+
57
+ - Name at most 50 pages per run. Paths, bare names and full URLs all work.
58
+ - Topics: `technical`, `meta-tags`, `broken-links`, `image-seo`,
59
+ `internal-linking`, `hreflang`, `ai-readiness`, `structured-data`,
60
+ `citation`, `lifecycle`, `refresh`, `accessibility`, `mobile`, `consent`,
61
+ `privacy`. Without `--topic`, every topic runs.
62
+ - `--browser` renders in a real browser (needs `agent-browser`). Use it for
63
+ `accessibility`, `mobile`, `consent` and `privacy`; the other topics read
64
+ HTML.
65
+ - The target is the Branch's hosted preview. While it builds, the command
66
+ waits up to 90 seconds. `prod` has no preview: check `--branch main`, or the
67
+ published address with `--url`.
68
+ - Findings that compare pages (shared titles, title shape, pages nothing links
69
+ to, pages missing from the sitemap) need `--all`.
70
+ - Each finding is `auto` (one right fix), `suggest` (a person decides) or
71
+ `note`. Read `data.output` in `--json` mode. Lines marked "could not tell"
72
+ are not clean: say what could not be checked.
73
+
38
74
  ## 3. Pick the lens the question needs
39
75
 
40
76
  | The user asks | Evidence to obtain |
@@ -12,7 +12,7 @@ Agents and routines appear only when the organization has the agents feature, wh
12
12
 
13
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**, **Content**, **Quality**, **Compliance**); a new site starts with SEO and GEO listed, their routines active from the start; Content, Quality and Compliance, and every default on an older site, are created the first time someone selects them, routines active, the same chat every time after. In an agent, the header shows the name alone 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
14
 
15
- The **SEO** default runs six 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, and changes since its last run: pages moved without a redirect), **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: one in the media library or the site's own files is rendered through Fimo's resizing on its own, a file of the site uploaded first), **Hreflang** (only on a site in more than one language) and **Internal linking** (orphan and deep pages, articles with no link up to a hub or product page or more than eight links). Each default routine wakes on the changes on main that can matter to it, before a publish (CMS edits, code changes, images, languages, forms; the first publish and a new domain for Technical SEO and Cookie consent): a small model reads each change first, so a quiet site runs nothing, and the run checks what changed (the whole site on its first run). Only what changes without anyone touching the site keeps a schedule: Broken links checks outbound links on the 1st of every month, Content refresh runs on the 2nd, Content lifecycle every three months, Privacy and legal pages once a year. 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 link on words the text already uses to name another page; a 301 from a page's old address once the same page is live at a new one); a change to what visitors read, which page wins a search, whether a page exists, a redirect with more than one possible target, a price or a legal page is asked as a decision; page removals and the robots policy are never changed on its own. A change a person asks for in a chat is made. 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.
15
+ The **SEO** default runs six 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, and changes since its last run: pages moved without a redirect), **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: one in the media library or the site's own files is rendered through Fimo's resizing on its own, a file of the site uploaded first), **Hreflang** (only on a site in more than one language) and **Internal linking** (orphan and deep pages, articles with no link up to a hub or product page or more than eight links). Each default routine wakes on the changes on main that can matter to it, before a publish (CMS edits, code changes, images, languages, forms; the first publish and a new domain for Technical SEO and Cookie consent): a small model reads each change first, so a quiet site runs nothing, and the run checks what changed (the whole site on its first run). A schedule covers what no single change shows: every Monday, Technical SEO, Meta tags and Internal linking read every page of main's hosted preview (pages out of the sitemap, shared titles and title shape, orphan and deep pages); what changes without anyone touching the site also keeps one: Broken links checks outbound links on the 1st of every month, Content refresh runs on the 2nd, Content lifecycle every three months, Privacy and legal pages once a year. 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 link on words the text already uses to name another page; a 301 from a page's old address once the same page is live at a new one); a change to what visitors read, which page wins a search, whether a page exists, a redirect with more than one possible target, a price or a legal page is asked as a decision; page removals and the robots policy are never changed on its own. A change a person asks for in a chat is made. 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
16
 
17
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) and **AI citation optimization** (a direct answer under each content page's H1, question headings on long pages). 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
18
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bundled": true,
3
3
  "bundler": "esbuild",
4
- "bundledAt": "2026-10-21T15:00:58.456Z",
4
+ "bundledAt": "2026-10-21T18:31:07.270Z",
5
5
  "cliVersion": "2.8.0",
6
6
  "external": [
7
7
  "oxc-parser",