fimo 2.2.0-staging.16 → 2.2.0-staging.18

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 (30) hide show
  1. package/assets/agent-templates/_default/config.yaml +6 -0
  2. package/assets/skills/fimo-cli/references/agents.md +3 -2
  3. package/dist/cli/bundle.json +1 -1
  4. package/dist/cli/index.js +1 -1
  5. package/package.json +8 -8
  6. package/templates/astro/package.json +2 -2
  7. package/templates/nextjs/package.json +3 -3
  8. package/templates/react-router/package.json +4 -4
  9. package/templates/sveltekit/package.json +2 -2
  10. package/templates/vite/package.json +4 -4
  11. package/templates/welcome/manifest.json +306 -55
  12. package/templates/welcome/template/.fimo/agents/welcome-guide/GOAL.md +9 -4
  13. package/templates/welcome/template/.fimo/agents/welcome-guide/capabilities.yaml +3 -0
  14. package/templates/welcome/template/.fimo/agents/welcome-guide/config.yaml +4 -4
  15. package/templates/welcome/template/src/pages/ArticleDetail.tsx +42 -6
  16. package/templates/welcome/template/src/pages/Index.tsx +6 -2
  17. package/templates/welcome/template/src/pages/SiteContent.tsx +296 -35
  18. package/templates/welcome/template/src/pages/fallback-content.ts +34 -15
  19. package/templates/welcome/template/src/schemas/Article.json +27 -5
  20. package/templates/welcome/template/src/schemas/Article.ts +16 -21
  21. package/templates/welcome/template/src/schemas/Article.types.ts +40 -20
  22. package/templates/welcome/template/src/schemas/Author.json +17 -0
  23. package/templates/welcome/template/src/schemas/Author.ts +51 -0
  24. package/templates/welcome/template/src/schemas/Author.types.ts +54 -0
  25. package/templates/welcome/template/src/schemas/Category.json +17 -0
  26. package/templates/welcome/template/src/schemas/Category.ts +51 -0
  27. package/templates/welcome/template/src/schemas/Category.types.ts +54 -0
  28. package/templates/welcome/template/src/schemas/HomePage.json +94 -23
  29. package/templates/welcome/template/src/schemas/HomePage.ts +22 -0
  30. package/templates/welcome/template/src/schemas/HomePage.types.ts +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fimo",
3
- "version": "2.2.0-staging.16",
3
+ "version": "2.2.0-staging.18",
4
4
  "description": "Fimo CLI - create, deploy, and manage Fimo projects",
5
5
  "keywords": [
6
6
  "astro-component"
@@ -189,13 +189,13 @@
189
189
  "devDependencies": {
190
190
  "@clack/core": "^1.2.0",
191
191
  "@clack/prompts": "^1.2.0",
192
- "@fimo/agents-bundle": "2.2.0-staging.16",
193
- "@fimo/api-contracts": "2.2.0-staging.16",
194
- "@fimo/cli-kit": "2.2.0-staging.16",
195
- "@fimo/framework-detect": "2.2.0-staging.16",
196
- "@fimo/routes": "2.2.0-staging.16",
197
- "@fimo/sdk": "2.2.0-staging.16",
198
- "@fimo/tsconfig": "2.2.0-staging.16",
192
+ "@fimo/agents-bundle": "2.2.0-staging.18",
193
+ "@fimo/api-contracts": "2.2.0-staging.18",
194
+ "@fimo/cli-kit": "2.2.0-staging.18",
195
+ "@fimo/framework-detect": "2.2.0-staging.18",
196
+ "@fimo/routes": "2.2.0-staging.18",
197
+ "@fimo/sdk": "2.2.0-staging.18",
198
+ "@fimo/tsconfig": "2.2.0-staging.18",
199
199
  "@types/node": "22.18.6",
200
200
  "agent-install": "^0.0.5",
201
201
  "astro": "^7.1.6",
@@ -9,8 +9,8 @@
9
9
  "check": "astro sync && astro check"
10
10
  },
11
11
  "dependencies": {
12
- "fimo": "2.2.0-staging.16",
13
- "fimo-astro": "2.2.0-staging.16"
12
+ "fimo": "2.2.0-staging.18",
13
+ "fimo-astro": "2.2.0-staging.18"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@astrojs/check": "^0.9.10",
@@ -12,9 +12,9 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@tanstack/react-query": "^5.80.6",
15
- "fimo": "2.2.0-staging.16",
16
- "fimo-next": "2.2.0-staging.16",
17
- "fimo-react": "2.2.0-staging.16",
15
+ "fimo": "2.2.0-staging.18",
16
+ "fimo-next": "2.2.0-staging.18",
17
+ "fimo-react": "2.2.0-staging.18",
18
18
  "next": "^16.3.3",
19
19
  "react": "^19.2.7",
20
20
  "react-dom": "^19.2.7"
@@ -21,10 +21,10 @@
21
21
  "cmdk": "^1.1.1",
22
22
  "date-fns": "^4.1.0",
23
23
  "embla-carousel-react": "^8.6.0",
24
- "fimo": "2.2.0-staging.16",
25
- "fimo-react": "2.2.0-staging.16",
26
- "fimo-react-router": "2.2.0-staging.16",
27
- "fimo-vite": "2.2.0-staging.16",
24
+ "fimo": "2.2.0-staging.18",
25
+ "fimo-react": "2.2.0-staging.18",
26
+ "fimo-react-router": "2.2.0-staging.18",
27
+ "fimo-vite": "2.2.0-staging.18",
28
28
  "input-otp": "^1.4.2",
29
29
  "isbot": "^5",
30
30
  "lucide-react": "^0.577.0",
@@ -11,8 +11,8 @@
11
11
  "prepare": "svelte-kit sync"
12
12
  },
13
13
  "dependencies": {
14
- "fimo": "2.2.0-staging.16",
15
- "fimo-sveltekit": "2.2.0-staging.16"
14
+ "fimo": "2.2.0-staging.18",
15
+ "fimo-sveltekit": "2.2.0-staging.18"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@sveltejs/kit": "^2.70.2",
@@ -11,10 +11,10 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@tanstack/react-query": "^5.80.6",
14
- "fimo": "2.2.0-staging.16",
15
- "fimo-react": "2.2.0-staging.16",
16
- "fimo-react-router": "2.2.0-staging.16",
17
- "fimo-vite": "2.2.0-staging.16",
14
+ "fimo": "2.2.0-staging.18",
15
+ "fimo-react": "2.2.0-staging.18",
16
+ "fimo-react-router": "2.2.0-staging.18",
17
+ "fimo-vite": "2.2.0-staging.18",
18
18
  "react": "^19.2.7",
19
19
  "react-dom": "^19.2.7",
20
20
  "react-router": "^8.3.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fimo-site",
3
- "version": 14,
3
+ "version": 37,
4
4
  "description": "An editable Welcome to Fimo tutorial with real CMS content, media, branches, and an autonomous agent.",
5
5
  "assets": [
6
6
  {
@@ -43,7 +43,7 @@
43
43
  {
44
44
  "type": "HomePage",
45
45
  "data": {
46
- "title": "This site is yours to change.",
46
+ "title": "Welcome to the Fimo onboarding!",
47
47
  "intro": {
48
48
  "type": "doc",
49
49
  "content": [
@@ -52,7 +52,14 @@
52
52
  "content": [
53
53
  {
54
54
  "type": "text",
55
- "text": "Four actions, five minutes. Every change is safe to make in this tutorial project."
55
+ "text": "This is a tutorial project, made for you to practice."
56
+ },
57
+ {
58
+ "type": "hardBreak"
59
+ },
60
+ {
61
+ "type": "text",
62
+ "text": "Four actions, five minutes, and nothing you change here can break anything."
56
63
  }
57
64
  ]
58
65
  }
@@ -83,15 +90,15 @@
83
90
  {
84
91
  "number": "3",
85
92
  "title": "Explore branches",
86
- "body": "Branches let people and agents work without touching the live site.\n- Try a change on “tutorial/first-change”.",
93
+ "body": "Branches let people and agents work without touching the live site.\n- Create “tutorial/first-change” from the branch menu and change the page title there.",
87
94
  "actionLabel": "Show the branch menu",
88
95
  "action": "openBranches"
89
96
  },
90
97
  {
91
98
  "number": "4",
92
99
  "title": "Meet your agent",
93
- "body": "Your agent maintains this website on a schedule.\n- Click “Run now” and review the result and cost.",
94
- "actionLabel": "Meet Welcome Guide",
100
+ "body": "Your agent maintains this website on a schedule.\n- Open its latest run, read the report, and accept the proposed change.",
101
+ "actionLabel": "Meet your first agent",
95
102
  "action": "openAgents"
96
103
  }
97
104
  ],
@@ -129,11 +136,50 @@
129
136
  ]
130
137
  },
131
138
  "closingTitle": "Fimo keeps finished websites autonomous",
132
- "closingBody": "Fimo Credits are designed for the agents that maintain your website and for teammates who use Studio chat without a local coding tool."
139
+ "closingBody": "Fimo Credits are designed for the agents that maintain your website and for teammates who use Studio chat without a local coding tool.",
140
+ "footerNote": "This tutorial website is looked after by your Fimo agent."
133
141
  }
134
142
  }
135
143
  ],
136
144
  "collections": [
145
+ {
146
+ "type": "Author",
147
+ "entries": [
148
+ {
149
+ "slug": "fimo-product",
150
+ "data": {
151
+ "name": "Fimo Product",
152
+ "role": "Product team"
153
+ }
154
+ },
155
+ {
156
+ "slug": "fimo-engineering",
157
+ "data": {
158
+ "name": "Fimo Engineering",
159
+ "role": "Engineering team"
160
+ }
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "type": "Category",
166
+ "entries": [
167
+ {
168
+ "slug": "concepts",
169
+ "data": {
170
+ "name": "Concepts",
171
+ "description": "How Fimo works under the hood, in plain words."
172
+ }
173
+ },
174
+ {
175
+ "slug": "automation",
176
+ "data": {
177
+ "name": "Automation",
178
+ "description": "Putting agents to work on your website."
179
+ }
180
+ }
181
+ ]
182
+ },
137
183
  {
138
184
  "type": "Article",
139
185
  "entries": [
@@ -150,7 +196,7 @@
150
196
  "content": [
151
197
  {
152
198
  "type": "text",
153
- "text": "Agents are teammates with one clear mission. In a few minutes you can build one that keeps your SEO healthy: a full audit every week, safe fixes applied for you, and a report for everything else."
199
+ "text": "An agent is a teammate with one clear mission. It lives with your website, works on a schedule or on demand, and can read your content and analytics, edit the CMS, and report back, always from a safe workspace you review."
154
200
  }
155
201
  ]
156
202
  },
@@ -171,7 +217,7 @@
171
217
  "content": [
172
218
  {
173
219
  "type": "text",
174
- "text": "Open the chat and paste this:"
220
+ "text": "The fastest way to understand agents is to create one. Open the Agents workspace, create an agent, and paste this:"
175
221
  }
176
222
  ]
177
223
  },
@@ -184,12 +230,24 @@
184
230
  }
185
231
  ]
186
232
  },
233
+ {
234
+ "type": "heading",
235
+ "attrs": {
236
+ "level": 2
237
+ },
238
+ "content": [
239
+ {
240
+ "type": "text",
241
+ "text": "What happens on each run"
242
+ }
243
+ ]
244
+ },
187
245
  {
188
246
  "type": "paragraph",
189
247
  "content": [
190
248
  {
191
249
  "type": "text",
192
- "text": "Fimo builds the agent from that sentence. You will find it in the Agents workspace, right next to Welcome Guide."
250
+ "text": "Every run forks a private copy of your website, does its mission there, and finishes with a report. Safe changes can be applied for you; anything sensitive is kept aside as a proposal you accept or reject, exactly like the welcome guide's run you can open on this project."
193
251
  }
194
252
  ]
195
253
  },
@@ -201,16 +259,105 @@
201
259
  "content": [
202
260
  {
203
261
  "type": "text",
204
- "text": "What the agent is made of"
262
+ "text": "Ideas for your next agents"
205
263
  }
206
264
  ]
207
265
  },
266
+ {
267
+ "type": "bulletList",
268
+ "content": [
269
+ {
270
+ "type": "listItem",
271
+ "content": [
272
+ {
273
+ "type": "paragraph",
274
+ "content": [
275
+ {
276
+ "type": "text",
277
+ "text": "A weekly analytics review that improves underperforming pages (see the analytics article)."
278
+ }
279
+ ]
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "type": "listItem",
285
+ "content": [
286
+ {
287
+ "type": "paragraph",
288
+ "content": [
289
+ {
290
+ "type": "text",
291
+ "text": "A translation keeper that fills missing languages whenever content changes."
292
+ }
293
+ ]
294
+ }
295
+ ]
296
+ },
297
+ {
298
+ "type": "listItem",
299
+ "content": [
300
+ {
301
+ "type": "paragraph",
302
+ "content": [
303
+ {
304
+ "type": "text",
305
+ "text": "A link sweeper that finds broken links and proposes fixes."
306
+ }
307
+ ]
308
+ }
309
+ ]
310
+ }
311
+ ]
312
+ },
313
+ {
314
+ "type": "paragraph",
315
+ "content": [
316
+ {
317
+ "type": "text",
318
+ "text": "One mission per agent works best: small, clear goals produce runs you can trust."
319
+ }
320
+ ]
321
+ }
322
+ ]
323
+ },
324
+ "cover": {
325
+ "$asset": "autonomous-loop"
326
+ },
327
+ "author": {
328
+ "slug": "fimo-engineering"
329
+ },
330
+ "category": {
331
+ "slug": "automation"
332
+ }
333
+ }
334
+ },
335
+ {
336
+ "slug": "branches-and-environments",
337
+ "data": {
338
+ "title": "How branches and environments work",
339
+ "summary": "What a branch is, why it keeps your live site safe, and how changes come back together.",
340
+ "body": {
341
+ "type": "doc",
342
+ "content": [
208
343
  {
209
344
  "type": "paragraph",
210
345
  "content": [
211
346
  {
212
347
  "type": "text",
213
- "text": "Every agent is a small bundle of three things:"
348
+ "text": "A Branch is a complete, private copy of your website: the content, the media, and the code. Anything you change on a branch stays on that branch until you decide otherwise. The live website never notices."
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "type": "heading",
354
+ "attrs": {
355
+ "level": 2
356
+ },
357
+ "content": [
358
+ {
359
+ "type": "text",
360
+ "text": "Why branches exist"
214
361
  }
215
362
  ]
216
363
  },
@@ -225,7 +372,7 @@
225
372
  "content": [
226
373
  {
227
374
  "type": "text",
228
- "text": "The goal is its soul: one clear mission written in plain words. The agent re-reads it on every run, and it is the file you edit to change how it thinks."
375
+ "text": "Safety: experiment freely, because nothing you break on a branch can break the live site."
229
376
  }
230
377
  ]
231
378
  }
@@ -239,7 +386,7 @@
239
386
  "content": [
240
387
  {
241
388
  "type": "text",
242
- "text": "Capabilities are the strict list of what it may touch. SEO Guardian reads and writes CMS content, fetches your pages, and reads your analytics. Nothing else, unless you grant it."
389
+ "text": "Teamwork: several people, and agents, can each work on their own branch at the same time."
243
390
  }
244
391
  ]
245
392
  }
@@ -253,7 +400,7 @@
253
400
  "content": [
254
401
  {
255
402
  "type": "text",
256
- "text": "The trigger decides when it runs: a weekly schedule here, plus Run now whenever you want."
403
+ "text": "Review: changes can be compared and approved before they reach visitors."
257
404
  }
258
405
  ]
259
406
  }
@@ -269,7 +416,88 @@
269
416
  "content": [
270
417
  {
271
418
  "type": "text",
272
- "text": "Adjust it"
419
+ "text": "The life of a change"
420
+ }
421
+ ]
422
+ },
423
+ {
424
+ "type": "paragraph",
425
+ "content": [
426
+ {
427
+ "type": "text",
428
+ "text": "Create a branch from the branch menu, make your edits there, then merge: Fimo shows you exactly what differs and folds your work back into main. If two changes collide, you choose which one wins."
429
+ }
430
+ ]
431
+ },
432
+ {
433
+ "type": "heading",
434
+ "attrs": {
435
+ "level": 2
436
+ },
437
+ "content": [
438
+ {
439
+ "type": "text",
440
+ "text": "And environments?"
441
+ }
442
+ ]
443
+ },
444
+ {
445
+ "type": "paragraph",
446
+ "content": [
447
+ {
448
+ "type": "text",
449
+ "text": "Environments group related branches that share deployment settings: a staging space to rehearse in, production for the real thing. As a beginner you only need main plus the branches you create; environments become useful as your project grows."
450
+ }
451
+ ]
452
+ },
453
+ {
454
+ "type": "paragraph",
455
+ "content": [
456
+ {
457
+ "type": "text",
458
+ "text": "Try it now: step 3 of the tour walks you through your first branch."
459
+ }
460
+ ]
461
+ }
462
+ ]
463
+ },
464
+ "cover": {
465
+ "$asset": "editable-preview"
466
+ },
467
+ "author": {
468
+ "slug": "fimo-engineering"
469
+ },
470
+ "category": {
471
+ "slug": "concepts"
472
+ }
473
+ }
474
+ },
475
+ {
476
+ "slug": "discover-the-analytics",
477
+ "data": {
478
+ "title": "Discover the analytics",
479
+ "summary": "What your traffic numbers mean, and how an agent can use them to improve your pages every week.",
480
+ "body": {
481
+ "type": "doc",
482
+ "content": [
483
+ {
484
+ "type": "paragraph",
485
+ "content": [
486
+ {
487
+ "type": "text",
488
+ "text": "Every Fimo website comes with analytics built in. There is nothing to install and nothing to configure: as soon as your website is published, every visit is counted, and your history is kept forever, even when you republish."
489
+ }
490
+ ]
491
+ },
492
+ {
493
+ "type": "heading",
494
+ "attrs": {
495
+ "level": 2
496
+ },
497
+ "content": [
498
+ {
499
+ "type": "text",
500
+ "text": "What you can see"
273
501
  }
274
502
  ]
275
503
  },
@@ -284,7 +512,7 @@
284
512
  "content": [
285
513
  {
286
514
  "type": "text",
287
- "text": "Sharpen the goal: add rules like never touch the pricing page or keep titles under 60 characters."
515
+ "text": "Visitors and pageviews: how many people came, and how many pages they opened."
288
516
  }
289
517
  ]
290
518
  }
@@ -298,7 +526,7 @@
298
526
  "content": [
299
527
  {
300
528
  "type": "text",
301
- "text": "Tighten or widen the capabilities as your trust grows."
529
+ "text": "Top pages: which pages get the most attention."
302
530
  }
303
531
  ]
304
532
  }
@@ -312,7 +540,7 @@
312
540
  "content": [
313
541
  {
314
542
  "type": "text",
315
- "text": "Change the cadence, or keep it manual while you evaluate its work."
543
+ "text": "Sources: where visitors come from, such as search engines, social networks, or direct links."
316
544
  }
317
545
  ]
318
546
  }
@@ -326,7 +554,21 @@
326
554
  "content": [
327
555
  {
328
556
  "type": "text",
329
- "text": "Read every report: it lists each change, why it was made, and what the run cost."
557
+ "text": "Devices and countries: what your audience browses with, and from where."
558
+ }
559
+ ]
560
+ }
561
+ ]
562
+ },
563
+ {
564
+ "type": "listItem",
565
+ "content": [
566
+ {
567
+ "type": "paragraph",
568
+ "content": [
569
+ {
570
+ "type": "text",
571
+ "text": "Bounce rate and visit duration: whether visitors stay and read, or leave right away."
330
572
  }
331
573
  ]
332
574
  }
@@ -334,60 +576,63 @@
334
576
  }
335
577
  ]
336
578
  },
579
+ {
580
+ "type": "heading",
581
+ "attrs": {
582
+ "level": 2
583
+ },
584
+ "content": [
585
+ {
586
+ "type": "text",
587
+ "text": "How to read the numbers"
588
+ }
589
+ ]
590
+ },
337
591
  {
338
592
  "type": "paragraph",
339
593
  "content": [
340
594
  {
341
595
  "type": "text",
342
- "text": "Start with one manual run: open the agent, click Run now, and read what it did. That first report is the best way to understand how your new teammate thinks."
596
+ "text": "A page with many views but a high bounce rate attracts clicks and then loses people: its content probably does not deliver what its title promises. A good page that few people visit may just need better links pointing to it. You do not need to be an expert; one look a week is enough to spot both."
343
597
  }
344
598
  ]
345
- }
346
- ]
347
- },
348
- "cover": {
349
- "$asset": "autonomous-loop"
350
- }
351
- }
352
- },
353
- {
354
- "slug": "branches-and-environments",
355
- "data": {
356
- "title": "How branches and environments work",
357
- "summary": "Branches isolate changes. Environments group related branches under shared deployment configuration.",
358
- "body": {
359
- "type": "doc",
360
- "content": [
599
+ },
600
+ {
601
+ "type": "heading",
602
+ "attrs": {
603
+ "level": 2
604
+ },
605
+ "content": [
606
+ {
607
+ "type": "text",
608
+ "text": "Let an agent do the weekly check"
609
+ }
610
+ ]
611
+ },
361
612
  {
362
613
  "type": "paragraph",
363
614
  "content": [
364
615
  {
365
616
  "type": "text",
366
- "text": "Every branch has its own content, database, preview runtime, URL, and assets, so work does not affect other branches or the live website. Several teammates can collaborate on the same branch when they want to work together. Environments group branches by deployment purpose and matching rules, with shared configuration such as secrets and webhook scopes."
617
+ "text": "Agents can read your analytics, so the weekly review can run itself. Create an agent with a prompt like this:"
367
618
  }
368
619
  ]
369
- }
370
- ]
371
- },
372
- "cover": {
373
- "$asset": "editable-preview"
374
- }
375
- }
376
- },
377
- {
378
- "slug": "discover-the-analytics",
379
- "data": {
380
- "title": "Discover the analytics",
381
- "summary": "See who visits your website: pageviews, top pages, sources, devices, and countries.",
382
- "body": {
383
- "type": "doc",
384
- "content": [
620
+ },
621
+ {
622
+ "type": "codeBlock",
623
+ "content": [
624
+ {
625
+ "type": "text",
626
+ "text": "Every Monday, look at the analytics for the last 7 days. Find the most visited pages and the pages that underperform: high bounce rate or very short visits. Improve the underperformers with clearer titles, better intros, and stronger internal links, without touching the top-performing pages. Finish with a report on what you changed and why."
627
+ }
628
+ ]
629
+ },
385
630
  {
386
631
  "type": "paragraph",
387
632
  "content": [
388
633
  {
389
634
  "type": "text",
390
- "text": "Open the Analytics workspace to follow visitors, pageviews, bounce rate, top pages, and where your traffic comes from. Analytics persists across publications, so your history stays intact every time you ship."
635
+ "text": "The agent proposes its changes and you review them, so the numbers guide the work and you keep the final word. Open the Analytics workspace in the top navigation to see today's numbers."
391
636
  }
392
637
  ]
393
638
  }
@@ -395,6 +640,12 @@
395
640
  },
396
641
  "cover": {
397
642
  "$asset": "analytics-overview"
643
+ },
644
+ "author": {
645
+ "slug": "fimo-product"
646
+ },
647
+ "category": {
648
+ "slug": "automation"
398
649
  }
399
650
  }
400
651
  }
@@ -1,7 +1,12 @@
1
- # Welcome pulse
1
+ # Welcome guide
2
2
 
3
- Return exactly this sentence and do nothing else:
3
+ Improve this website's footer so its owner can review a real agent proposal.
4
4
 
5
- Your Fimo workspace is ready. Edit the highlighted title in Preview, then explore the Media Library.
5
+ 1. Read the HomePage single in the CMS.
6
+ 2. Set the "Footer Note" field to exactly:
7
+ "This website is maintained by your Fimo agent. Follow Fimo on X @fimoai and LinkedIn (fimoai)."
8
+ 3. Change nothing else.
9
+ 4. Finish with a two-sentence report: what you changed and why it helps.
10
+ 5. Finish the run with the `retain` action: the owner reviews and accepts this change themselves — never merge or discard it.
6
11
 
7
- Do not inspect files, run commands, call tools, edit content, or publish anything.
12
+ Do not touch code, assets, or any other content, and do not publish.
@@ -0,0 +1,3 @@
1
+ # The pre-baked proposal edits one HomePage field in the CMS.
2
+ - cms:read
3
+ - cms:write