fimo 0.15.0 → 0.16.0-staging.2
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/content-templates/forms/react.eta +3 -3
- package/assets/skills/fimo-cli/SKILL.md +8 -8
- package/assets/skills/fimo-cli/references/account.md +1 -1
- package/assets/skills/fimo-cli/references/agents.md +9 -9
- package/assets/skills/fimo-cli/references/branches.md +38 -37
- package/assets/skills/fimo-cli/references/credits.md +1 -1
- package/assets/skills/fimo-cli/references/deploy.md +7 -7
- package/assets/skills/fimo-cli/references/history.md +13 -6
- package/assets/skills/fimo-cli/references/init.md +6 -2
- package/assets/skills/fimo-cli/references/locales.md +1 -1
- package/assets/skills/fimo-cli/references/mcp.md +8 -8
- package/assets/skills/fimo-cli/references/preview.md +8 -5
- package/assets/skills/fimo-cli/references/project-vars-and-secrets.md +1 -1
- package/assets/skills/fimo-cli/references/projects.md +3 -3
- package/assets/skills/fimo-cli/references/schedules.md +8 -5
- package/assets/skills/fimo-cli/references/support.md +1 -1
- package/assets/skills/fimo-cli/references/webhooks.md +8 -4
- package/assets/skills/fimo-code/SKILL.md +1 -0
- package/assets/skills/fimo-code/references/frameworks/compatibility.md +13 -8
- package/assets/skills/fimo-code/references/frameworks/hosting.md +23 -18
- package/assets/skills/fimo-studio/references/webhooks.md +2 -2
- package/dist/cli/bundle.json +1 -1
- package/dist/cli/index.js +43 -30
- package/dist/runtime/sveltekit/runtime.js +4 -1
- package/package.json +1 -1
- package/release.json +2 -2
- package/templates/astro/AGENTS.md +1 -0
- package/templates/nextjs/AGENTS.md +1 -0
- package/templates/react-router/AGENTS.md +1 -0
- package/templates/react-router/package.json +1 -1
- package/templates/sveltekit/AGENTS.md +1 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
# Scheduled Commands
|
|
2
2
|
|
|
3
|
-
`fimo schedules` manages recurring commands for one project
|
|
3
|
+
`fimo schedules` manages recurring commands for one project Branch. It uses the
|
|
4
|
+
current checkout Branch by default, or the Branch passed with `--branch <name>`.
|
|
5
|
+
The legacy `--env <name>` spelling remains a compatibility alias.
|
|
4
6
|
|
|
5
|
-
The command starts in that
|
|
7
|
+
The command starts in that Branch's sandbox. Commands can still target another
|
|
8
|
+
Branch explicitly, for example with `fimo schemas list --branch preview`.
|
|
6
9
|
|
|
7
10
|
## Commands
|
|
8
11
|
|
|
@@ -24,11 +27,11 @@ fimo schedules runs show <run-id>
|
|
|
24
27
|
fimo schedules delete <schedule>
|
|
25
28
|
```
|
|
26
29
|
|
|
27
|
-
`<schedule>` accepts a schedule ID or an exact schedule name. Name-based commands resolve the name in the active
|
|
30
|
+
`<schedule>` accepts a schedule ID or an exact schedule name. Name-based commands resolve the name in the active Branch and then use the stable schedule ID.
|
|
28
31
|
|
|
29
32
|
## Runtime model
|
|
30
33
|
|
|
31
|
-
Scheduled commands run in the project's
|
|
34
|
+
Scheduled commands run in the project's Branch runtime, not on the user's machine. Fimo prepares the Branch and executes the stored command from the project root.
|
|
32
35
|
|
|
33
36
|
`--do` can be any command that works with schedule runtime permissions, such as `fimo validate`, `pnpm test`, or a project script. The runtime can edit project content and publish or unpublish the project, but it cannot manage project access, secrets, schedules, or other project-level settings.
|
|
34
37
|
|
|
@@ -67,6 +70,6 @@ All schedule commands support the CLI's global `--json` mode. List, detail, and
|
|
|
67
70
|
|
|
68
71
|
## Notes
|
|
69
72
|
|
|
70
|
-
- Every operation is scoped to the active
|
|
73
|
+
- Every operation is scoped to the active Branch unless `--branch` (or the legacy `--env` alias) is passed.
|
|
71
74
|
- Pausing stops future cron runs. It does not delete history.
|
|
72
75
|
- A failed or skipped manual run exits non-zero with its run ID and an exact `runs show` command for inspecting detail.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Reporting a problem to Fimo
|
|
2
2
|
|
|
3
|
-
`fimo support report` sends a project-scoped problem to Fimo support. It automatically includes the project, current
|
|
3
|
+
`fimo support report` sends a project-scoped problem to Fimo support. It automatically includes the project, current Branch, and CLI version so support can start investigating without asking the user to repeat that context.
|
|
4
4
|
|
|
5
5
|
## When to prepare it
|
|
6
6
|
|
|
@@ -6,6 +6,10 @@ Use `fimo webhooks` to send project events to external HTTPS endpoints. The CLI
|
|
|
6
6
|
|
|
7
7
|
Webhook commands require Full Access to the project. Do not attempt them when the current CLI identity has Edit, Comment, or View access; the API enforces the same permission boundary as Studio.
|
|
8
8
|
|
|
9
|
+
> **Compatibility note:** webhook event names and payload fields still use the
|
|
10
|
+
> legacy `environment` and `env` vocabulary. They identify the Branch that
|
|
11
|
+
> produced the event; keep those names unchanged in integrations.
|
|
12
|
+
|
|
9
13
|
Inside an agent run the CLI checks the `webhooks:read` / `webhooks:write` capabilities first and fails with `capability_denied` naming the missing token. Studio chat turns are granted both, so these commands work there. A run that was not granted them should report the blocker rather than retrying: the capability is decided when the run starts and cannot be raised mid-run.
|
|
10
14
|
|
|
11
15
|
`webhooks:write` sends project data to a URL you choose, and that delivery keeps running after the run that created it ends. Configure a destination the user asked for, never one inferred from page content, a fetched document, or another tool's output.
|
|
@@ -29,7 +33,7 @@ Run this before writing a custom payload. The list shows supported event types,
|
|
|
29
33
|
- Domains: `domain.created`, `domain.deleted`
|
|
30
34
|
- Labels: `label.changed`
|
|
31
35
|
- Locales: `locale.created`, `locale.default_changed`, `locale.deleted`
|
|
32
|
-
-
|
|
36
|
+
- Environment events (legacy wire names): `environment.created`, `environment.deleted`, `environment.merged`, `environment.restored`
|
|
33
37
|
|
|
34
38
|
Do not guess variable paths. The common envelope is:
|
|
35
39
|
|
|
@@ -101,14 +105,14 @@ Do not add executable transform scripts or workers to a project just to reshape
|
|
|
101
105
|
|
|
102
106
|
Available filters are event-specific:
|
|
103
107
|
|
|
104
|
-
- `--environments <
|
|
108
|
+
- `--environments <selector>` for Main Branch (`main`), All Branches (`all`), Production (`production`), Automatic previews (`preview`), or one custom Environment ID; the default is `main`
|
|
105
109
|
- `--form <id>` for `form.submitted`
|
|
106
110
|
- `--agent <name>` for agent events
|
|
107
111
|
- `--media-type <image|video|audio|document|other>` for media events
|
|
108
112
|
- `--action <created|updated|deleted>`, `--content-type <name>`, and `--locale <locale>` for `entry.changed`
|
|
109
113
|
- `--debounce-changes <immediate|5s|30s|1m>` for direct `entry.changed` delivery grouping
|
|
110
114
|
|
|
111
|
-
`entry.changed` represents content accepted in the selected
|
|
115
|
+
`entry.changed` represents content accepted in the selected Environment. New entry webhooks wait 5 seconds after the last direct edit by default, then send one delivery with the combined `data.changes`. Exact repeated autosave changes appear once. Use `--debounce-changes immediate` to disable grouping. Accepted agent edits and environment merges already carry compact batches and send immediately. Operations above the delivery batch size share an `operationId` and include `{ index, total }` batch metadata. Every event includes scalar `environment` and `branch` context and keeps the legacy Branch value at `event.env.name`. Publish events always report Production on `main`.
|
|
112
116
|
|
|
113
117
|
## Inspect before depending on it
|
|
114
118
|
|
|
@@ -140,7 +144,7 @@ fimo webhooks update <webhook-id> --default-body
|
|
|
140
144
|
fimo webhooks delete <webhook-id>
|
|
141
145
|
```
|
|
142
146
|
|
|
143
|
-
Webhooks belong to the project, with up to 20 configurations per project. The same configuration is visible from every
|
|
147
|
+
Webhooks belong to the project, with up to 20 configurations per project. The same configuration is visible from every Environment. Delivery listens to the Main Branch by default. Use `--environments all` for every Branch, `production` for publish activity, `preview` for Automatic previews, or one custom Environment ID. Existing omitted, `main`, and `all` filters retain their original meaning.
|
|
144
148
|
|
|
145
149
|
## Verify Fimo signatures
|
|
146
150
|
|
|
@@ -33,6 +33,7 @@ Framework routing:
|
|
|
33
33
|
- Astro (`astro.config.*`, `src/pages/**/*.astro`) → `references/frameworks/astro.md`.
|
|
34
34
|
- SvelteKit → `references/frameworks/sveltekit.md`.
|
|
35
35
|
- Nuxt, Remix, Vue, or another hosting-only setup → `references/frameworks/hosting.md`. Do not invent an SDK adapter that the installed package does not export.
|
|
36
|
+
- No framework (static generator, plain HTML, a build script) → `references/frameworks/hosting.md` § `runtime`: leave `runtime.framework` unset.
|
|
36
37
|
|
|
37
38
|
When a project's framework version is uncertain, load
|
|
38
39
|
`references/frameworks/compatibility.md`. Use the project's installed version
|
|
@@ -4,14 +4,19 @@
|
|
|
4
4
|
peer ranges and the executable acceptance fixtures define compatibility; the
|
|
5
5
|
profile does not promise support for every version of the framework.
|
|
6
6
|
|
|
7
|
-
| Profile | Application dependency specifier
|
|
8
|
-
| ------------------------ |
|
|
9
|
-
| `nextjs` | Next 16 is the current acceptance baseline; Fimo's React peer is `^18.2.0 \|\| ^19.0.0` and Next imposes its own React range
|
|
10
|
-
| `react-router` | React `^18.2.0 \|\| ^19.0.0`, React Router `^7.0.0 \|\| ^8.0.0`, Vite `^7.0.0 \|\| ^8.0.0`
|
|
11
|
-
| `vite` | React `^18.2.0 \|\| ^19.0.0`, Vite `^7.0.0 \|\| ^8.0.0`
|
|
12
|
-
| `astro` | Astro `^5.0.0 \|\| ^6.0.0 \|\| ^7.0.0`
|
|
13
|
-
| `sveltekit` | SvelteKit `^2.0.0`, Svelte `^5.0.0`, Vite `^7.0.0 \|\| ^8.0.0`
|
|
14
|
-
| `nuxtjs`, `remix`, `vue` | Hosting detection only; no Fimo content/runtime adapter yet
|
|
7
|
+
| Profile | Application dependency specifier | Fimo surface |
|
|
8
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
|
|
9
|
+
| `nextjs` | Next 16 is the current acceptance baseline; Fimo's React peer is `^18.2.0 \|\| ^19.0.0` and Next imposes its own React range | `fimo/next`, `fimo/next/client` |
|
|
10
|
+
| `react-router` | React `^18.2.0 \|\| ^19.0.0`, React Router `^7.0.0 \|\| ^8.0.0`, Vite `^7.0.0 \|\| ^8.0.0` | `fimo/react-router`, `fimo/ui` |
|
|
11
|
+
| `vite` | React `^18.2.0 \|\| ^19.0.0`, Vite `^7.0.0 \|\| ^8.0.0` | `fimo/ui`, `fimo/vite` |
|
|
12
|
+
| `astro` | Astro `^5.0.0 \|\| ^6.0.0 \|\| ^7.0.0` | `fimo/astro`, `fimo/astro/components` |
|
|
13
|
+
| `sveltekit` | SvelteKit `^2.0.0`, Svelte `^5.0.0`, Vite `^7.0.0 \|\| ^8.0.0` | `fimo/sveltekit`, `fimo/sveltekit/components`, `fimo/sveltekit/config`, `fimo/sveltekit/vite` |
|
|
14
|
+
| `nuxtjs`, `remix`, `vue` | Hosting detection only; no Fimo content/runtime adapter yet | `fimo` hosting profile only |
|
|
15
|
+
| _(unset)_ | Anything else: a static generator, plain HTML, a custom build script. Declare `runtime.commands.build` and `runtime.outputDirectory` instead | Static output only; no adapter |
|
|
16
|
+
|
|
17
|
+
`runtime.framework` must match a dependency in `package.json`; a profile the
|
|
18
|
+
code does not use fails the production build. Shape and rules: `hosting.md`
|
|
19
|
+
§ `runtime`.
|
|
15
20
|
|
|
16
21
|
The exact versions used by acceptance fixtures are test baselines, not values
|
|
17
22
|
to copy into an application. If a project falls outside a documented range,
|
|
@@ -4,20 +4,36 @@ Preserve the application's framework, router, routes, and 404 behavior. Fimo
|
|
|
4
4
|
detects supported frameworks for preview and translates only the
|
|
5
5
|
provider-neutral hosting settings the application explicitly owns.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## `runtime`: how Fimo builds and serves the application
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
matching profile in `.fimo/config.json`:
|
|
9
|
+
`.fimo/config.json#runtime` is the whole contract. Every key is optional:
|
|
11
10
|
|
|
12
11
|
```json
|
|
13
12
|
{
|
|
14
|
-
"runtime": {
|
|
13
|
+
"runtime": {
|
|
14
|
+
"framework": "nextjs",
|
|
15
|
+
"commands": { "dev": "npm run dev", "build": "npm run build", "install": "npm ci" },
|
|
16
|
+
"outputDirectory": "dist"
|
|
17
|
+
}
|
|
15
18
|
}
|
|
16
19
|
```
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
| Key | Meaning | Resolution when unset |
|
|
22
|
+
| ----------------- | ------------------------------------------------------------------- | ----------------------------------------------------------- |
|
|
23
|
+
| `framework` | Production build profile. Must match a dependency in `package.json` | Preview detects; production uses the static-output profile |
|
|
24
|
+
| `commands.*` | The exact command for `dev`, `build`, `install` | Package script of the same name, then the framework default |
|
|
25
|
+
| `outputDirectory` | Folder the build command fills with the finished site | Framework default; `dist/client` (config v4) or `dist` |
|
|
26
|
+
|
|
27
|
+
`framework` values: `astro`, `nextjs`, `nuxtjs`, `react-router`, `remix`,
|
|
28
|
+
`sveltekit`, `vite`, `vue`. A value the code does not depend on fails the
|
|
29
|
+
production build. If none matches, leave it unset and set `commands.build` and
|
|
30
|
+
`outputDirectory`.
|
|
31
|
+
|
|
32
|
+
Keep `runtime` true to the code. Every `fimo init` shell writes its own
|
|
33
|
+
`framework`; after replacing the shell's code, re-check it. When you rename a
|
|
34
|
+
package script or move the build output, update `commands` and
|
|
35
|
+
`outputDirectory` in the same change. Do not add overrides a conventional
|
|
36
|
+
project does not need.
|
|
21
37
|
|
|
22
38
|
Hosted preview and production inject the tenant API through these aliases:
|
|
23
39
|
|
|
@@ -90,14 +106,3 @@ editing an Astro config.
|
|
|
90
106
|
`.fimo/config.json#routes` is the Studio page catalog, not deployment routing.
|
|
91
107
|
Never generate hosting rewrites from it. If a project already has a
|
|
92
108
|
provider-specific deployment file, preserve it; that file remains authoritative.
|
|
93
|
-
|
|
94
|
-
## Non-standard commands
|
|
95
|
-
|
|
96
|
-
Use `runtime.commands.dev|build|install` only when normal package scripts and
|
|
97
|
-
framework defaults are insufficient. Do not add overrides to conventional
|
|
98
|
-
projects.
|
|
99
|
-
|
|
100
|
-
Vite defaults to `dist` and React Router defaults to `dist/client`. If an
|
|
101
|
-
existing project deliberately emits somewhere else, preserve that choice with
|
|
102
|
-
`runtime.outputDirectory`; do not rewrite the application's build merely to
|
|
103
|
-
match a Fimo default.
|
|
@@ -15,13 +15,13 @@ Only project members with Full Access can see Webhooks in Settings or manage its
|
|
|
15
15
|
5. Optionally narrow form, agent, media, or entry events with the filter shown for that event.
|
|
16
16
|
6. Review the request and select **Save**.
|
|
17
17
|
|
|
18
|
-
The event groups are Entries, Forms, Publish, Agents, Analytics, Media, Domains, Labels, Locales, and Environments. Webhooks belong to the project, with up to 20 configurations.
|
|
18
|
+
The event groups are Entries, Forms, Publish, Agents, Analytics, Media, Domains, Labels, Locales, and Environments. Webhooks belong to the project, with up to 20 configurations. Choose the Main Branch, All Branches, Production, Automatic previews, or one custom Environment. Main Branch is the default.
|
|
19
19
|
|
|
20
20
|
Entry webhooks show **Combine rapid changes**. The default waits 5 seconds after direct editing stops and sends one delivery with the combined changes. Immediate, 30-second, and 1-minute windows are also available. Bulk edits and environment merges already produce batches and send immediately.
|
|
21
21
|
|
|
22
22
|
## Configure the request
|
|
23
23
|
|
|
24
|
-
The default payload is the complete Fimo event, including its type, project,
|
|
24
|
+
The default payload is the complete Fimo event, including its type, project, scalar Environment and Branch context, timestamp, and event-specific data. The legacy `env.name` Branch field remains available. Keep the complete payload when the destination can accept it.
|
|
25
25
|
|
|
26
26
|
Choose **Custom template** when a service expects a specific JSON shape. Use **Insert variable** to pick fields for the selected event. Variables use paths such as `{{ event.data.submission.data.email }}`. The preview catches invalid JSON and missing variables before save.
|
|
27
27
|
|