fimo 0.20.0 → 0.21.0-staging.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.
@@ -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
- For an existing non-empty application, reuse the CLI's real flow: create or
80
- select the Fimo project with `fimo init`, then run
81
- `fimo link <project-id> -C <target> --env <env>` and verify the data plane.
82
- `fimo migrate init <url> <dir>` is only usable when the target directory is
83
- empty or already linked.
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.
@@ -204,14 +213,16 @@ The target is its own Fimo project directory. The client source checkout is
204
213
  read-only evidence: never run setup inside it, never modify it, and never
205
214
  hand-write a `.fimo/project.json` marker to fake a link.
206
215
 
207
- `fimo migrate init` is the migration setup gate. For a source-backed migration
208
- it validates the target and CLI auth, then delegates project selection and
209
- creation to the standard `fimo init` flow (same options, no separate creation
210
- path), and returns a setup receipt covering auth, the target link, the
211
- migration directory, and readiness. It fails with a structured error when auth
212
- is missing, the target is missing or invalid, or the project or organization
213
- is inaccessible. Both forms need a real ID supplied by the owner — without
214
- one, stop with an unresolved owner action instead of inventing an ID:
216
+ `fimo migrate init` is the setup gate for an empty target; a target that
217
+ already holds the copied source is set up with `fimo link` instead (see
218
+ Initialized target precondition). `fimo migrate init` validates the target and
219
+ CLI auth, then delegates project selection and creation to the standard
220
+ `fimo init` flow (same options, no separate creation path), and returns a setup
221
+ receipt covering auth, the target link, the migration directory, and readiness.
222
+ It fails with a structured error when auth is missing, the target is missing or
223
+ invalid, or the project or organization is inaccessible. Both forms need a real
224
+ ID supplied by the owner — without one, stop with an unresolved owner action
225
+ instead of inventing an ID:
215
226
 
216
227
  - Link an owner-supplied (empty) project:
217
228
  `fimo migrate init <target-dir> --project-id <projectId> --framework <framework>`
@@ -253,12 +264,16 @@ Commands that perform actual data writes, all requiring the linked target:
253
264
  `fimo singles update`, `fimo labels set|set-many`, `fimo forms push`.
254
265
  - `fimo migrate init` (source-backed form): the project link/creation and
255
266
  initial commit push described above.
267
+ - `fimo link`: project creation or selection plus the in-place adoption of a
268
+ copied source target.
256
269
  - `fimo deploy` / `fimo publish` — owner-approved only.
257
270
 
258
271
  ## Migration loop
259
272
 
260
- 1. Run `fimo migrate init` and inspect the initialized target before any worker
261
- edits it. Choose the target framework through the same canonical option as
273
+ 1. Run the setup path from "Initialized target precondition" and inspect the
274
+ initialized target before any worker edits it. A `fimo link` adoption keeps
275
+ the source framework; the `fimo init` / `fimo migrate init` paths choose the
276
+ target framework through the same canonical option as
262
277
  `fimo init`: pass the detected source framework for a source-backed
263
278
  migration, the framework the user explicitly chose for a conversion, and —
264
279
  for a URL-only or rebuild migration — the framework the user selected (ask
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "bundled": true,
3
3
  "bundler": "esbuild",
4
- "bundledAt": "2026-08-21T16:17:31.344Z",
4
+ "bundledAt": "2026-08-22T06:55:45.215Z",
5
5
  "cliVersion": "0.20.0",
6
6
  "external": [
7
7
  "oxc-parser",