fimo 2.3.0-staging.2 → 2.3.1-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.
- package/assets/skills/fimo-cli/references/content.md +1 -1
- package/assets/skills/fimo-cli/references/integrations.md +3 -3
- package/assets/skills/fimo-code/references/content/schema.md +12 -13
- package/dist/cli/bundle.json +2 -2
- package/dist/cli/index.js +5 -7
- package/package.json +8 -8
- package/templates/astro/package.json +2 -2
- package/templates/nextjs/package.json +3 -3
- package/templates/react-router/package.json +4 -4
- package/templates/sveltekit/package.json +2 -2
- package/templates/vite/package.json +4 -4
|
@@ -13,7 +13,7 @@ Never remove `isSingleton: true` merely because `fimo entries create` rejects th
|
|
|
13
13
|
|
|
14
14
|
## Flow
|
|
15
15
|
|
|
16
|
-
1. Write `src/schemas/{Uid}.json` — PascalCase filename (e.g. `BlogPost.json`). Run `fimo skills get fimo-code --ref content/schema` for the JSON contract.
|
|
16
|
+
1. Write `src/schemas/{Uid}.json` — PascalCase filename (e.g. `BlogPost.json`). Run `fimo skills get fimo-code --ref content/schema` to decide what becomes editor-managed content (Single, collection, blocks, references, labels, or `json`) and for the JSON contract.
|
|
17
17
|
2. Run `fimo schemas push {Uid}`. It registers the schema and generates the framework-specific public modules. It does not run whole-project validation.
|
|
18
18
|
3. App code imports generated public modules, never `.types.ts` directly. Load the detected framework reference before choosing server modules, client modules, hooks, or a registry.
|
|
19
19
|
4. Seed collections via `fimo entries create`, or update one-off content via `fimo singles update`. Generate cover images first with `fimo image generate` if needed (see `media.md` / `assets.md`).
|
|
@@ -55,8 +55,7 @@ fimo integrations enable firecrawl --connection client-a
|
|
|
55
55
|
|
|
56
56
|
Bare enable uses the integration's default auth path. For Firecrawl, that is "Use Fimo credits".
|
|
57
57
|
|
|
58
|
-
If an integration has no safe default auth path, bare enable should stop with a repair command instead of guessing.
|
|
59
|
-
integrations point to `fimo integrations connect <integration>`. API-key integrations point to
|
|
58
|
+
If an integration has no safe default auth path, bare enable should stop with a repair command instead of guessing. API-key integrations point to
|
|
60
59
|
`fimo integrations connect <integration> --name <name> --token-stdin`, then
|
|
61
60
|
`fimo integrations enable <integration> --connection <name>`.
|
|
62
61
|
|
|
@@ -76,13 +75,14 @@ There is no silent fallback. If a project is enabled with a named API-key connec
|
|
|
76
75
|
## Connections
|
|
77
76
|
|
|
78
77
|
```bash
|
|
79
|
-
fimo integrations connect slack
|
|
80
78
|
fimo integrations connect firecrawl --name client-a --token-stdin
|
|
81
79
|
fimo integrations enable firecrawl --connection client-a
|
|
82
80
|
```
|
|
83
81
|
|
|
84
82
|
Use `connect` for provider accounts, workspaces, OAuth installs, and API-key accounts. Connections live at the organization level and are shared as capabilities, not as visible credentials. A project chooses one by enabling the integration with `--connection <alias>`.
|
|
85
83
|
|
|
84
|
+
Set up Slack from **Project Settings > Connections** in Fimo Studio. Slack app creation and workspace approval require an explicit organization app choice, so the CLI does not guess one.
|
|
85
|
+
|
|
86
86
|
## Run
|
|
87
87
|
|
|
88
88
|
```bash
|
|
@@ -23,6 +23,18 @@ Write one schema per `src/schemas/<Uid>.json`. The PascalCase filename must matc
|
|
|
23
23
|
|
|
24
24
|
Required root keys: `uid`, `name`, and `fields`.
|
|
25
25
|
|
|
26
|
+
## Model what editors manage
|
|
27
|
+
|
|
28
|
+
Design schemas around what content editors need to see and change in Fimo Studio.
|
|
29
|
+
|
|
30
|
+
- Use clear, editor-facing names for Singles, collections, fields, blocks, and groups. For example, use `heroHeading` instead of `H1`, and `Testimonial` with the name `Testimonials`. Order and group fields the way editors work through the form.
|
|
31
|
+
- Use labels for small standalone interface copy. Use schemas when content has structure, media, or repeated records.
|
|
32
|
+
- Use a Single for one shared document such as site settings or navigation. Set `isSingleton` at the schema root: `{ "uid": "HomePage", "name": "Homepage", "isSingleton": true, "fields": {} }`. Use a collection for independent records such as posts, products, or team members.
|
|
33
|
+
- Prefer structured fields: `richtext` for formatted prose, `blocks` for repeatable sections, `reference` for shared records, and `media` for assets.
|
|
34
|
+
- Avoid `json` for editor-managed content. Use it only for opaque data that editors do not need to understand or edit.
|
|
35
|
+
|
|
36
|
+
Keep routing, layout, computed values, and external system data in code. Load `fimo-cli/references/content.md` for the Single and collection write workflows.
|
|
37
|
+
|
|
26
38
|
## Group fields in Studio
|
|
27
39
|
|
|
28
40
|
Use optional top-level `groups` when an entry has meaningful editing areas, such as Overview, Tickets, SEO, or Scheduling. They work best for longer forms where editors regularly work on one area at a time. Usually skip groups for short forms, one-field groups, or vague buckets such as General and Other. Prefer two to five groups organized around editor tasks. This is guidance, not a schema limit.
|
|
@@ -46,19 +58,6 @@ Assign each top-level field with `group`; one field may appear in more than one
|
|
|
46
58
|
|
|
47
59
|
Group IDs must be unique, at most one group may be the default, and memberships must reference a declared group. Only top-level fields can be grouped; fields inside blocks cannot declare `group`.
|
|
48
60
|
|
|
49
|
-
Use `"isSingleton": true` whenever the site has exactly one logical document: a homepage, site settings, an About page, or one campaign landing page. Do not turn it into a one-entry collection just to seed content; keep the Single and load `fimo-cli/references/content.md` for the `fimo singles update` workflow.
|
|
50
|
-
|
|
51
|
-
```json
|
|
52
|
-
{
|
|
53
|
-
"uid": "HomePage",
|
|
54
|
-
"name": "Homepage",
|
|
55
|
-
"isSingleton": true,
|
|
56
|
-
"fields": {
|
|
57
|
-
"title": { "type": "string", "required": true }
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
61
|
## Locale policy
|
|
63
62
|
|
|
64
63
|
- Omit `i18n` or use `{ "enabled": true }` for localized variants.
|
package/dist/cli/bundle.json
CHANGED