fimo 2.2.0-staging.8 → 2.2.0

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 (106) hide show
  1. package/assets/agent-templates/_default/config.yaml +6 -0
  2. package/assets/agent-templates/broken-link-sweeper/config.yaml +1 -0
  3. package/assets/content-templates/shared/types.eta +65 -6
  4. package/assets/skills/fimo-cli/SKILL.md +5 -3
  5. package/assets/skills/fimo-cli/references/agents.md +29 -4
  6. package/assets/skills/fimo-cli/references/assets.md +42 -3
  7. package/assets/skills/fimo-cli/references/branches.md +9 -8
  8. package/assets/skills/fimo-cli/references/content.md +4 -4
  9. package/assets/skills/fimo-cli/references/credits.md +12 -19
  10. package/assets/skills/fimo-cli/references/deploy.md +8 -8
  11. package/assets/skills/fimo-cli/references/forms.md +3 -1
  12. package/assets/skills/fimo-cli/references/history.md +3 -2
  13. package/assets/skills/fimo-cli/references/inbox.md +86 -0
  14. package/assets/skills/fimo-cli/references/init.md +7 -6
  15. package/assets/skills/fimo-cli/references/invite.md +11 -9
  16. package/assets/skills/fimo-cli/references/labels.md +3 -11
  17. package/assets/skills/fimo-cli/references/locales.md +5 -3
  18. package/assets/skills/fimo-cli/references/preview.md +1 -2
  19. package/assets/skills/fimo-cli/references/projects.md +8 -8
  20. package/assets/skills/fimo-cli/references/schedules.md +6 -4
  21. package/assets/skills/fimo-cli/references/webhooks.md +6 -4
  22. package/assets/skills/fimo-code/references/assets.md +22 -11
  23. package/assets/skills/fimo-code/references/content/clients.md +15 -1
  24. package/assets/skills/fimo-code/references/content/schema.md +1 -0
  25. package/assets/skills/fimo-code/references/frameworks/astro.md +1 -1
  26. package/assets/skills/fimo-code/references/frameworks/next/app-router.md +12 -1
  27. package/assets/skills/fimo-code/references/frameworks/next/locales.md +2 -2
  28. package/assets/skills/fimo-code/references/frameworks/next.md +1 -1
  29. package/assets/skills/fimo-code/references/locales.md +4 -2
  30. package/assets/skills/fimo-migration/SKILL.md +54 -16
  31. package/assets/skills/fimo-migration/references/frameworks/nextjs.md +8 -0
  32. package/assets/skills/fimo-migration/references/media.md +11 -0
  33. package/assets/skills/fimo-migration/references/qa.md +30 -4
  34. package/assets/skills/fimo-migration/references/questions-and-improvements.md +188 -0
  35. package/assets/skills/fimo-migration/references/workers/content-planner.md +8 -3
  36. package/assets/skills/fimo-migration/references/workers/validator.md +20 -6
  37. package/assets/skills/fimo-migration/references/workers.md +17 -6
  38. package/assets/skills/fimo-migration/references/workflow.md +36 -6
  39. package/assets/skills/fimo-studio/SKILL.md +3 -1
  40. package/assets/skills/fimo-studio/references/agents.md +25 -0
  41. package/assets/skills/fimo-studio/references/ai-chat.md +1 -2
  42. package/assets/skills/fimo-studio/references/billing-and-credits.md +14 -7
  43. package/assets/skills/fimo-studio/references/visual-editing.md +9 -1
  44. package/assets/skills/fimo-studio/references/webhooks.md +1 -1
  45. package/dist/cli/bundle.json +2 -2
  46. package/dist/cli/index.js +210 -179
  47. package/dist/runtime/content/client/collection-core.js +3 -2
  48. package/dist/runtime/content/client/core-types.d.ts +4 -3
  49. package/dist/runtime/content/client/internal.d.ts +2 -0
  50. package/dist/runtime/content/client/internal.js +54 -25
  51. package/dist/runtime/content/client/singleton-core.js +2 -1
  52. package/dist/runtime/content/index.d.ts +1 -1
  53. package/dist/runtime/content/index.js +1 -1
  54. package/dist/runtime/content/serialization.d.ts +4 -3
  55. package/dist/runtime/content/serialization.js +4 -3
  56. package/dist/runtime/primitives/lib/index.d.ts +1 -1
  57. package/dist/runtime/primitives/lib/index.js +1 -1
  58. package/dist/runtime/primitives/lib/primitives.d.ts +39 -12
  59. package/dist/runtime/primitives/lib/primitives.js +83 -17
  60. package/dist/runtime/primitives/lib/template.js +2 -2
  61. package/dist/runtime/shared/local-runtime-env.d.ts +2 -2
  62. package/dist/runtime/shared/local-runtime-env.js +14 -9
  63. package/dist/runtime/templates.d.ts +9 -2
  64. package/dist/runtime/templates.js +36 -7
  65. package/dist/scripts/validate-schemas.js +10 -15
  66. package/package.json +10 -8
  67. package/release.json +2 -2
  68. package/templates/astro/AGENTS.md +1 -1
  69. package/templates/astro/package.json +2 -2
  70. package/templates/nextjs/AGENTS.md +2 -2
  71. package/templates/nextjs/package.json +3 -3
  72. package/templates/nextjs/src/app/layout.tsx +4 -1
  73. package/templates/react-router/AGENTS.md +2 -2
  74. package/templates/react-router/package.json +4 -4
  75. package/templates/sveltekit/AGENTS.md +1 -1
  76. package/templates/sveltekit/package.json +2 -2
  77. package/templates/vite/AGENTS.md +5 -1
  78. package/templates/vite/package.json +4 -4
  79. package/templates/welcome/manifest.json +655 -0
  80. package/templates/welcome/media/analytics-overview.avif +0 -0
  81. package/templates/welcome/media/autonomous-loop.avif +0 -0
  82. package/templates/welcome/media/editable-preview.avif +0 -0
  83. package/templates/welcome/media/media-library.avif +0 -0
  84. package/templates/welcome/media/slack-teams.avif +0 -0
  85. package/templates/welcome/template/.fimo/agents/welcome-guide/GOAL.md +12 -0
  86. package/templates/welcome/template/.fimo/agents/welcome-guide/capabilities.yaml +3 -0
  87. package/templates/welcome/template/.fimo/agents/welcome-guide/config.yaml +8 -0
  88. package/templates/welcome/template/.fimo/config.json +53 -0
  89. package/templates/welcome/template/src/font.css +60 -0
  90. package/templates/welcome/template/src/pages/ArticleDetail.tsx +104 -0
  91. package/templates/welcome/template/src/pages/Index.tsx +36 -0
  92. package/templates/welcome/template/src/pages/SiteContent.tsx +674 -0
  93. package/templates/welcome/template/src/pages/fallback-content.ts +152 -0
  94. package/templates/welcome/template/src/routes.ts +9 -0
  95. package/templates/welcome/template/src/schemas/Article.json +34 -0
  96. package/templates/welcome/template/src/schemas/Article.ts +54 -0
  97. package/templates/welcome/template/src/schemas/Article.types.ts +93 -0
  98. package/templates/welcome/template/src/schemas/Author.json +17 -0
  99. package/templates/welcome/template/src/schemas/Author.ts +51 -0
  100. package/templates/welcome/template/src/schemas/Author.types.ts +54 -0
  101. package/templates/welcome/template/src/schemas/Category.json +17 -0
  102. package/templates/welcome/template/src/schemas/Category.ts +51 -0
  103. package/templates/welcome/template/src/schemas/Category.types.ts +54 -0
  104. package/templates/welcome/template/src/schemas/HomePage.json +110 -0
  105. package/templates/welcome/template/src/schemas/HomePage.ts +22 -0
  106. package/templates/welcome/template/src/schemas/HomePage.types.ts +116 -0
@@ -0,0 +1,110 @@
1
+ {
2
+ "uid": "HomePage",
3
+ "name": "Home page",
4
+ "isSingleton": true,
5
+ "i18n": {
6
+ "enabled": false
7
+ },
8
+ "fields": {
9
+ "title": {
10
+ "type": "string",
11
+ "required": true
12
+ },
13
+ "intro": {
14
+ "type": "richtext",
15
+ "required": true
16
+ },
17
+ "heroImage": {
18
+ "type": "media",
19
+ "required": true
20
+ },
21
+ "heroImageHint": {
22
+ "type": "string",
23
+ "required": true
24
+ },
25
+ "startLabel": {
26
+ "type": "string",
27
+ "required": true
28
+ },
29
+ "tourTitle": {
30
+ "type": "string",
31
+ "required": true
32
+ },
33
+ "tourIntro": {
34
+ "type": "text",
35
+ "required": true
36
+ },
37
+ "steps": {
38
+ "type": "blocks",
39
+ "min": 4,
40
+ "max": 4,
41
+ "schema": {
42
+ "fields": {
43
+ "number": {
44
+ "type": "string",
45
+ "required": true
46
+ },
47
+ "title": {
48
+ "type": "string",
49
+ "required": true
50
+ },
51
+ "body": {
52
+ "type": "text",
53
+ "required": true
54
+ },
55
+ "highlight": {
56
+ "type": "text"
57
+ },
58
+ "actionLabel": {
59
+ "type": "string",
60
+ "required": true
61
+ },
62
+ "action": {
63
+ "type": "string",
64
+ "required": true
65
+ }
66
+ }
67
+ }
68
+ },
69
+ "articlesTitle": {
70
+ "type": "string",
71
+ "required": true
72
+ },
73
+ "articlesIntro": {
74
+ "type": "text",
75
+ "required": true
76
+ },
77
+ "migrationTitle": {
78
+ "type": "string",
79
+ "required": true
80
+ },
81
+ "migrationBody": {
82
+ "type": "richtext",
83
+ "required": true
84
+ },
85
+ "migrationPrompt": {
86
+ "type": "text",
87
+ "required": true
88
+ },
89
+ "buildTitle": {
90
+ "type": "string",
91
+ "required": true
92
+ },
93
+ "buildBody": {
94
+ "type": "richtext",
95
+ "required": true
96
+ },
97
+ "closingTitle": {
98
+ "type": "string",
99
+ "required": true
100
+ },
101
+ "closingBody": {
102
+ "type": "text",
103
+ "required": true
104
+ },
105
+ "footerNote": {
106
+ "type": "string",
107
+ "required": true
108
+ }
109
+ }
110
+ }
@@ -0,0 +1,22 @@
1
+ // AUTO-GENERATED by `fimo` from src/schemas/HomePage.json - DO NOT EDIT.
2
+ // Change content fields in the schema, then run `fimo validate`.
3
+ // Runtime implementation lives in the project-local fimo-react package export.
4
+ import { createSingletonClient } from "fimo-react";
5
+ import type { SingletonContentClient } from "fimo-react";
6
+ import type { ContentSchema } from "fimo-react";
7
+
8
+ import schema from "./HomePage.json";
9
+ import type { HomePage, HomePageInput } from "./HomePage.types";
10
+
11
+ export type { HomePage, HomePageFields, HomePageFimoMeta, HomePageInput, HomePagePopulate, HomePageQuery, HomePageReferences, HomePageResult, HomePageSort, HomePageWhere } from "./HomePage.types";
12
+
13
+ const client: SingletonContentClient<HomePage, HomePageInput> = createSingletonClient<
14
+ HomePage,
15
+ HomePageInput
16
+ >({
17
+ schema: schema as unknown as ContentSchema,
18
+ });
19
+
20
+ export const { get, update, useGet, useSuspenseGet, useUpdate, wrapWithSource, meta } = client;
21
+
22
+ export default client;
@@ -0,0 +1,116 @@
1
+ // AUTO-GENERATED ⚠️ – do not edit by hand
2
+ import {
3
+ type Fields,
4
+ type FimoBoolean,
5
+ type FimoMedia,
6
+ type FimoPolymorphicReference,
7
+ type FimoReference,
8
+ type FimoRichText,
9
+ type FimoRichTextContent,
10
+ type FimoString,
11
+ type Populate,
12
+ type PopulatedResult,
13
+ type ProjectedWithPopulate,
14
+ type Query,
15
+ type Sort,
16
+ type Where,
17
+ type WithReferences,
18
+ } from 'fimo-react';
19
+
20
+ /*───────────────────────────────────────────────────────────────*/
21
+ /* ──────────── 📄 Type definitions ──────────── */
22
+ /*───────────────────────────────────────────────────────────────*/
23
+
24
+ /**
25
+ * HomePage entity interface
26
+ */
27
+ export interface HomePageFimoMeta {
28
+ contentType: 'HomePage';
29
+ }
30
+
31
+ export interface HomePage extends WithReferences<HomePageReferences> {
32
+ id: string;
33
+ entryId: string;
34
+ documentId: string;
35
+ slug: FimoString;
36
+ locale?: string;
37
+ createdAt: string;
38
+ updatedAt: string;
39
+ __fimo: HomePageFimoMeta;
40
+ title: FimoString;
41
+ intro: FimoRichText;
42
+ heroImage: FimoMedia;
43
+ heroImageHint: FimoString;
44
+ startLabel: FimoString;
45
+ tourTitle: FimoString;
46
+ tourIntro: FimoString;
47
+ steps: {
48
+ _key: string;
49
+ number: FimoString;
50
+ title: FimoString;
51
+ body: FimoString;
52
+ highlight?: FimoString;
53
+ actionLabel: FimoString;
54
+ action: FimoString;
55
+ }[];
56
+ articlesTitle: FimoString;
57
+ articlesIntro: FimoString;
58
+ migrationTitle: FimoString;
59
+ migrationBody: FimoRichText;
60
+ migrationPrompt: FimoString;
61
+ buildTitle: FimoString;
62
+ buildBody: FimoRichText;
63
+ closingTitle: FimoString;
64
+ closingBody: FimoString;
65
+ footerNote: FimoString;
66
+ }
67
+
68
+ export interface HomePageInput {
69
+ slug?: string;
70
+ title: string;
71
+ intro: FimoRichTextContent;
72
+ heroImage: Pick<FimoMedia, 'url' | 'alt' | 'name' | 'mime' | 'width' | 'height'>;
73
+ heroImageHint: string;
74
+ startLabel: string;
75
+ tourTitle: string;
76
+ tourIntro: string;
77
+ steps: {
78
+ _key?: string;
79
+ number: string;
80
+ title: string;
81
+ body: string;
82
+ highlight?: string;
83
+ actionLabel: string;
84
+ action: string;
85
+ }[];
86
+ articlesTitle: string;
87
+ articlesIntro: string;
88
+ migrationTitle: string;
89
+ migrationBody: FimoRichTextContent;
90
+ migrationPrompt: string;
91
+ buildTitle: string;
92
+ buildBody: FimoRichTextContent;
93
+ closingTitle: string;
94
+ closingBody: string;
95
+ footerNote: string;
96
+ }
97
+
98
+ export type HomePageReferences = Record<never, never>;
99
+
100
+ export type HomePagePopulate = Populate<HomePage>;
101
+
102
+ /*───────────────────────────────────────────────────────────────*/
103
+ /* ──────────── 🔎 Query types ──────────── */
104
+ /*───────────────────────────────────────────────────────────────*/
105
+
106
+ export type HomePageWhere = Where<HomePage>;
107
+ export type HomePageSort = Sort<HomePage>;
108
+ export type HomePageFields = Fields<HomePage>;
109
+ export type HomePageQuery<
110
+ TFields extends HomePageFields | undefined = HomePageFields | undefined,
111
+ TPopulate extends HomePagePopulate | undefined = HomePagePopulate | undefined,
112
+ > = Query<HomePage, TFields, TPopulate>;
113
+ export type HomePageResult<
114
+ TFields extends HomePageFields | undefined = undefined,
115
+ TPopulate extends HomePagePopulate | undefined = undefined,
116
+ > = ProjectedWithPopulate<PopulatedResult<HomePage, TPopulate>, TFields, TPopulate>;