fimo 2.8.0-staging.1 → 2.8.0-staging.11

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.
Files changed (114) hide show
  1. package/README.md +3 -3
  2. package/assets/agent-templates/_default/GOAL.md +2 -2
  3. package/assets/agent-templates/_default/capabilities.yaml +1 -0
  4. package/assets/agent-templates/broken-link-sweeper/capabilities.yaml +0 -1
  5. package/assets/agent-templates/content-translator/GOAL.md +1 -2
  6. package/assets/agent-templates/content-translator/capabilities.yaml +1 -2
  7. package/assets/agent-templates/post-deploy-check/capabilities.yaml +0 -1
  8. package/assets/agent-templates/seo-audit/capabilities.yaml +0 -1
  9. package/assets/skills/fimo/SKILL.md +11 -4
  10. package/assets/skills/fimo-cli/SKILL.md +16 -10
  11. package/assets/skills/fimo-cli/references/agents.md +35 -38
  12. package/assets/skills/fimo-cli/references/analytics.md +9 -1
  13. package/assets/skills/fimo-cli/references/branches.md +1 -1
  14. package/assets/skills/fimo-cli/references/credits.md +2 -2
  15. package/assets/skills/fimo-cli/references/deploy.md +1 -1
  16. package/assets/skills/fimo-cli/references/describe.md +2 -2
  17. package/assets/skills/fimo-cli/references/init.md +7 -7
  18. package/assets/skills/fimo-cli/references/integrations.md +2 -2
  19. package/assets/skills/fimo-cli/references/invite.md +1 -1
  20. package/assets/skills/fimo-cli/references/knowledge.md +48 -0
  21. package/assets/skills/fimo-cli/references/locales.md +1 -1
  22. package/assets/skills/fimo-cli/references/mcp.md +1 -1
  23. package/assets/skills/fimo-cli/references/project-vars-and-secrets.md +1 -1
  24. package/assets/skills/fimo-cli/references/projects.md +3 -3
  25. package/assets/skills/fimo-cli/references/schedules.md +1 -1
  26. package/assets/skills/fimo-cli/references/support.md +1 -1
  27. package/assets/skills/fimo-cli/references/update.md +9 -0
  28. package/assets/skills/fimo-code/SKILL.md +11 -0
  29. package/assets/skills/fimo-code/references/analytics.md +70 -0
  30. package/assets/skills/fimo-code/references/design.md +6 -6
  31. package/assets/skills/fimo-code/references/frameworks/vite-react.md +1 -1
  32. package/assets/skills/fimo-migration/SKILL.md +7 -0
  33. package/assets/skills/fimo-studio/SKILL.md +55 -38
  34. package/assets/skills/fimo-studio/references/agents.md +8 -22
  35. package/assets/skills/fimo-studio/references/ai-chat.md +26 -4
  36. package/assets/skills/fimo-studio/references/analytics.md +28 -0
  37. package/assets/skills/fimo-studio/references/billing-and-credits.md +5 -5
  38. package/assets/skills/fimo-studio/references/cms.md +2 -2
  39. package/assets/skills/fimo-studio/references/command-palette.md +5 -6
  40. package/assets/skills/fimo-studio/references/connections.md +10 -11
  41. package/assets/skills/fimo-studio/references/custom-domains.md +3 -3
  42. package/assets/skills/fimo-studio/references/drawing-and-wireframing.md +2 -4
  43. package/assets/skills/fimo-studio/references/knowledge.md +9 -0
  44. package/assets/skills/fimo-studio/references/media-library.md +5 -2
  45. package/assets/skills/fimo-studio/references/preview-and-responsive.md +6 -12
  46. package/assets/skills/fimo-studio/references/project-creation.md +26 -8
  47. package/assets/skills/fimo-studio/references/publish-and-deploy.md +8 -8
  48. package/assets/skills/fimo-studio/references/schedules.md +6 -7
  49. package/assets/skills/fimo-studio/references/seo-settings.md +2 -2
  50. package/assets/skills/fimo-studio/references/sharing-and-collaboration.md +11 -13
  51. package/assets/skills/fimo-studio/references/version-history.md +4 -4
  52. package/assets/skills/fimo-studio/references/visual-editing.md +9 -7
  53. package/assets/skills/fimo-studio/references/webhooks.md +10 -11
  54. package/dist/cli/bundle.json +1 -1
  55. package/dist/cli/index.js +108 -123
  56. package/dist/runtime/templates.d.ts +1 -2
  57. package/dist/runtime/templates.js +1 -3
  58. package/package.json +13 -13
  59. package/templates/astro/.fimo/config.json +0 -14
  60. package/templates/astro/AGENTS.md +1 -1
  61. package/templates/astro/package.json +4 -2
  62. package/templates/astro/src/layouts/Base.astro +2 -48
  63. package/templates/nextjs/package.json +7 -5
  64. package/templates/nextjs/src/app/layout.tsx +2 -0
  65. package/templates/react-router/package.json +5 -4
  66. package/templates/react-router/src/root.tsx +2 -0
  67. package/templates/sveltekit/package.json +4 -2
  68. package/templates/sveltekit/src/routes/+layout.svelte +2 -0
  69. package/templates/vite/package.json +7 -5
  70. package/templates/vite/src/LocaleLayout.tsx +2 -0
  71. package/assets/skills/fimo-cli/references/inbox.md +0 -86
  72. package/assets/skills/fimo-studio/references/code-editor.md +0 -65
  73. package/templates/astro/src/components/ProjectOverview.astro +0 -45
  74. package/templates/astro/src/pages/[locale]/projects/[slug].astro +0 -38
  75. package/templates/astro/src/pages/[locale]/projects/index.astro +0 -19
  76. package/templates/astro/src/pages/projects/[slug].astro +0 -31
  77. package/templates/astro/src/pages/projects/index.astro +0 -13
  78. package/templates/astro/src/schemas/Project.json +0 -9
  79. package/templates/astro/src/schemas/Project.ts +0 -29
  80. package/templates/astro/src/schemas/Project.types.ts +0 -70
  81. package/templates/astro/src/schemas/SiteSettings.json +0 -10
  82. package/templates/astro/src/schemas/SiteSettings.ts +0 -31
  83. package/templates/astro/src/schemas/SiteSettings.types.ts +0 -69
  84. package/templates/react-router/src/pages/Privacy.tsx +0 -79
  85. package/templates/react-router/src/pages/Terms.tsx +0 -48
  86. package/templates/react-router/src/pages/legal/LegalPage.tsx +0 -42
  87. package/templates/welcome/manifest.json +0 -655
  88. package/templates/welcome/media/analytics-overview.avif +0 -0
  89. package/templates/welcome/media/autonomous-loop.avif +0 -0
  90. package/templates/welcome/media/editable-preview.avif +0 -0
  91. package/templates/welcome/media/media-library.avif +0 -0
  92. package/templates/welcome/media/slack-teams.avif +0 -0
  93. package/templates/welcome/template/.fimo/agents/welcome-guide/GOAL.md +0 -12
  94. package/templates/welcome/template/.fimo/agents/welcome-guide/capabilities.yaml +0 -3
  95. package/templates/welcome/template/.fimo/agents/welcome-guide/config.yaml +0 -8
  96. package/templates/welcome/template/.fimo/config.json +0 -52
  97. package/templates/welcome/template/src/font.css +0 -60
  98. package/templates/welcome/template/src/pages/ArticleDetail.tsx +0 -104
  99. package/templates/welcome/template/src/pages/Index.tsx +0 -36
  100. package/templates/welcome/template/src/pages/SiteContent.tsx +0 -674
  101. package/templates/welcome/template/src/pages/fallback-content.ts +0 -152
  102. package/templates/welcome/template/src/routes.ts +0 -9
  103. package/templates/welcome/template/src/schemas/Article.json +0 -34
  104. package/templates/welcome/template/src/schemas/Article.ts +0 -54
  105. package/templates/welcome/template/src/schemas/Article.types.ts +0 -93
  106. package/templates/welcome/template/src/schemas/Author.json +0 -17
  107. package/templates/welcome/template/src/schemas/Author.ts +0 -51
  108. package/templates/welcome/template/src/schemas/Author.types.ts +0 -54
  109. package/templates/welcome/template/src/schemas/Category.json +0 -17
  110. package/templates/welcome/template/src/schemas/Category.ts +0 -51
  111. package/templates/welcome/template/src/schemas/Category.types.ts +0 -54
  112. package/templates/welcome/template/src/schemas/HomePage.json +0 -110
  113. package/templates/welcome/template/src/schemas/HomePage.ts +0 -22
  114. package/templates/welcome/template/src/schemas/HomePage.types.ts +0 -116
package/README.md CHANGED
@@ -35,11 +35,11 @@ npx fimo@latest init my-site
35
35
  cd my-site
36
36
  ```
37
37
 
38
- Every command runs the same way: **`npx fimo@latest <command>`**. `fimo init` sets up the project, pushes the first commit, and wires it to your Fimo account. Open it in your coding agent and start building.
38
+ Every command runs the same way: **`npx fimo@latest <command>`**. `fimo init` sets up the site, pushes the first commit, and wires it to your Fimo account. Open it in your coding agent and start building.
39
39
 
40
40
  ## AI coding tools
41
41
 
42
- Fimo ships skills and rules for your AI coding tools (Claude Code, Cursor, Codex, Gemini, and more) so the agent knows how to work in a Fimo project. `fimo init` installs them for you — add or refresh them any time (`--mode=copy` is required under npx):
42
+ Fimo ships skills and rules for your AI coding tools (Claude Code, Cursor, Codex, Gemini, and more) so the agent knows how to work in a Fimo site. `fimo init` installs them for you — add or refresh them any time (`--mode=copy` is required under npx):
43
43
 
44
44
  ```bash
45
45
  npx fimo@latest skills install --mode=copy
@@ -47,7 +47,7 @@ npx fimo@latest skills install --mode=copy
47
47
 
48
48
  ## Local development
49
49
 
50
- A Fimo project is a standard framework application. Run its normal package scripts:
50
+ A Fimo site is a standard framework application. Run its normal package scripts:
51
51
 
52
52
  ```bash
53
53
  npm install
@@ -16,6 +16,6 @@ Adapt these defaults to the risk and scope of this agent:
16
16
 
17
17
  - Proceed without asking when the work is within scope and a safe, reversible choice exists.
18
18
  - Ask when a missing human decision changes what the correct result should be.
19
- - Retain when the work is complete but all changes should be reviewed before merge.
20
- - Request merge only when the result is complete, verified, and clearly safe for this agent's scope.
19
+ - Keep work open and request review when a human decision or approval is needed.
20
+ - Merge completed, verified work within scope when runtime:auto_merge is granted; otherwise request human review.
21
21
  - Discard when the run produced no useful changes or deliberately abandoned them.
@@ -8,3 +8,4 @@
8
8
  - fimo:history:read
9
9
  - fimo:logs:read
10
10
  - fimo:preview:read
11
+ - runtime:auto_merge
@@ -1,2 +1 @@
1
- - net:fetch
2
1
  - fimo:analytics:read
@@ -16,8 +16,7 @@ JSON files or put translated values in source code.
16
16
  For each entry:
17
17
 
18
18
  1. Read the default-locale field via `cms:read`.
19
- 2. Translate to every missing locale (via `net:fetch` to your translation
20
- provider of choice).
19
+ 2. Translate to every missing locale.
21
20
  3. Write the translation back to the matching locale entry via `cms:write`.
22
21
  4. For static UI labels, update values with the i18n/labels API rather
23
22
  than editing files.
@@ -1,6 +1,5 @@
1
- # Reads CMS and writes DB-backed localized content / labels. Net is for the translation provider.
1
+ # Reads CMS and writes DB-backed localized content / labels.
2
2
  - cms:read
3
3
  - cms:write
4
4
  - i18n:read
5
5
  - i18n:write
6
- - net:fetch
@@ -1,2 +1 @@
1
- - net:fetch
2
1
  - fimo:logs:read
@@ -1,4 +1,3 @@
1
1
  # Read-only audit — no writes to project files or CMS.
2
2
  - cms:read
3
- - net:fetch
4
3
  - fimo:analytics:read
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  name: fimo
3
3
  description: >-
4
- Working in or with a Fimo project (a content + media + forms + analytics
4
+ Working in or with a Fimo site (a content + media + forms + analytics
5
5
  platform for web applications). Load the current Fimo skills on demand through
6
6
  the `fimo` CLI before doing Fimo work — writing schema-driven
7
- code, running CLI/deploy workflows, using the dashboard, or migrating a site.
7
+ code, planning, recommendations, design, copy, running CLI/deploy workflows,
8
+ using the dashboard, or migrating a site.
8
9
  ---
9
10
 
10
11
  # Fimo
@@ -27,10 +28,16 @@ Reference paths mentioned in streamed skill output, such as `references/media.md
27
28
  not files in the project. Load them through the CLI, for example
28
29
  `<fimo-cli> skills get fimo-cli --ref media`. Do not use a filesystem read tool for them.
29
30
 
31
+ Before reasoning about an existing site's goals, recommendations, design, copy, content, or code,
32
+ read its shared knowledge with `<fimo-cli> knowledge get --project <id> --json` (omit `--project` in a
33
+ linked checkout). Load the detailed rules with `<fimo-cli> skills get fimo-cli --ref knowledge`.
34
+ Refresh when switching sites or starting a new task. Empty knowledge does not block work; never
35
+ save inferred guidance automatically. Write only when explicitly asked and authorized.
36
+
30
37
  Pick by task:
31
38
 
32
39
  - Writing code — schemas/forms, generated clients, labels, framework adapters, rendering primitives → `fimo-code`
33
- - Project creation, local setup, cloning, and CLI workflows — init, push, deploy, sync, labels, domains, analytics → `fimo-cli`
40
+ - Site creation, local setup, cloning, and CLI workflows — init, push, deploy, sync, labels, domains, analytics → `fimo-cli`
34
41
  - Fimo agents — create, configure, validate, deploy, run, or inspect them → `fimo-cli` (`references/agents.md`)
35
42
  - AI agent setup — connect Claude Code, Codex, Cursor, or another agent → `fimo-cli` (`references/agent-setup.md`)
36
43
  - Remote MCP integrations — add, inspect, search, or run an MCP server → `fimo-cli` (`references/mcp.md`)
@@ -38,7 +45,7 @@ Pick by task:
38
45
  - Migrating an existing site into Fimo → `fimo-migration`
39
46
 
40
47
  For project setup, load `fimo-cli` first. Its `references/init.md` decision tree distinguishes a new or empty
41
- project, an existing Fimo project, and an external migration; load `fimo-migration` for the last path.
48
+ project, an existing Fimo site, and an external migration; load `fimo-migration` for the last path.
42
49
 
43
50
  If a confirmed Fimo platform failure or missing capability materially blocks the task, finish or safely preserve the main work first, then use the built-in `supportReport` tool. Load the `fimo-cli` support instructions for the reporting criteria.
44
51
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: fimo-cli
3
3
  description: >-
4
- Use the `fimo` CLI to create or operate a Fimo project: content, forms,
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
6
  integrations, Fimo agents, collaboration, accounts, and credits. Also use
7
7
  for AI agent or MCP setup and confirmed Fimo platform blockers.
@@ -9,7 +9,7 @@ description: >-
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 project creation, content / forms / media / labels / locale workflows, deploys, collaboration, account management, Fimo agents, AI credit inspection, and AI agent setup.
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, Fimo agents, 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
 
@@ -17,6 +17,13 @@ Use `fimo <command> --help` for full flag details on any command.
17
17
 
18
18
  > Verify a destination with `fimo webhooks test <id> --wait` and inspect its delivery history before depending on it in production.
19
19
 
20
+ ## Shared site knowledge
21
+
22
+ Before site planning, recommendations, design, copy, content, or code work, read the site's
23
+ knowledge: `fimo knowledge get --project <id> --json` (omit `--project` in a linked checkout).
24
+ Use the selected CLI invocation. Load `fimo skills get fimo-cli --ref knowledge` for refresh,
25
+ empty-state, and explicit-write rules. This prerequisite also applies when entering this skill directly.
26
+
20
27
  ## Running the CLI
21
28
 
22
29
  Use **`npx fimo@latest`** by default. If the initiating prompt supplies another Fimo CLI selector, such as `npx fimo@staging` or `npx fimo@0.14.0`, preserve that selector for every Fimo command in the same flow. Do **not** install `fimo` globally.
@@ -40,11 +47,11 @@ Pretty output may hide URLs behind clickable labels. Agents should use `--json`
40
47
 
41
48
  ## Critical: `.fimo/project.json` is the project link
42
49
 
43
- A Fimo project is identified by `.fimo/project.json`, written by `fimo init`. This file connects the local directory to the remote Fimo project. **Never edit it manually.** Most CLI commands find it by walking up from the cwd.
50
+ A Fimo site is identified by `.fimo/project.json`, written by `fimo init`. This file connects the local directory to the remote Fimo site. **Never edit it manually.** Most CLI commands find it by walking up from the cwd.
44
51
 
45
52
  ## Critical: commands target the Branch matching the current git branch
46
53
 
47
- A project can have multiple **Branches** — each is a git branch _plus_ its own DB, sandbox, preview, and assets. Project-scoped commands (`deploy`, `status`, `entries`, `diff`, …) operate on the Branch matching the **current git branch**, and print a one-line banner saying which one. Analytics reads are the exception: they default to canonical `prod`, independent of the checkout; see `references/analytics.md`. Annotation writes keep the current or explicit Branch. New projects start on `main`. Override for a single command with the canonical `--branch <name>` flag; the removed `--env <name>` spelling is rejected. Never edit the link file to switch. The full git-shaped workflow (`branch` / `checkout` / `switch` / `pull` / `diff` / `merge` / `status` / `publish`) lives in `references/branches.md`.
54
+ A project can have multiple **Branches** — each is a git branch _plus_ its own DB, sandbox, preview, and assets. Site-scoped commands (`deploy`, `status`, `entries`, `diff`, …) operate on the Branch matching the **current git branch**, and print a one-line banner saying which one. Analytics reads are the exception: they default to canonical `prod`, independent of the checkout; see `references/analytics.md`. Annotation writes keep the current or explicit Branch. New sites start on `main`. Override for a single command with the canonical `--branch <name>` flag; the removed `--env <name>` spelling is rejected. Never edit the link file to switch. The full git-shaped workflow (`branch` / `checkout` / `switch` / `pull` / `diff` / `merge` / `status` / `publish`) lives in `references/branches.md`.
48
55
 
49
56
  ## Quick Start
50
57
 
@@ -64,7 +71,7 @@ fimo deploy # ON-DEMAND: hosted project previ
64
71
  fimo deploy --publish # ON-DEMAND: publish live (only when the developer says "ship it")
65
72
  ```
66
73
 
67
- New projects use the Next.js App Router template by default. Fimo's canonical React Router template is selected explicitly with `--framework react-router`; use `--framework vite` for a React SPA.
74
+ New sites use the Next.js App Router template by default. Fimo's canonical React Router template is selected explicitly with `--framework react-router`; use `--framework vite` for a React SPA.
68
75
 
69
76
  The working loop is local: run the app with the project's package-manager `dev` script (`pnpm dev` / `npm run dev` / `yarn dev` / `bun dev` — match the lockfile), ask the developer what they want, edit, and iterate against the live localhost server. Outside the first-time onboarding rule below, `fimo deploy` is **not** a required final step — reach for it only when the developer wants a hosted project preview or to go live, and only on their signal (see `references/deploy.md`).
70
77
 
@@ -78,7 +85,7 @@ Keep `fimo validate --json` at the front of the project's `build` script, which
78
85
 
79
86
  Load the matching reference when the user's request fires its trigger. Recipes that involve writing code also need the `fimo-code` skill's package references — they're called out where relevant.
80
87
 
81
- - "Create a new Fimo project / scaffold a site / start a new website / link an existing project locally" → `references/init.md`
88
+ - "Create a new Fimo site / scaffold a site / start a new website / link an existing project locally" → `references/init.md`
82
89
  - "Add a content type / blog / products / content schemas / CMS" → `references/content.md` (workflow) **+ run `fimo skills get fimo-code --ref content/schema` and load the detected framework reference**
83
90
  - "Declare Pages routes / configure Pages sources or route params / control what Studio shows for a route" → `references/pages.md`
84
91
  - "Add a contact / signup / feedback / newsletter form" → `references/forms.md` (workflow) **+ run `fimo skills get fimo-code --ref forms` for the JSON spec and generated client**
@@ -107,7 +114,6 @@ Load the matching reference when the user's request fires its trigger. Recipes t
107
114
  - "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`
108
115
  - "Invite a collaborator / add Marc / share with client" → `references/invite.md`
109
116
  - "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`)
110
- - "Check the Inbox / what are my agents waiting on / answer a blocked agent / an agent asked me a question / approve or deny what an agent asked for (`fimo inbox *`)" → `references/inbox.md`. Never answer on the person's behalf.
111
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`
112
118
  - "Install Fimo for my agent / fimo skills install / set up Claude Code, Codex, or Cursor for Fimo" → `references/agent-setup.md`
113
119
  - "Add, inspect, search, or run a remote MCP server / use `fimo mcp`" → `references/mcp.md`
@@ -123,7 +129,7 @@ Load the matching reference when the user's request fires its trigger. Recipes t
123
129
  These fire at specific moments in the project lifecycle. **Surface them proactively** rather than waiting for the user to ask:
124
130
 
125
131
  - **Right after `fimo init`** → `cd` into the new directory, read the project's `AGENTS.md` (or `CLAUDE.md` for Claude Code), run `fimo describe --json`, then load `fimo-code` and only the task/framework references it routes to. The rules file came into existence mid-session and may not be auto-loaded by the harness. See `references/init.md` § Load the project context.
126
- - **When `fimo init` created or scaffolded a new project (create-new path, including a Studio-supplied `--project-id`)** → after init and context loading succeed, run the single first-preview deploy and return the preview and dashboard links — see `references/init.md` § Create the first hosted preview. That deploy is also the sandbox warm-up; never run a separate warm-up deploy. Skip it only if the user explicitly said not to deploy. Linking a project with existing code and migrations keep their own approval rules.
132
+ - **When `fimo init` created or scaffolded a new site (create-new path, including a Studio-supplied `--project-id`)** → after init and context loading succeed, run the single first-preview deploy and return the preview and dashboard links — see `references/init.md` § Create the first hosted preview. That deploy is also the sandbox warm-up; never run a separate warm-up deploy. Skip it only if the user explicitly said not to deploy. Linking a project with existing code and migrations keep their own approval rules.
127
133
  - **Right after `fimo init`** → suggest `fimo rename "<Display Name>"` to set a human-readable name (the default post-init name is an auto-generated slug). Infer the name from what the user is building (e.g. "Acme Coffee" for a café, "Jane Doe Portfolio" for a personal site). See `references/init.md`.
128
134
  - **Right after `fimo init`** → start the app locally with the project's package-manager `dev` script (`pnpm dev` / `npm run dev` / `yarn dev` / `bun dev`) in the background. This localhost server with live reload is your iteration loop — edit, show, repeat. No deploy is needed to see local changes. If the initiating request did not say what to build, ask the developer — after the first preview on the create-new path, never as a blocker before initializing.
129
135
  - **When a user-visible unit of work looks done outside first-time onboarding** → **offer** to deploy (`fimo deploy` for a hosted project preview, `fimo deploy --publish` to go live) and run it only after the developer confirms — or immediately if they ask. Never deploy ordinary edits on your own. See `references/deploy.md`.
@@ -132,14 +138,14 @@ These fire at specific moments in the project lifecycle. **Surface them proactiv
132
138
  - **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`.
133
139
  - **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`.
134
140
  - **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`.
135
- - **When a project agent has stopped and is waiting on a person** → `fimo inbox list --topic agent_question --unread` surfaces it. Show the stored form to the person, collect their explicit answer, and submit it with `fimo inbox answer`. See `references/inbox.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.
136
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`.
137
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.
138
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).
139
145
 
140
146
  ## Anti-Patterns
141
147
 
142
- - **Editing `.fimo/project.json`** — read-only; it's the link between local and remote project. Treat as a generated file.
148
+ - **Editing `.fimo/project.json`** — read-only; it's the link between local and remote site. Treat as a generated file.
143
149
  - **Treating `fimo deploy` as the working loop or a required final step** — the loop is local (`pnpm dev` etc.). Deploy commits + pushes + round-trips the sandbox; it's for hosted previews / going live, on-demand. Iterate locally and deploy at logical breakpoints. See `references/deploy.md`.
144
150
  - **Deploying without the developer asking or confirming** — new-project onboarding authorizes exactly one automatic first preview deploy (unless the user said not to deploy); every other deploy is offer-then-confirm. Don't auto-deploy after finishing an ordinary edit.
145
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`.
@@ -38,10 +38,10 @@ fimo agents secrets remove <name> <KEY> [-C <dir>]
38
38
  ```
39
39
 
40
40
  - **`list-templates`** — list the bundled starter templates with the first line of each template's `GOAL.md` as a summary. Ships with the CLI binary; no API call. The five bundled templates are `_default`, `seo-audit`, `content-translator`, `broken-link-sweeper`, `post-deploy-check`.
41
- - **`create <name>`** — scaffold `.fimo/agents/<name>/` from a template (default `_default`, a minimal valid bundle with a manual trigger). `--description <text>` writes a one-line tagline into the scaffolded `config.yaml` (surfaces in the dashboard's agents list). When run **without** `-C`, it requires the cwd to be inside a real Fimo project (walks up for `.fimo/project.json` or legacy `.fimo.settings.json`) and errors out cleanly otherwise, so it never leaks an agent bundle into a stray cwd. If the template declares capabilities, an install-consent flow runs after the copy (`--quiet` skips it; critical caps still abort). Keep the scaffolded `runtime` block as is unless the author asks for a different credit limit; see the `runtime` reference below before adding any limit key.
41
+ - **`create <name>`** — scaffold `.fimo/agents/<name>/` from a template (default `_default`, a minimal valid bundle with a manual trigger). `--description <text>` writes a one-line tagline into the scaffolded `config.yaml` (surfaces in the dashboard's agents list). When run **without** `-C`, it requires the cwd to be inside a real Fimo site (walks up for `.fimo/project.json` or legacy `.fimo.settings.json`) and errors out cleanly otherwise, so it never leaks an agent bundle into a stray cwd. If the template declares capabilities, an install-consent flow runs after the copy (`--quiet` skips it; critical caps still abort). Keep the scaffolded `runtime` block as is unless the author asks for a different credit limit; see the `runtime` reference below before adding any limit key.
42
42
  - Every generated `config.yaml` includes `model: openai/gpt-5.6-luna`. Change that top-level value to another supported Fimo text model when needed; bundles without `model` keep the Luna fallback. Deploy after changing it because cloud runs use the deployed bundle.
43
43
  - **`list`** — list the agents declared under `<project>/.fimo/agents/` (or legacy root `agents/`), with each one's trigger types and capability count. Local — the bundle list is the source of truth even if the project isn't linked yet.
44
- - **`validate [name]`** — run the full validation pipeline: parse → capability vocabulary → composition (cycle / missing sub-agents / invalid grants) → semantic + Fimo project config policy checks. Omit `name` to validate every bundle. `--json` emits a structured `ValidationReport` for CI; exit code is non-zero on any failure.
44
+ - **`validate [name]`** — run the full validation pipeline: parse → capability vocabulary → composition (cycle / missing sub-agents / invalid grants) → semantic + Fimo site config policy checks. Omit `name` to validate every bundle. `--json` emits a structured `ValidationReport` for CI; exit code is non-zero on any failure.
45
45
  - **`secrets add/remove/list`** — edit or inspect the agent's requested secret names in `.fimo/agents/<name>/config.yaml` (or legacy root). These commands do not create, rotate, or reveal secret values. Store values with `fimo secrets add`; run `fimo agents validate` to check that required requested secrets exist in the project. See `references/project-vars-and-secrets.md`.
46
46
  - **`integrations <name>`** — preview the agent's `integrations` allowlist from `.fimo/agents/<name>/config.yaml` (or legacy root) and, when linked, overlay project integration status. See `references/integrations.md`.
47
47
 
@@ -77,25 +77,20 @@ runtime:
77
77
  All four keys are optional; an absent `runtime` block behaves as if every key were unset. There is no platform step cap
78
78
  and no platform per-run cost ceiling — the only stops are these author-owned limits, the organization running out of
79
79
  credits (`insufficient_credits`), and the agent-hours allowance. A limit that fires records a truthful terminal reason
80
- (`max_steps`, `budget_exceeded`, `insufficient_credits`, or `finish_run_missing` when a run ends without calling
81
- `finish_run`), readable via `fimo agents report` and the Studio run page.
80
+ (`max_steps`, `budget_exceeded`, or `insufficient_credits`), readable via `fimo agents report` and the Studio run page.
82
81
 
83
82
  ## How a cloud run ends
84
83
 
85
- Fimo creates one task Branch and environment for a cloud run, tells the agent their names, and manages their lifecycle.
86
- The agent works only in that checkout. Extra branches, worktrees, and `git push` are unsupported and cannot be cleaned up
87
- or handed off correctly.
84
+ Runs perform compute; explicit work sessions hold project changes. Ordinary conversation and research need no session.
85
+ Project operations name their session. Save accumulated work before a risky operation or handoff. A confirmed save
86
+ commits and pushes without merging or publishing; Fimo also attempts a bounded save when compute ends.
88
87
 
89
- - **Merge** when the work is ready for the target Branch. Fimo applies the complete task environment or, if it conflicts,
90
- leaves the target unchanged and keeps the work for review without choosing a side.
91
- - **Retain** when the completed work should be reviewed before merge, or when the run stops, fails, or may need recovery.
92
- Fimo leaves the target unchanged, keeps the complete task Branch, and sends an Inbox notification asking a person to
93
- review all of its changes. A later follow-up can continue from that retained work.
94
- - **Discard** when none of the run's work should be applied, including when it made no useful changes or deliberately
95
- abandoned an approach. This permanently deletes the task Branch and every change in it without review.
88
+ Merge ready work explicitly. Resolve clear conflicts through the existing merge tools; ask when the resolution requires
89
+ product intent. Request review with one sessionId; request_review saves current work itself and makes that same session visible and durable. Inspecting or leaving a session open creates no review.
90
+ Discard only unwanted work within the requested scope. Ending a run does none of these operations implicitly.
96
91
 
97
- If the agent exits without a decision, Fimo retains the task Branch. `fimo deploy` inside a run may build a preview of
98
- that Branch for inspection or screenshots; it does not finish or hand off the run.
92
+ The autonomous `report` tool records a structured report without ending compute or deciding session fate. The model may
93
+ continue working after reporting. A normal model stop ends compute. Scheduled work has no implicit publication grant.
99
94
 
100
95
  The run report is a concise outcome summary: what changed, what was verified, and what is still blocked. It is not a
101
96
  chronological account, and it should not use decorative emoji.
@@ -106,18 +101,22 @@ When authoring or editing an agent, add a short **Decision policy** to its `GOAL
106
101
  acting, asking, review, and merge; do not copy Fimo's tool protocol. Use this shape and replace the examples with rules
107
102
  specific to the agent:
108
103
 
104
+ Infer the intended autonomy from the user's request when it is clear. Otherwise ask what the agent may apply itself,
105
+ what needs review, and whether it may publish. Record that policy in `GOAL.md`; do not impose review-first on every
106
+ agent or treat permission to merge as permission to publish. A routine fixer and a proposal writer need different policies.
107
+
109
108
  ```md
110
109
  ## Decision policy
111
110
 
112
111
  - Proceed without asking when the work is within scope and a safe, reversible choice exists.
113
112
  - Ask when a missing human decision changes what the correct result should be.
114
- - Retain when the work is complete but all changes should be reviewed before merge.
113
+ - Request review of the saved session when completed work needs a person's approval before merge.
115
114
  - Request merge only when the result is complete, verified, and clearly safe for this agent's scope.
116
115
  - Discard when the run produced no useful changes or deliberately abandoned them.
117
116
  ```
118
117
 
119
- Asking and review are different: `ask_user` is for a decision required before correct work can continue; `retain` ends
120
- the run with its complete proposal waiting for review and does not ask a question.
118
+ `ask_user` requests a blocking decision and ends the current invocation. `request_review` saves and captures one selected session for approval
119
+ without ending compute. Neither operation merges or discards sessions.
121
120
 
122
121
  Make those rules concrete enough that the agent can decide without guessing. For example:
123
122
 
@@ -126,8 +125,7 @@ Make those rules concrete enough that the agent can decide without guessing. For
126
125
  verification is blocked. Discard when the scan is clean or exploratory edits were reverted.
127
126
  - **Launch-copy agent:** draft from an approved brief without asking about routine wording. Ask before choosing pricing,
128
127
  product promises, brand direction, or deletions. Retain every completed draft for human review; never request merge.
129
- - **Read-only auditor:** inspect and report autonomously. Ask only when the requested scope cannot be inferred. Discard
130
- the unchanged task environment after recording the report.
128
+ - **Read-only auditor:** inspect and report autonomously. Ask only when the requested scope cannot be inferred.
131
129
  - **Missing capability:** ask once for the exact capability and explain which operation it unlocks. Do not retain partial
132
130
  work as a substitute for the blocking permission decision.
133
131
 
@@ -143,10 +141,10 @@ A review-first content agent could use this complete policy:
143
141
  - Discard only when no useful draft was produced or the attempted approach was fully abandoned.
144
142
  ```
145
143
 
146
- When a run cannot continue correctly without a decision from a project member, it may call `ask_user` instead. The
147
- question goes to the Fimo Inbox, the current invocation ends, and Fimo keeps the same task Branch and environment until
148
- an authorized member answers. The answer starts one ordinary continuation in the same run thread; the original model
149
- process does not wait.
144
+ When a run cannot continue correctly without a decision from a project member, it may call `ask_user` instead. Fimo
145
+ emails project members a link to answer it in Studio, and the current invocation ends. It can reference zero or more
146
+ sessions. An authorized answer starts a continuation in the same thread; the referenced work stays open and the original
147
+ model process does not wait.
150
148
 
151
149
  Use `ask_user` sparingly, especially from scheduled agents:
152
150
 
@@ -156,7 +154,7 @@ Use `ask_user` sparingly, especially from scheduled agents:
156
154
  - Use choices for compact text options. Use cards only when an option benefits from an image or a richer title and
157
155
  subtitle. Use assets when the image itself is the answer, and tables when options need the same structured comparison.
158
156
  - Do not repeat a question or request already waiting in prior run history.
159
- - Use `finish_run` with `retain` when the work is ready for review but no answer is required.
157
+ - Use `request_review` with one sessionId when approval is needed. No pre-save or promotion is required; other sessions stay unchanged and work can continue.
160
158
 
161
159
  An agent may include one multi-select `capabilities` step in that same form to request public Fimo capabilities it does
162
160
  not currently hold. Group related tokens in one request. Selected tokens apply only to the continuation started by that
@@ -169,12 +167,12 @@ behavior. Keep it under 4 KB, record no secrets or run log, and prune stale entr
169
167
 
170
168
  When three or more earlier runs still await a question answer, review, conflict resolution, or recovery, the agent
171
169
  normally starts no new independent work. Unless the current trigger explicitly asks it to proceed anyway, it makes no
172
- changes and finishes with `discard` and a brief report of what is waiting.
170
+ changes and records a brief report of what is waiting.
173
171
 
174
172
  ## Define reporting preferences when they matter
175
173
 
176
- Fimo's default report needs no setup: a short, scannable brief appears in email and the Inbox, while the full report in
177
- Fimo carries the organized evidence and depth. Do not add a reporting section merely to restate that default.
174
+ Fimo's default report needs no setup: a short, scannable brief appears in email, while the full report in Fimo carries
175
+ the organized evidence and depth. Do not add a reporting section merely to restate that default.
178
176
 
179
177
  When the user names an audience, depth, recurring comparison, required section, or useful visual, preserve the request
180
178
  in a short **Reporting** section of `GOAL.md`. Describe the communication outcome in ordinary language. Do not prescribe
@@ -208,11 +206,11 @@ audience or emphasis. Even then, the brief remains the external handoff and the
208
206
 
209
207
  ## Capabilities
210
208
 
211
- Capabilities describe the opt-in Fimo and network actions an agent may take. Managed agents always receive project
212
- filesystem access, a shell, and the ability to commit their task-environment changes; Fimo owns branch creation and
213
- publication. If `capabilities.yaml` is absent or empty, the agent keeps baseline project reads such as agent run history,
214
- but receives no CMS, asset, or other domain-operation scope and no web-fetch tool. Once you add a capabilities file,
215
- list every Fimo or network permission the agent needs.
209
+ Capabilities describe the opt-in Fimo actions an agent may take. Managed agents always receive project filesystem
210
+ access, a shell, the ability to commit their task-environment changes, and web and data tools; Fimo owns branch creation
211
+ and publication. If `capabilities.yaml` is absent or empty, the agent keeps baseline project reads such as agent run
212
+ history, but receives no CMS, asset, or other domain-operation scope. Once you add a capabilities file, list every Fimo
213
+ permission the agent needs. `net:fetch` is no longer needed and is ignored.
216
214
  Namespace selectors such as `cms:*`, `assets:*`, `i18n:*`, and `forms:*` grant every current and future declarable capability
217
215
  in that namespace. Fimo expands selectors to concrete grants when a run starts. Use exact tokens for narrower agents.
218
216
  The default template includes those four selectors plus read access to analytics, deployment logs, history, previews,
@@ -238,16 +236,15 @@ webhooks, and schedules; remove entries when an agent should have less access.
238
236
  | `fimo:preview:read` | Read a current preview URL | Low |
239
237
  | `fimo:history:read` | Read project restore points | Low |
240
238
  | `fimo:deploy` | Trigger a production deploy | Critical |
241
- | `net:fetch` | Make outbound HTTP requests | Medium |
242
239
  | `agent:delegate` | Invoke declared sub-agents | Medium |
243
- | `runtime:auto_merge` | Auto-merge trivial proposed branches | Critical |
240
+ | `runtime:auto_merge` | Merge work sessions without per-change review | Critical |
244
241
 
245
242
  If a public Fimo capability is missing and the work is genuinely blocked, the agent can request it through `ask_user`.
246
243
  Fimo grants only the selected subset to the next invocation in that run thread. Unknown capabilities, internal runtime
247
244
  abilities, and capabilities the run already holds are refused before the question is stored. For durable access on
248
245
  ordinary future runs, add the capability to `capabilities.yaml`, validate, and deploy the bundle.
249
246
 
250
- Managed agents can list project agents and read their run history through baseline project access. This does not
247
+ Managed agents can list project agents and read their run history through baseline site access. This does not
251
248
  require `fimo:agents:run`; that capability is only required to dispatch another agent.
252
249
 
253
250
  Studio chat and project-bound Slack turns receive `fimo:logs:read`. The default autonomous-agent template now declares
@@ -282,7 +279,7 @@ fimo agents report <name> [--session <id>] [--branch <branch>] [--project <id>]
282
279
  A refusal that clears on its own (`agent-paused`, `run-in-progress`, `task-branch-budget`) exits **0** and prints `Dispatch was skipped: <reason>`. **Pre-flight drift check**: if `.fimo/agents/<name>/` (or the legacy root bundle) has uncommitted git changes, the command refuses — the server would dispatch the _deployed_ version, so deploy first. Pass `--skip-drift-check` to dispatch the deployed bundle anyway. Defaults `--branch` to `main`.
283
280
 
284
281
  - **`runs <name>`** — list past run sessions for the agent in a compact table (id, started, duration, status, trigger, Branch, credits — settled credit consumption, `—` until a run settles). Default `--limit 20`; `--branch` filters to one Branch. The response uses the canonical `branch` field.
285
- - **`report <name>`** — print a run's structured **report**: its durable outcome summary (for a read-only agent like `seo-audit` this _is_ the audit; for a write agent it's a "what I changed" summary). A run that returns plain text without calling `finish_run` receives a small structured fallback document. With no `--session`, the most recent run for `<name>` is used (combine with `--branch` to scope); `--session <id>` targets a specific run. Output is projected Markdown, so it stays readable in the terminal and pipes cleanly (e.g. `fimo agents report seo-audit | glow`). If the run hasn't finished, or produced no report, it says so (and shows the stop reason when there is one).
282
+ - **`report <name>`** — print a run's structured **report**: its durable outcome summary (for a read-only agent like `seo-audit` this _is_ the audit; for a write agent it's a "what I changed" summary). A run that returns plain text without calling `report` receives a small structured fallback document. With no `--session`, the most recent run for `<name>` is used (combine with `--branch` to scope); `--session <id>` targets a specific run. Output is projected Markdown, so it stays readable in the terminal and pipes cleanly (e.g. `fimo agents report seo-audit | glow`). If the run hasn't finished, or produced no report, it says so (and shows the stop reason when there is one).
286
283
 
287
284
  ## How triggers get wired
288
285
 
@@ -1,9 +1,17 @@
1
1
  # Analytics workflow
2
2
 
3
- Pageview aggregates for the **published** site are stored in Fimo's analytics pipeline. Preview traffic is not recorded.
3
+ Pageview aggregates are read for the selected branch. Reading analytics does not
4
+ install tracking. For installation or missing pageview requests, load
5
+ `fimo skills get fimo-code --ref analytics`. For zero counts, first check the
6
+ branch, date range and device filter using the guidance below. A successful HTTP
7
+ response alone does not establish that a row was stored.
4
8
 
5
9
  Analytics has a **retained preview for every org** — free included. The free default is a 7-day retention window, so short ranges (`today`, `yesterday`, `this_week`, `last_week`, `last_7_days`) work for everyone. **Extended date ranges and longer retention are paid** — `last_30_days`, `last_90_days`, `this_month`, `last_month`, `last_quarter`, `last_year`, and `custom` require the `canUseExtendedDateRanges` privilege, which only paid orgs have. Asking for an extended range as a free user returns a 403 with an upgrade hint.
6
10
 
11
+ For Studio tracking verification, load `fimo-studio` and its analytics reference.
12
+ Its tracking status is independent of the chart range and device filter; a failed
13
+ status check is not evidence of missing tracking.
14
+
7
15
  ## Select published traffic
8
16
 
9
17
  For traffic, growth, or site-performance questions, read **`prod`**, regardless of the current Git branch, `FIMO_ENV`, or the source branch published to Production. Analytics reads (`pageviews`, `top`, `annotations list`) default to this canonical published target. On older CLI versions, select it explicitly:
@@ -8,7 +8,7 @@ New standalone projects start with one Branch: `main`. Linking an unversioned fo
8
8
 
9
9
  ## The Branch model — how every command picks its target
10
10
 
11
- **This is the single most important concept: project-scoped commands target the Branch matching the _current git branch_.** When you're on git branch `feat/seo`, `fimo deploy`, `fimo status`, `fimo entries list`, etc. all operate on the `feat/seo` Branch's DB / sandbox / preview. The CLI prints a one-line stderr banner telling you which Branch it resolved.
11
+ **This is the single most important concept: site-scoped commands target the Branch matching the _current git branch_.** When you're on git branch `feat/seo`, `fimo deploy`, `fimo status`, `fimo entries list`, etc. all operate on the `feat/seo` Branch's DB / sandbox / preview. The CLI prints a one-line stderr banner telling you which Branch it resolved.
12
12
 
13
13
  ```bash
14
14
  fimo --branch <name> <command> # peek at another Branch for one command (does not switch)
@@ -1,6 +1,6 @@
1
1
  # Credits
2
2
 
3
- `fimo credits` is a read-only command for checking the AI credit balance of the organization that owns a Fimo project. It resolves the project from `.fimo/project.json` unless `--project <project-id>` is provided.
3
+ `fimo credits` is a read-only command for checking the AI credit balance of the organization that owns a Fimo site. It resolves the project from `.fimo/project.json` unless `--project <project-id>` is provided.
4
4
 
5
5
  ```bash
6
6
  fimo credits
@@ -9,7 +9,7 @@ fimo credits --project <project-id>
9
9
  fimo credits -C ./path/to/project
10
10
  ```
11
11
 
12
- This command is **project-scoped but not Branch-scoped**. It does not depend on the current git branch or `--branch`, because credits belong to the project's organization, not to a Branch.
12
+ This command is **site-scoped but not Branch-scoped**. It does not depend on the current git branch or `--branch`, because credits belong to the project's organization, not to a Branch.
13
13
 
14
14
  ## Pretty Output
15
15
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  > **Local vs hosted.** The local dev server is localhost only. The Fimo **dashboard preview** and the authenticated **project-member preview URL** are served by the deployed sandbox — so if the developer wants to see the site in the dashboard or send another project member a link, that requires a `fimo deploy`.
6
6
 
7
- `fimo deploy` uses the current Branch. New projects start on `main`; `release/*` is read-only, and `--publish` only runs from the project's configured Production source Branch. See `references/branches.md` for the multi-Branch workflow.
7
+ `fimo deploy` uses the current Branch. New sites start on `main`; `release/*` is read-only, and `--publish` only runs from the project's configured Production source Branch. See `references/branches.md` for the multi-Branch workflow.
8
8
 
9
9
  Before deploying, Fimo fast-forwards a clean checkout that is behind and stops on dirty-behind or diverged branches. This syncs the whole branch, including config commits from Studio or locale commands.
10
10
 
@@ -1,6 +1,6 @@
1
1
  # Describe — read-only snapshot of the current project
2
2
 
3
- `fimo describe` prints a structured snapshot of the Fimo project in the current working directory: project name + config version, detected framework, fimo package version, package manager, route / schema / locale counts, and a file tree.
3
+ `fimo describe` prints a structured snapshot of the Fimo site in the current working directory: project name + config version, detected framework, fimo package version, package manager, route / schema / locale counts, and a file tree.
4
4
 
5
5
  It is **read-only**. Never writes, never hits the network. Safe to run any time.
6
6
 
@@ -76,4 +76,4 @@ The scoped view still emits the project-level metadata header (name, framework,
76
76
 
77
77
  - The JSON shape is stable; parse it rather than scraping the human output when you need a specific field.
78
78
  - `framework` is normally auto-detected. If it is `null`, inspect the project before choosing framework-specific guidance.
79
- - The command runs in any directory that contains `.fimo/project.json` or one of its ancestors. If you're not in a Fimo project, `describe` will run against whatever directory you point it at (it doesn't require Fimo credentials).
79
+ - The command runs in any directory that contains `.fimo/project.json` or one of its ancestors. If you're not in a Fimo site, `describe` will run against whatever directory you point it at (it doesn't require Fimo credentials).
@@ -1,6 +1,6 @@
1
1
  # `fimo init`
2
2
 
3
- One-stop project setup: sign in, create a new Fimo project (or link an existing one), install dependencies, and optionally set up Fimo skills for your AI tools.
3
+ One-stop project setup: sign in, create a new Fimo site (or link an existing one), install dependencies, and optionally set up Fimo skills for your AI tools.
4
4
 
5
5
  ## Command
6
6
 
@@ -11,7 +11,7 @@ fimo init [dir] [options]
11
11
  `fimo init` runs the full onboarding in one shot:
12
12
 
13
13
  1. **Signs in automatically** — if there's no session it opens the browser loopback login. In `--json` / non-TTY with no session it fails with `NOT_AUTHENTICATED` (run `fimo login` first).
14
- 2. **Resolves the project** — with `--project-id <id>` it sets up the named Fimo project: a project with no code yet is scaffolded as a fresh site, while an existing repository is cloned. Without it, `init` creates a NEW project. An interactive TTY shows a "Create new / Link existing" picker; non-interactive shells default to create-new. New projects use the Next.js App Router by default; `--framework react-router`, `--framework vite`, `--framework astro`, and `--framework sveltekit` select the other minimal framework-native shells.
14
+ 2. **Resolves the project** — with `--project-id <id>` it sets up the named Fimo site: a project with no code yet is scaffolded as a fresh site, while an existing repository is cloned. Without it, `init` creates a NEW project. An interactive TTY shows a "Create new / Link existing" picker; non-interactive shells default to create-new. New sites use the Next.js App Router by default; `--framework react-router`, `--framework vite`, `--framework astro`, and `--framework sveltekit` select the other minimal framework-native shells.
15
15
  3. **Installs dependencies** — prompts for the package manager, or honor `--package-manager <pm>` / `--no-install`.
16
16
  4. **Optionally sets up Fimo skills** — confirm prompt, or `--skills` / `--no-skills`.
17
17
 
@@ -20,7 +20,7 @@ Generated pnpm projects pin `pnpm@10.26.0` and carry project-owned `pnpm-workspa
20
20
  | Flag | Required | Purpose |
21
21
  | ---------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
22
22
  | `[dir]` positional | yes in non-TTY for create-new | Target directory (e.g. `my-site`) |
23
- | `--project-id <id>` | no | Set up the named Fimo project: scaffold and push a fresh site when it has no code yet, otherwise clone it. |
23
+ | `--project-id <id>` | no | Set up the named Fimo site: scaffold and push a fresh site when it has no code yet, otherwise clone it. |
24
24
  | `--org <id>` | no | Target organization **id** when creating (use the `ID` column from `fimo orgs list`, NOT the slug). Picker shown interactively if omitted and TTY. |
25
25
  | `--branch <name>` | no | Branch to check out when linking an existing project (defaults to `main`). |
26
26
  | `--env <name>` | no | Rejected as a Branch selector; use `--branch <name>`. |
@@ -95,7 +95,7 @@ For `--agents`, pass the AI tool you're running in: `--agents=claude-code` for C
95
95
 
96
96
  ## Setting up a project by ID
97
97
 
98
- Pass `--project-id <id>` to set up a known Fimo project. If the project has no code yet — for example, one just created in Fimo Studio — `init` scaffolds a fresh site into it and pushes the initial commit: the same create-new path, linked to the existing ID. If the project already has code, `init` clones it into `[dir]`, like `fimo clone`. Use `--branch <name>` to check out a specific Branch (defaults to `main`). Without `--project-id`, `fimo init` creates a new project.
98
+ Pass `--project-id <id>` to set up a known Fimo site. If the project has no code yet — for example, one just created in Fimo Studio — `init` scaffolds a fresh site into it and pushes the initial commit: the same create-new path, linked to the existing ID. If the project already has code, `init` clones it into `[dir]`, like `fimo clone`. Use `--branch <name>` to check out a specific Branch (defaults to `main`). Without `--project-id`, `fimo init` creates a new site.
99
99
 
100
100
  ## Linking an existing local application
101
101
 
@@ -110,7 +110,7 @@ fimo link <projectId> --relink
110
110
  `fimo init` (create-new path) scaffolds:
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
- - `.fimo/project.json` — links this directory to the remote project (read-only after creation)
113
+ - `.fimo/project.json` — links this directory to the remote site (read-only after creation)
114
114
  - `.fimo/config.json` — project, optional Studio Pages route metadata, locale, SEO, and agent policy
115
115
  - `.fimo/agents/` — versioned agent bundles
116
116
  - `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.
@@ -149,7 +149,7 @@ After `fimo init` completes, the project root has `AGENTS.md` (universal) and `C
149
149
 
150
150
  **These files came into existence mid-session, so they may not be auto-loaded by the harness.** Explicitly:
151
151
 
152
- 1. `cd <project-dir>` — switch into the new project.
152
+ 1. `cd <project-dir>` — switch into the new site.
153
153
  2. `Read` the project rules file: `AGENTS.md` (or `CLAUDE.md` if you're Claude Code).
154
154
  3. Run `fimo describe --json` with the current invocation prefix and read the detected framework, schemas, locales, and tree.
155
155
  4. Load the code skill on demand with the same prefix: `fimo skills get fimo-code`.
@@ -159,7 +159,7 @@ Do not batch-load every reference. Progressive disclosure keeps unrelated framew
159
159
 
160
160
  ### Create the first hosted preview (create-new path)
161
161
 
162
- Whenever `fimo init` created or scaffolded a new project — including a Studio-supplied `--project-id`, since Studio creates the project before any code exists — finish onboarding with exactly one plain preview deploy after init and context loading succeed, unless the user explicitly said not to deploy:
162
+ Whenever `fimo init` created or scaffolded a new site — including a Studio-supplied `--project-id`, since Studio creates the project before any code exists — finish onboarding with exactly one plain preview deploy after init and context loading succeed, unless the user explicitly said not to deploy:
163
163
 
164
164
  ```bash
165
165
  fimo deploy -m "chore: first preview" --json
@@ -1,8 +1,8 @@
1
1
  # Integrations
2
2
 
3
- Use integrations to enable external services for a Fimo project. Firecrawl and Fal are built into Fimo: Fimo owns the provider account and bills the project in Fimo credits, so they take no API key at all. Every other credential (MCP servers, OAuth workspaces) is stored encrypted by Fimo and never printed back to the CLI. Teammates and agents receive access to the integration, not the underlying token.
3
+ Use integrations to enable external services for a Fimo site. Firecrawl and Fal are built into Fimo: Fimo owns the provider account and bills the project in Fimo credits, so they take no API key at all. Every other credential (MCP servers, OAuth workspaces) is stored encrypted by Fimo and never printed back to the CLI. Teammates and agents receive access to the integration, not the underlying token.
4
4
 
5
- Start with `fimo integrations list` whenever the task could benefit from an external service. It is the project-scoped,
5
+ Start with `fimo integrations list` whenever the task could benefit from an external service. It is the site-scoped,
6
6
  runtime-truthful inventory; use `info` only for the relevant integration instead of loading every provider's tools into
7
7
  context.
8
8
 
@@ -93,4 +93,4 @@ fimo invite --email "dev@agency.com" --role full
93
93
  - Invited users receive an email with a sign-up link if they don't have an account, or a sign-in link if they do.
94
94
  - Organization invites can be resent with `--resend` if the user didn't receive the original.
95
95
  - Project invites are scoped to a single project; organization invites grant access to all projects in that organization.
96
- - If `--cwd` is set and the directory belongs to a linked Fimo project, that project is auto-selected.
96
+ - If `--cwd` is set and the directory belongs to a linked Fimo site, that project is auto-selected.