fimo 0.20.0 → 0.21.0-experimental.1
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/README.md +1 -1
- package/assets/agent-templates/_default/GOAL.md +10 -0
- package/assets/agent-templates/_default/capabilities.yaml +10 -0
- package/assets/content-templates/shared/types.eta +1 -1
- package/assets/skills/fimo-cli/SKILL.md +2 -1
- package/assets/skills/fimo-cli/references/agents.md +136 -36
- package/assets/skills/fimo-cli/references/branches.md +8 -5
- package/assets/skills/fimo-cli/references/deploy.md +11 -2
- package/assets/skills/fimo-cli/references/domains.md +12 -0
- package/assets/skills/fimo-cli/references/forms.md +1 -1
- package/assets/skills/fimo-cli/references/init.md +9 -2
- package/assets/skills/fimo-cli/references/locales.md +1 -1
- package/assets/skills/fimo-cli/references/mcp.md +1 -1
- package/assets/skills/fimo-cli/references/media.md +18 -1
- package/assets/skills/fimo-cli/references/project-vars-and-secrets.md +3 -1
- package/assets/skills/fimo-cli/references/projects.md +7 -7
- package/assets/skills/fimo-code/assets/react-router-locales/navigation.tsx +1 -1
- package/assets/skills/fimo-code/references/assets.md +2 -2
- package/assets/skills/fimo-code/references/best-practices/next.md +1 -1
- package/assets/skills/fimo-code/references/content/schema.md +23 -0
- package/assets/skills/fimo-code/references/forms.md +1 -1
- package/assets/skills/fimo-code/references/frameworks/astro.md +8 -2
- package/assets/skills/fimo-code/references/frameworks/compatibility.md +9 -9
- package/assets/skills/fimo-code/references/frameworks/hosting.md +17 -13
- package/assets/skills/fimo-code/references/frameworks/next/app-router.md +8 -9
- package/assets/skills/fimo-code/references/frameworks/next/locales.md +5 -5
- package/assets/skills/fimo-code/references/frameworks/next/pages-router.md +5 -5
- package/assets/skills/fimo-code/references/frameworks/next.md +41 -32
- package/assets/skills/fimo-code/references/frameworks/react-router.md +10 -7
- package/assets/skills/fimo-code/references/frameworks/sveltekit.md +22 -15
- package/assets/skills/fimo-code/references/frameworks/vite-react.md +7 -5
- package/assets/skills/fimo-code/references/labels.md +4 -4
- package/assets/skills/fimo-code/references/locales.md +2 -2
- package/assets/skills/fimo-code/references/ui.md +4 -4
- package/assets/skills/fimo-migration/SKILL.md +51 -30
- package/assets/skills/fimo-migration/references/frameworks/nextjs.md +12 -15
- package/assets/skills/fimo-migration/references/media.md +12 -8
- package/assets/skills/fimo-migration/references/qa.md +12 -11
- package/assets/skills/fimo-migration/references/workers/content-planner.md +33 -4
- package/assets/skills/fimo-migration/references/workers/validator.md +10 -0
- package/assets/skills/fimo-migration/references/workers.md +19 -10
- package/assets/skills/fimo-migration/references/workflow.md +29 -11
- package/assets/skills/fimo-studio/references/ai-chat.md +1 -1
- package/assets/skills/fimo-studio/references/billing-and-credits.md +18 -1
- package/assets/skills/fimo-studio/references/cms.md +2 -0
- package/assets/skills/fimo-studio/references/preview-and-responsive.md +1 -0
- package/assets/starters/fimo-site/template/src/pages/Contact.tsx +1 -1
- package/assets/starters/fimo-site/template/src/pages/SiteContent.tsx +1 -1
- package/assets/starters/fimo-site/template/src/schemas/HomePage.ts +3 -3
- package/assets/starters/fimo-site/template/src/schemas/HomePage.types.ts +1 -1
- package/dist/build/astro/config.d.ts +13 -2
- package/dist/build/astro/config.js +9 -24
- package/dist/build/next/moved.d.ts +2 -0
- package/dist/build/next/moved.js +2 -0
- package/dist/build/react/router-moved.d.ts +2 -0
- package/dist/build/react/router-moved.js +2 -0
- package/dist/build/react/router-preset-moved.d.ts +2 -0
- package/dist/build/react/router-preset-moved.js +2 -0
- package/dist/build/react/router-routes-moved.d.ts +2 -0
- package/dist/build/react/router-routes-moved.js +2 -0
- package/dist/build/react/ui-moved.d.ts +2 -0
- package/dist/build/react/ui-moved.js +2 -0
- package/dist/build/react/vite-moved.d.ts +2 -0
- package/dist/build/react/vite-moved.js +2 -0
- package/dist/build/sveltekit/config.d.ts +5 -4
- package/dist/build/sveltekit/config.js +6 -15
- package/dist/build/sveltekit/moved.d.ts +13 -0
- package/dist/build/sveltekit/moved.js +3 -0
- package/dist/build/vite/data-id.d.ts +11 -0
- package/dist/build/vite/data-id.js +20 -0
- package/dist/build/vite/plugins/runtime-env.d.ts +1 -1
- package/dist/build/vite/plugins/runtime-env.js +6 -2
- package/dist/build/vite/runtime-env.d.ts +2 -0
- package/dist/build/vite/runtime-env.js +1 -0
- package/dist/cli/bundle.json +1 -1
- package/dist/cli/index.js +115 -110
- package/dist/runtime/content/client/internal.js +1 -1
- package/dist/runtime/content/index.d.ts +6 -1
- package/dist/runtime/content/index.js +6 -0
- package/dist/runtime/i18n/index.d.ts +2 -0
- package/dist/runtime/i18n/index.js +1 -0
- package/dist/runtime/labels/index.d.ts +3 -0
- package/dist/runtime/labels/index.js +2 -0
- package/dist/runtime/preview/index.d.ts +5 -0
- package/dist/runtime/preview/index.js +4 -0
- package/dist/runtime/preview/script.d.ts +3 -0
- package/dist/runtime/preview/script.js +14 -0
- package/dist/runtime/primitives/lib/index.d.ts +2 -0
- package/dist/runtime/primitives/lib/index.js +2 -0
- package/dist/runtime/seo/index.d.ts +0 -8
- package/dist/runtime/seo/index.js +0 -8
- package/dist/runtime/shared/config.d.ts +6 -0
- package/dist/runtime/shared/config.js +4 -0
- package/dist/runtime/shared/local-runtime-env.d.ts +2 -2
- package/dist/runtime/shared/local-runtime-env.js +7 -5
- package/dist/runtime/templates.d.ts +20 -4
- package/dist/runtime/templates.js +60 -18
- package/dist/scripts/extract-translations.js +8 -3
- package/dist/scripts/index.d.ts +3 -0
- package/dist/scripts/index.js +2 -0
- package/dist/scripts/sync-forms.js +21 -9
- package/dist/scripts/sync-schemas.js +129 -21
- package/dist/scripts/validate-schemas.js +63 -2
- package/package.json +72 -71
- package/release.json +2 -2
- package/templates/astro/AGENTS.md +1 -1
- package/templates/astro/astro.config.mjs +1 -1
- package/templates/astro/package.json +4 -2
- package/templates/astro/pnpm-workspace.yaml +6 -2
- package/templates/nextjs/.fimo/config.json +1 -2
- package/templates/nextjs/AGENTS.md +6 -16
- package/templates/nextjs/next.config.ts +4 -2
- package/templates/nextjs/package.json +4 -2
- package/templates/nextjs/pnpm-workspace.yaml +6 -2
- package/templates/nextjs/src/app/layout.tsx +16 -0
- package/templates/nextjs/src/locales.ts +3 -6
- package/templates/react-router/AGENTS.md +1 -1
- package/templates/react-router/package.json +5 -2
- package/templates/react-router/pnpm-workspace.yaml +6 -6
- package/templates/react-router/react-router.config.ts +1 -1
- package/templates/react-router/src/pages/legal/LegalPage.tsx +1 -1
- package/templates/react-router/src/root.tsx +1 -1
- package/templates/react-router/src/vite-env.d.ts +0 -1
- package/templates/react-router/vite.config.ts +1 -1
- package/templates/sveltekit/AGENTS.md +1 -1
- package/templates/sveltekit/package.json +4 -2
- package/templates/sveltekit/pnpm-workspace.yaml +6 -2
- package/templates/sveltekit/src/routes/+layout.server.ts +1 -1
- package/templates/sveltekit/src/routes/+layout.svelte +1 -1
- package/templates/sveltekit/svelte.config.js +1 -1
- package/templates/sveltekit/vite.config.ts +1 -1
- package/assets/sveltekit/components/Boolean.svelte +0 -19
- package/assets/sveltekit/components/Date.svelte +0 -33
- package/assets/sveltekit/components/DateTime.svelte +0 -35
- package/assets/sveltekit/components/FimoProvider.svelte +0 -35
- package/assets/sveltekit/components/Image.svelte +0 -80
- package/assets/sveltekit/components/Json.svelte +0 -18
- package/assets/sveltekit/components/Label.svelte +0 -16
- package/assets/sveltekit/components/Number.svelte +0 -21
- package/assets/sveltekit/components/RichText.svelte +0 -19
- package/assets/sveltekit/components/Text.svelte +0 -30
- package/assets/sveltekit/components/Video.svelte +0 -37
- package/assets/sveltekit/components/index.d.ts +0 -11
- package/assets/sveltekit/components/index.js +0 -11
- package/dist/build/next/config.d.ts +0 -17
- package/dist/build/next/config.js +0 -66
- package/dist/build/sveltekit/data-id.d.ts +0 -3
- package/dist/build/sveltekit/data-id.js +0 -171
- package/dist/build/sveltekit/files/edge.js +0 -68
- package/dist/build/sveltekit/files/serverless.js +0 -42
- package/dist/build/sveltekit/vite.d.ts +0 -12
- package/dist/build/sveltekit/vite.js +0 -14
- package/dist/build/vite/index.d.ts +0 -42
- package/dist/build/vite/index.js +0 -160
- package/dist/build/vite/plugins/content-sync.d.ts +0 -11
- package/dist/build/vite/plugins/content-sync.js +0 -41
- package/dist/build/vite/plugins/data-id.d.ts +0 -12
- package/dist/build/vite/plugins/data-id.js +0 -109
- package/dist/build/vite/plugins/fimo-config.d.ts +0 -12
- package/dist/build/vite/plugins/fimo-config.js +0 -68
- package/dist/build/vite/plugins/overlay.d.ts +0 -3
- package/dist/build/vite/plugins/overlay.js +0 -154
- package/dist/build/vite/plugins/robots.d.ts +0 -10
- package/dist/build/vite/plugins/robots.js +0 -56
- package/dist/build/vite/plugins/seo.d.ts +0 -3
- package/dist/build/vite/plugins/seo.js +0 -112
- package/dist/build/vite/plugins/server-config.d.ts +0 -3
- package/dist/build/vite/plugins/server-config.js +0 -36
- package/dist/build/vite/plugins/sitemap.d.ts +0 -3
- package/dist/build/vite/plugins/sitemap.js +0 -73
- package/dist/build/vite/plugins/translations.d.ts +0 -11
- package/dist/build/vite/plugins/translations.js +0 -601
- package/dist/runtime/app/FimoProviders.d.ts +0 -30
- package/dist/runtime/app/FimoProviders.js +0 -186
- package/dist/runtime/app/FimoScripts.d.ts +0 -14
- package/dist/runtime/app/FimoScripts.js +0 -48
- package/dist/runtime/app/index.d.ts +0 -8
- package/dist/runtime/app/index.js +0 -4
- package/dist/runtime/app/prefetch.d.ts +0 -9
- package/dist/runtime/app/prefetch.js +0 -39
- package/dist/runtime/content/DataSourcesProvider.d.ts +0 -4
- package/dist/runtime/content/DataSourcesProvider.js +0 -63
- package/dist/runtime/content/RefreshContentProvider.d.ts +0 -19
- package/dist/runtime/content/RefreshContentProvider.js +0 -71
- package/dist/runtime/content/client/createContentClient.d.ts +0 -7
- package/dist/runtime/content/client/createContentClient.js +0 -7
- package/dist/runtime/content/client/createSingletonClient.d.ts +0 -5
- package/dist/runtime/content/client/createSingletonClient.js +0 -6
- package/dist/runtime/content/client/react-content-client.d.ts +0 -10
- package/dist/runtime/content/client/react-content-client.js +0 -165
- package/dist/runtime/content/client/react-singleton-client.d.ts +0 -7
- package/dist/runtime/content/client/react-singleton-client.js +0 -38
- package/dist/runtime/content/client/types.d.ts +0 -42
- package/dist/runtime/content/client/types.js +0 -1
- package/dist/runtime/content/client/useQueryLocale.d.ts +0 -2
- package/dist/runtime/content/client/useQueryLocale.js +0 -5
- package/dist/runtime/content/client/vite-runtime.d.ts +0 -3
- package/dist/runtime/content/client/vite-runtime.js +0 -23
- package/dist/runtime/content/utils/retrieve-data-sources.d.ts +0 -29
- package/dist/runtime/content/utils/retrieve-data-sources.js +0 -107
- package/dist/runtime/core/AppErrorBoundary.d.ts +0 -10
- package/dist/runtime/core/AppErrorBoundary.js +0 -27
- package/dist/runtime/core/ViteLifecycles.d.ts +0 -5
- package/dist/runtime/core/ViteLifecycles.js +0 -35
- package/dist/runtime/i18n/FimoLocaleContext.d.ts +0 -9
- package/dist/runtime/i18n/FimoLocaleContext.js +0 -17
- package/dist/runtime/iframe/ConsoleErrorProvider.d.ts +0 -3
- package/dist/runtime/iframe/ConsoleErrorProvider.js +0 -103
- package/dist/runtime/iframe/ScreenshotProvider.d.ts +0 -3
- package/dist/runtime/iframe/ScreenshotProvider.js +0 -60
- package/dist/runtime/iframe/runtime/overlay-hmr.d.ts +0 -2
- package/dist/runtime/iframe/runtime/overlay-hmr.js +0 -27
- package/dist/runtime/iframe/runtime/overlay-runtime.d.ts +0 -2
- package/dist/runtime/iframe/runtime/overlay-runtime.js +0 -103
- package/dist/runtime/index.d.ts +0 -22
- package/dist/runtime/index.js +0 -23
- package/dist/runtime/next/client-runtime.d.ts +0 -3
- package/dist/runtime/next/client-runtime.js +0 -24
- package/dist/runtime/next/client.d.ts +0 -28
- package/dist/runtime/next/client.js +0 -25
- package/dist/runtime/next/facade.d.ts +0 -8
- package/dist/runtime/next/facade.js +0 -34
- package/dist/runtime/next/labels.d.ts +0 -7
- package/dist/runtime/next/labels.js +0 -9
- package/dist/runtime/next/preview.d.ts +0 -13
- package/dist/runtime/next/preview.js +0 -34
- package/dist/runtime/next/primitives/Text.d.ts +0 -10
- package/dist/runtime/next/primitives/Text.js +0 -18
- package/dist/runtime/next/primitives/server.d.ts +0 -11
- package/dist/runtime/next/primitives/server.js +0 -54
- package/dist/runtime/next/provider.d.ts +0 -18
- package/dist/runtime/next/provider.js +0 -39
- package/dist/runtime/next/server-runtime.d.ts +0 -3
- package/dist/runtime/next/server-runtime.js +0 -23
- package/dist/runtime/next/server.d.ts +0 -21
- package/dist/runtime/next/server.js +0 -16
- package/dist/runtime/primitives/index.d.ts +0 -16
- package/dist/runtime/primitives/index.js +0 -17
- package/dist/runtime/react/primitives/contracts.d.ts +0 -94
- package/dist/runtime/react/primitives/contracts.js +0 -1
- package/dist/runtime/react/primitives/editable/Boolean.d.ts +0 -5
- package/dist/runtime/react/primitives/editable/Boolean.js +0 -11
- package/dist/runtime/react/primitives/editable/Date.d.ts +0 -4
- package/dist/runtime/react/primitives/editable/Date.js +0 -12
- package/dist/runtime/react/primitives/editable/DateTime.d.ts +0 -4
- package/dist/runtime/react/primitives/editable/DateTime.js +0 -13
- package/dist/runtime/react/primitives/editable/Image.d.ts +0 -4
- package/dist/runtime/react/primitives/editable/Image.js +0 -10
- package/dist/runtime/react/primitives/editable/Json.d.ts +0 -5
- package/dist/runtime/react/primitives/editable/Json.js +0 -11
- package/dist/runtime/react/primitives/editable/RichText.d.ts +0 -4
- package/dist/runtime/react/primitives/editable/RichText.js +0 -11
- package/dist/runtime/react/primitives/editable/Text.d.ts +0 -20
- package/dist/runtime/react/primitives/editable/Text.js +0 -36
- package/dist/runtime/react/primitives/editable/Video.d.ts +0 -4
- package/dist/runtime/react/primitives/editable/Video.js +0 -10
- package/dist/runtime/react/primitives/renderers/DateRenderer.d.ts +0 -17
- package/dist/runtime/react/primitives/renderers/DateRenderer.js +0 -17
- package/dist/runtime/react/primitives/renderers/ImageRenderer.d.ts +0 -8
- package/dist/runtime/react/primitives/renderers/ImageRenderer.js +0 -31
- package/dist/runtime/react/primitives/renderers/RichTextRenderer.d.ts +0 -12
- package/dist/runtime/react/primitives/renderers/RichTextRenderer.js +0 -135
- package/dist/runtime/react/primitives/renderers/StaticImage.d.ts +0 -35
- package/dist/runtime/react/primitives/renderers/StaticImage.js +0 -58
- package/dist/runtime/react/primitives/renderers/VideoRenderer.d.ts +0 -8
- package/dist/runtime/react/primitives/renderers/VideoRenderer.js +0 -10
- package/dist/runtime/react/useFimoLiveValue.d.ts +0 -20
- package/dist/runtime/react/useFimoLiveValue.js +0 -43
- package/dist/runtime/react-router/active-routes.d.ts +0 -12
- package/dist/runtime/react-router/active-routes.js +0 -60
- package/dist/runtime/react-router/index.d.ts +0 -16
- package/dist/runtime/react-router/index.js +0 -20
- package/dist/runtime/react-router/legacy/routes.d.ts +0 -35
- package/dist/runtime/react-router/legacy/routes.js +0 -86
- package/dist/runtime/react-router/navigation-utils.d.ts +0 -8
- package/dist/runtime/react-router/navigation-utils.js +0 -36
- package/dist/runtime/react-router/navigation.d.ts +0 -12
- package/dist/runtime/react-router/navigation.js +0 -28
- package/dist/runtime/react-router/preset.d.ts +0 -30
- package/dist/runtime/react-router/preset.js +0 -33
- package/dist/runtime/routing/AppResetScrollOnNavigate.d.ts +0 -2
- package/dist/runtime/routing/AppResetScrollOnNavigate.js +0 -12
- package/dist/runtime/routing/AppRoutesProvider.d.ts +0 -25
- package/dist/runtime/routing/AppRoutesProvider.js +0 -112
- package/dist/runtime/seo/buildSeoForPath.d.ts +0 -74
- package/dist/runtime/seo/buildSeoForPath.js +0 -55
- package/dist/runtime/seo/htmlProps.d.ts +0 -13
- package/dist/runtime/seo/htmlProps.js +0 -15
- package/dist/runtime/sveltekit/content.d.ts +0 -25
- package/dist/runtime/sveltekit/content.js +0 -33
- package/dist/runtime/sveltekit/context-contract.d.ts +0 -5
- package/dist/runtime/sveltekit/context-contract.js +0 -2
- package/dist/runtime/sveltekit/context.d.ts +0 -8
- package/dist/runtime/sveltekit/context.js +0 -25
- package/dist/runtime/sveltekit/forms.d.ts +0 -15
- package/dist/runtime/sveltekit/forms.js +0 -15
- package/dist/runtime/sveltekit/index.d.ts +0 -9
- package/dist/runtime/sveltekit/index.js +0 -5
- package/dist/runtime/sveltekit/internal.d.ts +0 -6
- package/dist/runtime/sveltekit/internal.js +0 -12
- package/dist/runtime/sveltekit/labels.d.ts +0 -20
- package/dist/runtime/sveltekit/labels.js +0 -13
- package/dist/runtime/sveltekit/preview.d.ts +0 -28
- package/dist/runtime/sveltekit/preview.js +0 -82
- package/dist/runtime/sveltekit/runtime.d.ts +0 -9
- package/dist/runtime/sveltekit/runtime.js +0 -26
- package/dist/runtime/t/OptionalTracking.d.ts +0 -13
- package/dist/runtime/t/OptionalTracking.js +0 -28
- package/dist/runtime/t/Pageview.d.ts +0 -9
- package/dist/runtime/t/Pageview.js +0 -118
- package/dist/runtime/vite/Label.d.ts +0 -13
- package/dist/runtime/vite/Label.js +0 -16
- package/dist/runtime/vite/primitives/Images.d.ts +0 -4
- package/dist/runtime/vite/primitives/Images.js +0 -12
- package/dist/runtime/vite/translations.d.ts +0 -28
- package/dist/runtime/vite/translations.js +0 -103
- package/templates/nextjs/src/app/(default)/layout.tsx +0 -10
- package/templates/nextjs/src/app/[locale]/layout.tsx +0 -22
- package/templates/nextjs/src/app/[locale]/page.tsx +0 -1
- package/templates/nextjs/src/components/Document.tsx +0 -26
- package/templates/nextjs/src/components/FimoPreviewBridge.tsx +0 -13
- /package/templates/nextjs/src/app/{(default)/page.tsx → page.tsx} +0 -0
|
@@ -73,11 +73,11 @@ Never construct `FimoString`, `FimoRichText`, `FimoBoolean`, or `FimoMedia` manu
|
|
|
73
73
|
|
|
74
74
|
Choose the framework surface:
|
|
75
75
|
|
|
76
|
-
- Next Server Components and data functions → `fimo
|
|
77
|
-
- Next Client Components → `fimo
|
|
78
|
-
- React Router/Vite client → `fimo
|
|
76
|
+
- Next Server Components and data functions → `fimo-next`
|
|
77
|
+
- Next Client Components → `fimo-next/client`
|
|
78
|
+
- React Router/Vite client → `fimo-react`
|
|
79
79
|
- Astro pages → `fimo/astro/components`
|
|
80
|
-
- Svelte components → `fimo
|
|
80
|
+
- Svelte components → `fimo-sveltekit/components`
|
|
81
81
|
|
|
82
82
|
Load the framework reference before copying an example. Next server and client imports are deliberately separate so React Query/client code does not leak into server bundles. Astro uses native `.astro` components and does not require React.
|
|
83
83
|
|
|
@@ -76,11 +76,20 @@ the selected pinned CLI. Give workers the project id, environment, exact CLI
|
|
|
76
76
|
invocation, and verification command. Generated `.fimo` JSON without a
|
|
77
77
|
successful platform read is not initialization.
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
Pick the setup path from the evidence:
|
|
80
|
+
|
|
81
|
+
- **Source-backed, same framework** — copy or `git worktree` the source into the
|
|
82
|
+
target directory first, then run `fimo link -C <target> --env <env>`
|
|
83
|
+
(`fimo link <project-id> -C <target> --env <env>` when the owner supplied an
|
|
84
|
+
id). Link creates or selects the project, keeps the source's code, framework,
|
|
85
|
+
git history, and `origin`, initializes a repository when the copy has none,
|
|
86
|
+
and adds only the Fimo dependency, `.fimo/project.json`, the `fimo` remote,
|
|
87
|
+
and `.fimo/config.json#runtime.framework`. It never overlays a template, so
|
|
88
|
+
the target must already contain the source.
|
|
89
|
+
- **Empty target, or an explicit framework conversion** — `fimo init` with the
|
|
90
|
+
chosen `--framework`, or `fimo migrate init <url> <dir>` for a URL crawl.
|
|
91
|
+
Both refuse a non-empty target and write nothing when they refuse.
|
|
92
|
+
|
|
84
93
|
If authentication, organization selection, project creation, environment
|
|
85
94
|
resolution, linking, or the verification read fails, stop before workers and
|
|
86
95
|
report the exact failed command and setup requirement.
|
|
@@ -134,8 +143,9 @@ report the exact failed command and setup requirement.
|
|
|
134
143
|
Private APIs and CMSs require a user-provided export or a narrowly scoped
|
|
135
144
|
server-side credential. Never read credentials from browser code or copy
|
|
136
145
|
them into browser code, migration artifacts, or reports. Target-project
|
|
137
|
-
authentication does not grant source access.
|
|
138
|
-
|
|
146
|
+
authentication does not grant source access. If the source API URL or access
|
|
147
|
+
is missing or unreachable, stop and ask the user for it; do not guess, replace
|
|
148
|
+
the content, or mark the lane complete.
|
|
139
149
|
- Model content before page code. Generated JSON is not imported content.
|
|
140
150
|
- Model editorial content Fimo-natively: blocks for structured or repeatable
|
|
141
151
|
sections, richtext for rich bodies, references for categories, authors,
|
|
@@ -162,8 +172,9 @@ report the exact failed command and setup requirement.
|
|
|
162
172
|
- Do not report completion until the QA gate passes or every failed check is
|
|
163
173
|
present in the migration report.
|
|
164
174
|
- Import through the data-plane commands and verify locally before deployment.
|
|
165
|
-
|
|
166
|
-
|
|
175
|
+
Deployment is not QA evidence. After successful local QA, follow the
|
|
176
|
+
new-project or existing-project rule in Completion and deployment. Never
|
|
177
|
+
publish without an explicit user request.
|
|
167
178
|
|
|
168
179
|
## Orient and route
|
|
169
180
|
|
|
@@ -204,14 +215,16 @@ The target is its own Fimo project directory. The client source checkout is
|
|
|
204
215
|
read-only evidence: never run setup inside it, never modify it, and never
|
|
205
216
|
hand-write a `.fimo/project.json` marker to fake a link.
|
|
206
217
|
|
|
207
|
-
`fimo migrate init` is the
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
218
|
+
`fimo migrate init` is the setup gate for an empty target; a target that
|
|
219
|
+
already holds the copied source is set up with `fimo link` instead (see
|
|
220
|
+
Initialized target precondition). `fimo migrate init` validates the target and
|
|
221
|
+
CLI auth, then delegates project selection and creation to the standard
|
|
222
|
+
`fimo init` flow (same options, no separate creation path), and returns a setup
|
|
223
|
+
receipt covering auth, the target link, the migration directory, and readiness.
|
|
224
|
+
It fails with a structured error when auth is missing, the target is missing or
|
|
225
|
+
invalid, or the project or organization is inaccessible. Both forms need a real
|
|
226
|
+
ID supplied by the owner — without one, stop with an unresolved owner action
|
|
227
|
+
instead of inventing an ID:
|
|
215
228
|
|
|
216
229
|
- Link an owner-supplied (empty) project:
|
|
217
230
|
`fimo migrate init <target-dir> --project-id <projectId> --framework <framework>`
|
|
@@ -225,8 +238,8 @@ React Router scaffold.
|
|
|
225
238
|
|
|
226
239
|
Setup scaffolds the target and pushes its initial commit; that is the only
|
|
227
240
|
remote write it performs — it never pushes schemas, uploads assets, or imports
|
|
228
|
-
entries.
|
|
229
|
-
|
|
241
|
+
entries. Setup itself never deploys or publishes; the one new-project preview
|
|
242
|
+
deploy happens only after successful local QA (see Completion and deployment).
|
|
230
243
|
|
|
231
244
|
## Command surface
|
|
232
245
|
|
|
@@ -253,12 +266,16 @@ Commands that perform actual data writes, all requiring the linked target:
|
|
|
253
266
|
`fimo singles update`, `fimo labels set|set-many`, `fimo forms push`.
|
|
254
267
|
- `fimo migrate init` (source-backed form): the project link/creation and
|
|
255
268
|
initial commit push described above.
|
|
269
|
+
- `fimo link`: project creation or selection plus the in-place adoption of a
|
|
270
|
+
copied source target.
|
|
256
271
|
- `fimo deploy` / `fimo publish` — owner-approved only.
|
|
257
272
|
|
|
258
273
|
## Migration loop
|
|
259
274
|
|
|
260
|
-
1. Run
|
|
261
|
-
|
|
275
|
+
1. Run the setup path from "Initialized target precondition" and inspect the
|
|
276
|
+
initialized target before any worker edits it. A `fimo link` adoption keeps
|
|
277
|
+
the source framework; the `fimo init` / `fimo migrate init` paths choose the
|
|
278
|
+
target framework through the same canonical option as
|
|
262
279
|
`fimo init`: pass the detected source framework for a source-backed
|
|
263
280
|
migration, the framework the user explicitly chose for a conversion, and —
|
|
264
281
|
for a URL-only or rebuild migration — the framework the user selected (ask
|
|
@@ -276,15 +293,19 @@ Commands that perform actual data writes, all requiring the linked target:
|
|
|
276
293
|
all structural target code, and must pass the framework gate in
|
|
277
294
|
`references/workers/framework.md` before content data and code workers
|
|
278
295
|
start. Worker prompts and worker reports are plain text.
|
|
279
|
-
3. The content planner reads every content-bearing source and consumer
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
296
|
+
3. The content planner reads every content-bearing source and consumer. When
|
|
297
|
+
content comes from an API, it traces the active application client and
|
|
298
|
+
retrieves the complete accessible dataset before pushing schemas. It then
|
|
299
|
+
writes complete schemas and import payloads, recording source items,
|
|
300
|
+
consumers, batches, and unresolved behavior in the text plan rather than a
|
|
301
|
+
second orchestration format.
|
|
302
|
+
4. Each discovery lane reports active media in its own surface. After the
|
|
303
|
+
runtime/framework, routes/SEO, and content discovery receipts are terminal,
|
|
304
|
+
the coordinator performs one fan-in: combine and deduplicate them into the
|
|
305
|
+
complete media-obligation list. Give only that list to the media worker; do
|
|
306
|
+
not require a content-planner rescan. Once it returns every mapping, patch
|
|
307
|
+
code and payload consumers. Start data after the asset gate and content code
|
|
308
|
+
only after its imported records read back successfully.
|
|
288
309
|
5. Fan in the workers' plain-text reports. Compare their claimed files with
|
|
289
310
|
`git diff`, their Fimo writes with read-back CLI queries, and their source
|
|
290
311
|
coverage with the content plan. Every source item must be migrated,
|
|
@@ -86,21 +86,18 @@ behavior in place; when one cannot be preserved, record an explicit gap with
|
|
|
86
86
|
the affected routes instead of shipping pages that silently lost their share
|
|
87
87
|
metadata.
|
|
88
88
|
|
|
89
|
-
##
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
For `next build`/`next start`, set temporary values in the shell or an ignored
|
|
102
|
-
`.env.local`; never commit secret values. In either mode, exercise at least one
|
|
103
|
-
client-side data read after startup.
|
|
89
|
+
## Fimo connection
|
|
90
|
+
|
|
91
|
+
Follow the target project's `fimo-code` Next.js reference and render its
|
|
92
|
+
`FimoProvider` once at the application root. The provider uses an explicit
|
|
93
|
+
host connection when one exists; otherwise it resolves the linked project and
|
|
94
|
+
active git branch on the server and passes only the public connection to the
|
|
95
|
+
browser. `withFimo` handles hosted preview origins, not the application
|
|
96
|
+
connection.
|
|
97
|
+
|
|
98
|
+
Do not create or edit `.env` / `.env.local` for a linked project's Fimo
|
|
99
|
+
connection. Run the project's normal `next dev`, `next build`, and `next start`
|
|
100
|
+
commands, then exercise at least one server read and one client-side data read.
|
|
104
101
|
|
|
105
102
|
## Preview embedding and response headers
|
|
106
103
|
|
|
@@ -94,12 +94,16 @@ If a media asset cannot be downloaded or uploaded:
|
|
|
94
94
|
- include a suggested action such as re-exporting the asset folder or providing
|
|
95
95
|
credentials
|
|
96
96
|
|
|
97
|
-
##
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
## Media obligations
|
|
98
|
+
|
|
99
|
+
Each discovery lane reports active media in its own surface: runtime/framework
|
|
100
|
+
files, routes and SEO, or content and API data. After every discovery receipt is
|
|
101
|
+
terminal, the coordinator combines and deduplicates those findings into the
|
|
102
|
+
complete media-obligation list. This consolidated list is the media worker's
|
|
103
|
+
only input; do not make the content planner rescan the whole application.
|
|
104
|
+
|
|
105
|
+
Record each obligation's source location, consuming route/entry, and intended
|
|
106
|
+
target field or node. Give it a stable identity that includes its field or
|
|
107
|
+
rich-text node path; a shared label or source URL is not unique. The media
|
|
108
|
+
worker cannot report complete until every obligation has an uploaded or
|
|
105
109
|
duplicate Fimo mapping, or an explicit unresolved/unsupported disposition.
|
|
@@ -44,9 +44,10 @@ items.
|
|
|
44
44
|
- Every media item referenced by routes, CMS entries, SEO, or forms is uploaded to
|
|
45
45
|
the Fimo media library (Fimo asset id/URL) or has an unresolved item. A local
|
|
46
46
|
`public/` copy is not an upload mapping.
|
|
47
|
-
- Every
|
|
48
|
-
richtext/Tiptap image nodes, has a mapping or
|
|
49
|
-
worker's completion claim alone is not
|
|
47
|
+
- Every obligation in the coordinator's consolidated media list, including
|
|
48
|
+
schema media fields and nested richtext/Tiptap image nodes, has a mapping or
|
|
49
|
+
explicit disposition; the media worker's completion claim alone is not
|
|
50
|
+
evidence. Reconcile the list against every discovery lane's media findings.
|
|
50
51
|
- Every visible form has a Fimo replacement, a preserved third-party
|
|
51
52
|
integration, or an unsupported note. A form became Fimo-native only when the
|
|
52
53
|
Fimo form matches the source behavior 1:1.
|
|
@@ -85,11 +86,11 @@ items.
|
|
|
85
86
|
used a user export or narrowly scoped server-side credential. Missing access
|
|
86
87
|
is unresolved for that lane, and no content was guessed.
|
|
87
88
|
|
|
88
|
-
For linked Next.js targets,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
For linked Next.js targets, the root `FimoProvider` resolves an explicit host
|
|
90
|
+
connection first, otherwise `.fimo/project.json` plus the active git branch,
|
|
91
|
+
and passes only the public connection to the browser. `withFimo` handles
|
|
92
|
+
hosted preview origins, not this connection. Run the normal `next dev`,
|
|
93
|
+
`next build`, and `next start` commands without creating a Fimo env file.
|
|
93
94
|
|
|
94
95
|
## Hosting
|
|
95
96
|
|
|
@@ -103,9 +104,9 @@ Owned by the runtime lane; verified here read-only.
|
|
|
103
104
|
translation goes through `FIMO_PREVIEW_ALLOWED_ORIGINS`; `withFimo` alone
|
|
104
105
|
does not solve headers — it only extends `allowedDevOrigins` during
|
|
105
106
|
`next dev`.
|
|
106
|
-
- The runtime report covers local startup, preview embedding, build,
|
|
107
|
-
|
|
108
|
-
claim backed by evidence.
|
|
107
|
+
- The runtime report covers local startup, preview embedding, build, the
|
|
108
|
+
resolved Fimo connection, header translations, and integration env-key
|
|
109
|
+
names, with every claim backed by evidence.
|
|
109
110
|
- With a browser available, record `browserProof` (rendered route plus console
|
|
110
111
|
state) for startup and embedding. Without one, use deterministic HTTP
|
|
111
112
|
status/header/process/log checks and mark visual proof explicitly
|
|
@@ -5,9 +5,8 @@ handoff. Do not import entries or rewrite application consumers.
|
|
|
5
5
|
|
|
6
6
|
1. Inspect every content-bearing source and consumer: Markdown/MDX bodies and
|
|
7
7
|
frontmatter, JSX/TSX modules, hardcoded arrays and objects, imports, data
|
|
8
|
-
clients, and call sites.
|
|
9
|
-
|
|
10
|
-
credential; never recover or copy secret values.
|
|
8
|
+
clients, and call sites. Identify whether each active source is a file,
|
|
9
|
+
inline value, API, CMS, or a mix before designing schemas.
|
|
11
10
|
2. Classify each value as collection content, single content, an
|
|
12
11
|
editor-visible label, or application-owned code. Repetition is evidence,
|
|
13
12
|
not an automatic collection rule. Assistive text, identifiers, and values
|
|
@@ -54,11 +53,41 @@ A construct is unresolved only when it genuinely cannot be migrated. Include
|
|
|
54
53
|
its exact source, user-visible impact, reason, and owner action; "custom" is not
|
|
55
54
|
a reason.
|
|
56
55
|
|
|
56
|
+
## API-backed content
|
|
57
|
+
|
|
58
|
+
Retrieve API content during this planning pass, before schemas are pushed or
|
|
59
|
+
data workers start:
|
|
60
|
+
|
|
61
|
+
1. Trace the application's active client, base-URL environment key, endpoints,
|
|
62
|
+
queries, pagination, locales, publication states, relations, media, and
|
|
63
|
+
consuming call sites. Server rendering may hide requests from the browser,
|
|
64
|
+
so browser traffic is fallback evidence rather than the source of truth.
|
|
65
|
+
2. Prove access with one read-only request. Read public APIs directly. Private
|
|
66
|
+
APIs require an owner-provided export or narrowly scoped server-side
|
|
67
|
+
credential; never recover, log, persist, or copy secret values. If the base
|
|
68
|
+
URL or required access is missing or unreachable, stop and ask the user for
|
|
69
|
+
it before planning schemas or payloads.
|
|
70
|
+
3. Fetch every required page, locale, and referenced record. For a few bounded
|
|
71
|
+
endpoints, direct requests are enough. For repeated or paginated reads,
|
|
72
|
+
write a temporary source-specific read-only script under
|
|
73
|
+
`.fimo/migration/tmp/`, then spot-check counts and references.
|
|
74
|
+
4. Preserve the retrieved responses as source evidence and payload inputs;
|
|
75
|
+
normalize transport details only. Do not create a provider registry or a
|
|
76
|
+
universal CMS model.
|
|
77
|
+
5. Design Fimo schemas from both the retrieved values and the code that uses
|
|
78
|
+
them. Never invent replacement content when source access is unavailable.
|
|
79
|
+
|
|
80
|
+
Once retrieval and consumer tracing are complete, push schemas, prepare
|
|
81
|
+
payloads, and let the coordinator fan out assets and one data batch per
|
|
82
|
+
schema/locale. Runtime, routes, locales, and other independent workers continue
|
|
83
|
+
in parallel while retrieval runs.
|
|
84
|
+
|
|
57
85
|
## Optional extraction helpers
|
|
58
86
|
|
|
59
87
|
Start with `rg` and targeted reads. A bounded read-only helper under
|
|
60
88
|
`.fimo/migration/tmp/` may parse repeated frontmatter, JSON/YAML exports, or
|
|
61
|
-
literal structures
|
|
89
|
+
literal structures, or retrieve repeated API pages while preserving source
|
|
90
|
+
identities. Spot-check its output.
|
|
62
91
|
The agent still owns classification, schema design, and consumer tracing. Do
|
|
63
92
|
not build a generic codemod system or let the helper write Fimo data or app
|
|
64
93
|
code.
|
|
@@ -19,6 +19,16 @@ Verify:
|
|
|
19
19
|
- build and representative browser interactions pass; and
|
|
20
20
|
- every unsupported item names its impact and owner action.
|
|
21
21
|
|
|
22
|
+
`fimo deploy` readiness proves only that the server stays up and a
|
|
23
|
+
representative page responds. After an approved deploy, browser QA must:
|
|
24
|
+
|
|
25
|
+
- open one representative route per route family and exercise one key interaction;
|
|
26
|
+
- fail on route `5xx`, blank or reloading pages, or required module, API, or runtime failures;
|
|
27
|
+
- inspect browser evidence and `fimo logs --json` before editing; and
|
|
28
|
+
- run at most one focused repair and redeploy, then report remaining failures unresolved.
|
|
29
|
+
|
|
30
|
+
Optional development-tool failures do not fail a rendered, stable application.
|
|
31
|
+
|
|
22
32
|
Return a plain-text report with status, duration, checks run, counts, failing
|
|
23
33
|
source items, and suggested bounded repair surface. The coordinator may run one
|
|
24
34
|
repair for that surface and rerun validation. It does not restart every worker
|
|
@@ -19,7 +19,7 @@ Plan a lane only when the source proves that surface exists:
|
|
|
19
19
|
| routes | route modules, redirects, SEO and host behavior | immediately |
|
|
20
20
|
| content planner | schemas, content payloads, and content handoff | immediately |
|
|
21
21
|
| locales | locale setup and translated UI copy | immediately |
|
|
22
|
-
| assets/forms | media uploads and form behavior | after
|
|
22
|
+
| assets/forms | media uploads and form behavior | after discovery fan-in |
|
|
23
23
|
| content data | one schema/locale import | after assets |
|
|
24
24
|
| content code | listed consuming files | after its data read-back |
|
|
25
25
|
| validator | read-only final checks | after all writers |
|
|
@@ -35,15 +35,19 @@ read-back.
|
|
|
35
35
|
- **runtime** preserves the detected framework, router, runtime, dependencies,
|
|
36
36
|
provider setup, environment wiring, and provider-specific configuration. An
|
|
37
37
|
unclear or unsupported setup produces a question, not a silent conversion.
|
|
38
|
+
It reports active media found in its surface.
|
|
38
39
|
- **routes** preserves every route, redirect, 404, SEO/OG/social output,
|
|
39
40
|
sitemap, robots, feeds, headers, and other observable host behavior. A file
|
|
40
|
-
that consumes migrated content belongs to its later content-code worker.
|
|
41
|
+
that consumes migrated content belongs to its later content-code worker. It
|
|
42
|
+
reports active route and SEO media.
|
|
41
43
|
- **content planner** discovers and models all editable content, labels,
|
|
42
|
-
consumers, schemas, payloads, media
|
|
43
|
-
|
|
44
|
+
consumers, schemas, payloads, media in its content/API surface, and execution
|
|
45
|
+
batches. It first retrieves any API-backed source through the application's
|
|
46
|
+
real client contract; it never imports entries or rewrites consumers. Read
|
|
44
47
|
`references/workers/content-planner.md`.
|
|
45
|
-
- **assets/forms**
|
|
46
|
-
|
|
48
|
+
- **assets/forms** receives only the coordinator's consolidated, deduplicated
|
|
49
|
+
media-obligation list, uploads it, and returns mappings for code and payload
|
|
50
|
+
consumers. It replaces a form or integration only when Fimo preserves its
|
|
47
51
|
behavior end to end; otherwise it preserves or reports it.
|
|
48
52
|
- **content data and code** execute the planner handoff without rediscovering
|
|
49
53
|
or redesigning it. Read `references/workers/content-execution.md`.
|
|
@@ -62,12 +66,17 @@ other after it. Do not add a metadata format for a small overlap.
|
|
|
62
66
|
write.
|
|
63
67
|
2. Start runtime/routes/content-planner/locales together, or the framework
|
|
64
68
|
worker plus content planner/locales in conversion mode.
|
|
65
|
-
3.
|
|
66
|
-
|
|
69
|
+
3. Wait for every discovery receipt to become terminal, then perform one fan-in
|
|
70
|
+
of runtime/framework, routes/SEO, and content media findings. Combine and
|
|
71
|
+
deduplicate them into the complete media-obligation list; do not run another
|
|
72
|
+
discovery pass.
|
|
73
|
+
4. Give only that consolidated list to assets/forms. Wait for its mappings
|
|
74
|
+
before code or payload consumers replace source references.
|
|
75
|
+
5. Start data workers only after the asset gate and, in conversion mode, the
|
|
67
76
|
framework gate.
|
|
68
|
-
|
|
77
|
+
6. Start each code worker only after its own imported records read back as
|
|
69
78
|
non-empty. A build over empty data proves nothing.
|
|
70
|
-
|
|
79
|
+
7. Start the independent validator only after every writer has returned.
|
|
71
80
|
|
|
72
81
|
Each prompt names the worker's source paths, exact target ownership, applicable
|
|
73
82
|
reference above, and dependencies. Each report states status, duration, source
|
|
@@ -45,8 +45,16 @@ Classify the available evidence:
|
|
|
45
45
|
|
|
46
46
|
For private APIs or CMSs, ask for a user-provided export or a narrowly scoped
|
|
47
47
|
server-side credential. Never recover credentials from browser bundles or copy
|
|
48
|
-
them into migration artifacts.
|
|
49
|
-
|
|
48
|
+
them into migration artifacts. If the source API URL or access is missing or
|
|
49
|
+
unreachable, stop and ask the user for it; do not guess or continue with
|
|
50
|
+
replacement content.
|
|
51
|
+
|
|
52
|
+
For API-backed content, trace the active client and call sites in source code,
|
|
53
|
+
prove one read, then retrieve all required pages, locales, relations, and media
|
|
54
|
+
during content planning. Use direct requests for bounded endpoints or a
|
|
55
|
+
temporary read-only script for repeated and paginated reads. Do not wait for
|
|
56
|
+
schema or code workers, and do not rely on browser traffic when SSR or build
|
|
57
|
+
time fetches may hide the requests.
|
|
50
58
|
|
|
51
59
|
For URL-only migrations, run `fimo migrate <url> [dir]` and inspect the
|
|
52
60
|
generated `.fimo/migrations/current/` files as source evidence. Do not copy
|
|
@@ -58,16 +66,18 @@ The coordinator launches only the workers supported by the source:
|
|
|
58
66
|
|
|
59
67
|
- **runtime**: preserve the detected framework, router, runtime, dependencies,
|
|
60
68
|
provider configuration, and environment wiring. A framework conversion needs
|
|
61
|
-
an explicit user choice.
|
|
69
|
+
an explicit user choice. Report active media found in this surface.
|
|
62
70
|
- **routes/SEO**: preserve one target route per source route, redirects, 404,
|
|
63
71
|
metadata, OG/social output, sitemap, robots, and other observable behavior.
|
|
72
|
+
Report active media found in this surface.
|
|
64
73
|
- **content planner**: discover content, labels, data sources, consumers, and
|
|
65
74
|
schemas; push schemas and prepare content payloads. It does not rewrite page
|
|
66
|
-
code or import every entry itself.
|
|
75
|
+
code or import every entry itself. Report active media found in content and
|
|
76
|
+
API data; do not rescan unrelated runtime or route surfaces.
|
|
67
77
|
- **locales**: configure locales and migrate translated UI-visible copy when
|
|
68
78
|
the source has it.
|
|
69
|
-
- **assets/forms**: after
|
|
70
|
-
and preserve, replace, or report forms and integrations.
|
|
79
|
+
- **assets/forms**: after the discovery fan-in, upload the consolidated media
|
|
80
|
+
obligations and preserve, replace, or report forms and integrations.
|
|
71
81
|
|
|
72
82
|
When the user explicitly chose a framework conversion, one framework
|
|
73
83
|
conversion worker replaces the runtime and routes lanes and owns all
|
|
@@ -82,17 +92,22 @@ Workers may write the application inside their ownership. They do not need a
|
|
|
82
92
|
JSON plan or receipt. If two workers need the same file, name one owner and run
|
|
83
93
|
the other after it.
|
|
84
94
|
|
|
85
|
-
## Phase 3:
|
|
95
|
+
## Phase 3: Discovery fan-in and content planning
|
|
86
96
|
|
|
87
97
|
The planner follows `references/workers/content-planner.md`, plus
|
|
88
98
|
`references/content.md`, `references/decision.md`, and
|
|
89
99
|
`references/import-contract.md`. Its text plan and payloads must be complete
|
|
90
|
-
before Phase 4;
|
|
100
|
+
before Phase 4; this includes retrieving API-backed source data and tracing its
|
|
101
|
+
consumers. Data workers must not rediscover unrelated source files.
|
|
102
|
+
|
|
103
|
+
After the runtime/framework, routes/SEO, and content discovery receipts are all
|
|
104
|
+
terminal, the coordinator combines and deduplicates their media findings into
|
|
105
|
+
the complete media-obligation list. This is the media worker's only input.
|
|
91
106
|
|
|
92
107
|
## Phase 4: Media, forms, and integrations
|
|
93
108
|
|
|
94
|
-
1. Account for every
|
|
95
|
-
and richtext/Tiptap image nodes, plus route, SEO, and form media.
|
|
109
|
+
1. Account for every consolidated media obligation, including schema media
|
|
110
|
+
fields and richtext/Tiptap image nodes, plus route, SEO, and form media.
|
|
96
111
|
2. Upload media through Fimo and replace references only after the upload is
|
|
97
112
|
confirmed. A local `public/` copy or source URL is not an imported asset.
|
|
98
113
|
3. Preserve third-party integrations unless Fimo reproduces their exact
|
|
@@ -139,4 +154,7 @@ Use `complete` only when required checks pass, `complete-with-unresolved` when
|
|
|
139
154
|
the app works and every gap is explicit, and `draft-only` when import or
|
|
140
155
|
verification is incomplete.
|
|
141
156
|
|
|
142
|
-
All checks are local.
|
|
157
|
+
All checks are local. Deployment is not QA evidence. After successful local QA,
|
|
158
|
+
run one plain `fimo deploy` for a newly created project unless the user opted out
|
|
159
|
+
or `FIMO_MIGRATION_NO_DEPLOY=1`; for an existing linked project, offer deploy and
|
|
160
|
+
wait for approval. Never publish automatically.
|
|
@@ -22,7 +22,7 @@ Give the AI more to work with:
|
|
|
22
22
|
- **+ button**: Opens a dropdown with options:
|
|
23
23
|
- **Attach Assets** -- browse your media library and attach files.
|
|
24
24
|
- **Attach Entries** -- attach CMS content for the AI to reference.
|
|
25
|
-
- **Upload from Computer** -- upload a file directly. ZIP archives are supported up to 20 MiB; the AI can download and inspect them under `/tmp` in its sandbox while the original stays attached to the conversation.
|
|
25
|
+
- **Upload from Computer** -- upload a file directly. For GLB, self-contained glTF, FBX, OBJ, STL, and PLY models, Fimo renders four views and saves a description so every chat model can understand the attachment. ZIP archives are supported up to 20 MiB; the AI can download and inspect them under `/tmp` in its sandbox while the original stays attached to the conversation.
|
|
26
26
|
- **Draw** -- opens the drawing tool where you can sketch a wireframe or layout idea for the AI to follow.
|
|
27
27
|
- **@ mentions**: Type **@** in the chat to reference specific files, pages, or content inline.
|
|
28
28
|
|
|
@@ -48,6 +48,23 @@ You can upgrade from two places:
|
|
|
48
48
|
From there:
|
|
49
49
|
|
|
50
50
|
1. Compare the available plans side by side.
|
|
51
|
-
2.
|
|
51
|
+
2. Pro includes more monthly credits, custom domain support, and the ability to hide the Fimo badge on your published site.
|
|
52
52
|
3. Pick a plan and complete checkout.
|
|
53
53
|
4. Your new monthly credit pool is available right away.
|
|
54
|
+
|
|
55
|
+
## Legacy plan transitions
|
|
56
|
+
|
|
57
|
+
Some organizations that already have Premium may see a **Plan transition**
|
|
58
|
+
section in Billing. It shows the recorded offer and the deadline to respond.
|
|
59
|
+
|
|
60
|
+
- **Review the offer** opens the plan dialog without charging anything.
|
|
61
|
+
Selecting Pro opens a final confirmation with the provider-calculated unused
|
|
62
|
+
Premium credit, amount charged now, next renewal date, and next renewal
|
|
63
|
+
amount. Fimo rechecks those figures before switching; if they changed, you
|
|
64
|
+
review and confirm the new amount. The plan changes only after the provider
|
|
65
|
+
confirms the new subscription.
|
|
66
|
+
- **Move to Free instead** is an explicit choice. Premium remains active until
|
|
67
|
+
the end of the current billing period, then the organization moves to Free.
|
|
68
|
+
- An offer that is still being prepared, has expired, or has already been
|
|
69
|
+
resolved is shown as a status without an accept action. Silence never
|
|
70
|
+
accepts a price change.
|
|
@@ -83,6 +83,8 @@ Press **Alt+J** to move to the next entry or **Alt+K** to move to the previous o
|
|
|
83
83
|
|
|
84
84
|
If a field is invalid, the editor keeps the change unsaved and pins a status bar below the header. Choose **Review issues** to jump to the first invalid field, then **Next issue** to move through the remaining fields. Collapsed blocks open automatically. Once every issue is fixed, the editor confirms that all fields are valid and resumes saving.
|
|
85
85
|
|
|
86
|
+
Longer entry forms may have quiet field-group tabs below the header. Choose a group to focus on that part of the entry, or choose **All fields** for the complete form. Studio remembers the selected group for that content type during the browser session, and copied entry links preserve the active group. If validation finds a problem elsewhere, **Review issues** opens All fields before focusing it. Groups only change the editor view; they do not hide content from the API or restrict what the AI can edit.
|
|
87
|
+
|
|
86
88
|
A field labelled with a padlocked globe is shared across languages: it holds one value for the whole entry, so editing it in any language changes it in all of them. Fields without that marker are per language and only affect the language you are editing. Hover the icon for the same explanation in context.
|
|
87
89
|
|
|
88
90
|
## Editing Text
|
|
@@ -35,6 +35,7 @@ You may see different overlays depending on what is happening:
|
|
|
35
35
|
|
|
36
36
|
- **"Working"** -- A loading overlay (heading "Working", subtext "Getting your preview in motion...") while the preview is being prepared.
|
|
37
37
|
- **Error overlay** -- Something went wrong. The overlay shows details about the issue, and the AI can often auto-fix it for you.
|
|
38
|
+
- **"Some installed packages need approval"** -- Choose **Fix with Fimo** to send the complete repair context to the coding agent, or **Copy details** to handle it elsewhere. Review every named package, commit only trusted package-specific approvals, and retry Preview. Never replace the project policy with a blanket allow-all setting.
|
|
38
39
|
- **First generation progress** -- When your project is being built for the first time, a progress overlay shows the current status.
|
|
39
40
|
|
|
40
41
|
## Switching Workspaces
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// AUTO-GENERATED by `fimo` from src/schemas/HomePage.json - DO NOT EDIT.
|
|
2
2
|
// Change content fields in the schema, then run `fimo validate`.
|
|
3
|
-
// Runtime implementation lives in the project-local fimo
|
|
4
|
-
import { createSingletonClient } from 'fimo
|
|
5
|
-
import type { ContentSchema, SingletonContentClient } from 'fimo
|
|
3
|
+
// Runtime implementation lives in the project-local fimo-react package.
|
|
4
|
+
import { createSingletonClient } from 'fimo-react';
|
|
5
|
+
import type { ContentSchema, SingletonContentClient } from 'fimo-react';
|
|
6
6
|
|
|
7
7
|
import schema from './HomePage.json';
|
|
8
8
|
import type { HomePage, HomePageInput } from './HomePage.types';
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { AstroIntegration } from 'astro';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export interface FimoAstroConfigOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Hosting adapter registered for `output: 'server'` builds that declare no
|
|
5
|
+
* adapter of their own. Supplied by `fimo-astro/config`; `fimo` itself ships
|
|
6
|
+
* no provider so non-Astro projects never install one (FIMO-1635).
|
|
7
|
+
*/
|
|
8
|
+
hostingAdapter?: AstroIntegration;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Connect an Astro app to Fimo preview and the git branch's Fimo env.
|
|
12
|
+
* Server-rendered Fimo hosting needs the adapter from `fimo-astro/config`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function fimo(options?: FimoAstroConfigOptions): AstroIntegration;
|
|
4
15
|
//# sourceMappingURL=config.d.ts.map
|