@se-studio/contentful-cms 3.12.0 → 3.13.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 (79) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -0
  3. package/dist/cli/program.d.ts.map +1 -1
  4. package/dist/cli/program.js +2 -0
  5. package/dist/cli/program.js.map +1 -1
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +76 -6
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/create-editor.d.ts +4 -0
  10. package/dist/commands/create-editor.d.ts.map +1 -0
  11. package/dist/commands/create-editor.js +410 -0
  12. package/dist/commands/create-editor.js.map +1 -0
  13. package/dist/commands/create.js +1 -1
  14. package/dist/commands/create.js.map +1 -1
  15. package/dist/commands/entry-lookup-target.d.ts +17 -1
  16. package/dist/commands/entry-lookup-target.d.ts.map +1 -1
  17. package/dist/commands/entry-lookup-target.js +28 -0
  18. package/dist/commands/entry-lookup-target.js.map +1 -1
  19. package/dist/commands/list.js +3 -0
  20. package/dist/commands/list.js.map +1 -1
  21. package/dist/commands/run.d.ts.map +1 -1
  22. package/dist/commands/run.js +53 -36
  23. package/dist/commands/run.js.map +1 -1
  24. package/dist/contentful/cda-sync.d.ts.map +1 -1
  25. package/dist/contentful/cda-sync.js +6 -0
  26. package/dist/contentful/cda-sync.js.map +1 -1
  27. package/dist/contentful/cma-user-agent.d.ts +1 -1
  28. package/dist/contentful/editor-create.d.ts +92 -0
  29. package/dist/contentful/editor-create.d.ts.map +1 -0
  30. package/dist/contentful/editor-create.js +198 -0
  31. package/dist/contentful/editor-create.js.map +1 -0
  32. package/dist/contentful/entry-lookup.d.ts.map +1 -1
  33. package/dist/contentful/entry-lookup.js +8 -0
  34. package/dist/contentful/entry-lookup.js.map +1 -1
  35. package/dist/contentful/fetch.d.ts.map +1 -1
  36. package/dist/contentful/fetch.js +23 -16
  37. package/dist/contentful/fetch.js.map +1 -1
  38. package/dist/contentful/linkedEntryFields.d.ts +17 -0
  39. package/dist/contentful/linkedEntryFields.d.ts.map +1 -1
  40. package/dist/contentful/linkedEntryFields.js +55 -2
  41. package/dist/contentful/linkedEntryFields.js.map +1 -1
  42. package/dist/contentful/reference-record.d.ts.map +1 -1
  43. package/dist/contentful/reference-record.js +8 -1
  44. package/dist/contentful/reference-record.js.map +1 -1
  45. package/dist/generated/help-topics.d.ts +1 -1
  46. package/dist/generated/help-topics.d.ts.map +1 -1
  47. package/dist/generated/help-topics.js +2 -2
  48. package/dist/generated/help-topics.js.map +1 -1
  49. package/dist/generated/version.d.ts +1 -1
  50. package/dist/generated/version.js +1 -1
  51. package/dist/index/schema.d.ts +3 -3
  52. package/dist/index/schema.d.ts.map +1 -1
  53. package/dist/index/schema.js +4 -1
  54. package/dist/index/schema.js.map +1 -1
  55. package/dist/session/refs.d.ts.map +1 -1
  56. package/dist/session/refs.js +48 -21
  57. package/dist/session/refs.js.map +1 -1
  58. package/dist/session/state.d.ts +1 -1
  59. package/dist/session/state.d.ts.map +1 -1
  60. package/dist/session/state.js +10 -0
  61. package/dist/session/state.js.map +1 -1
  62. package/dist/snapshot/render.d.ts.map +1 -1
  63. package/dist/snapshot/render.js +20 -12
  64. package/dist/snapshot/render.js.map +1 -1
  65. package/dist/validation/allowed-types.d.ts +12 -0
  66. package/dist/validation/allowed-types.d.ts.map +1 -1
  67. package/dist/validation/allowed-types.js +92 -0
  68. package/dist/validation/allowed-types.js.map +1 -1
  69. package/docs/help/create-editor-entries.md +59 -0
  70. package/docs/help/fields-article.md +2 -1
  71. package/docs/help/fields-page.md +2 -1
  72. package/docs/help/fields-taxonomy.md +3 -1
  73. package/docs/help/fields.md +5 -0
  74. package/docs/help/index-sync.md +5 -3
  75. package/docs/help/index.md +6 -1
  76. package/docs/help/lookup.md +14 -0
  77. package/docs/help/person-from-json.md +2 -1
  78. package/package.json +1 -1
  79. package/skills/core/SKILL.md +12 -2
@@ -19,6 +19,7 @@ Available topics for `cms-edit help <topic>`:
19
19
  |---|---|
20
20
  | `workflow` | Standard editing workflow — open, snapshot, edit, save |
21
21
  | `create-from-json` | Create a new page or article from a JSON file (single-shot) |
22
+ | `create-editor-entries` | Create banners, page variants, page tests, and custom types |
22
23
  | `taxonomy-from-json` | Batch-create tagType, articleType, and tag entries from JSON |
23
24
  | `person-from-json` | Batch-create person/author entries from JSON |
24
25
  | `article-tags-from-json` | Set tags on multiple articles from JSON |
@@ -81,7 +82,7 @@ cms-edit batch run --json '[...]'
81
82
 
82
83
  ### Navigation & Discovery
83
84
 
84
- **Content discovery** uses the local catalog index (`index sync`) and `list --type <type>`. Catalog types: `page`, `article`, `pageVariant`, `template`, `articleType`, `tagType`, `tag`, `navigation`, `navigationItem`. Other types (e.g. `person`, `customType`, `pageTest`): `list --type <type> --force-cma`.
85
+ **Content discovery** uses the local catalog index (`index sync`) and `list --type <type>`. Catalog types: `page`, `article`, `pageVariant`, `template`, `articleType`, `tagType`, `tag`, `navigation`, `navigationItem`, `banner`, `pageTest`, `customType`. Other types (e.g. `person`): `list --type <type>` via the Contentful API.
85
86
 
86
87
  | Command | Description |
87
88
  |---|---|
@@ -141,6 +142,10 @@ cms-edit batch run --json '[...]'
141
142
  | `create tag` | Create a tag entry (draft) |
142
143
  | `create page` | Create a blank page interactively |
143
144
  | `create article` | Create a blank article interactively |
145
+ | `create banner` | Create a site banner (draft) |
146
+ | `create page-variant` | Create a page variant and open it |
147
+ | `create page-test` | Create a page test (draft) |
148
+ | `create custom-type` | Create a custom type and open it |
144
149
 
145
150
  ### Batch Operations
146
151
  | Command | Description |
@@ -67,6 +67,20 @@ cms-edit list --type article --article-type-name "Publications"
67
67
  | `--page-variant-title` | `title` |
68
68
  | `--page-variant-cms-label` | `cmsLabel` |
69
69
 
70
+ ## Banners, page tests, custom types
71
+
72
+ | Flag | Contentful field |
73
+ |------|------------------|
74
+ | `--banner-label` | `banner.cmsLabel` |
75
+ | `--page-test-label` | `pageTest.cmsLabel` |
76
+ | `--custom-type-slug` | `customType.slug` |
77
+ | `--custom-type-name` | `customType.name` |
78
+
79
+ ```bash
80
+ cms-edit open --banner-label "Spring promo"
81
+ cms-edit open --custom-type-slug people
82
+ ```
83
+
70
84
  ## Taxonomy
71
85
 
72
86
  | Type | Slug | Name | cmsLabel |
@@ -37,7 +37,8 @@ All entries are created as **drafts**. Nothing is published automatically.
37
37
  | Key | Required | Description |
38
38
  |---|---|---|
39
39
  | `slug` | Yes | URL slug |
40
- | `name` | Yes | Display name |
40
+ | `name` | Yes | Display name and on-page heading. Document `<title>` uses this when `metaTitle` is empty |
41
+ | `metaTitle` | No | Optional search-result title. Pass it in `fields`. Does not change the on-page heading |
41
42
  | `cmsLabel` | No | CMS label (defaults to `name`) |
42
43
  | `jobTitle` | No | Job title (CLI flags override JSON `fields` on single-entry create) |
43
44
  | `description` | No | Short description |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-cms",
3
- "version": "3.12.0",
3
+ "version": "3.13.0",
4
4
  "description": "CLI tool for AI agents to read and edit Contentful draft content without publish permissions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -456,9 +456,19 @@ cms-edit create taxonomy-from-json --json '{"tagTypes":[...]}' --if-not-exists
456
456
  cms-edit create tag-type --slug conference-venue --name "Conference Venue" --if-not-exists
457
457
  cms-edit create tag --slug asco-2025 --name "ASCO 2025" --tag-type conference-venue \
458
458
  --description "Annual ASCO conference." --featured-image <logoAssetId> --if-not-exists
459
+
460
+ # Site-wide and routing entries (drafts). See cms-edit help create-editor-entries.
461
+ cms-edit create banner --cms-label "Spring promo" --message "Free delivery this week"
462
+ cms-edit create page-test --cms-label "Home hero test" --control <pageId> --variant <pageVariantId>
463
+ cms-edit create page-variant --cms-label "Home B" --slug home-b --original-page /
464
+ cms-edit create custom-type --cms-label "People" --name "People" --slug people \
465
+ --index-page-name "Team" --index-page-title "Team" --index-page-description "The team" \
466
+ --featured-image <assetId>
459
467
  ```
460
468
 
461
- See `cms-edit help fields-taxonomy` and `cms-edit help taxonomy-from-json` for field reference and batch schema.
469
+ `create page-variant` and `create custom-type` open a session. Banner and page test do not. On an open page variant, the only `add` content type is `alternatePageContent` (`--source-id` required, optional `--replacement-id`). That content type is refused on a page or article, and a component is refused on a page variant.
470
+
471
+ See `cms-edit help fields-taxonomy`, `cms-edit help taxonomy-from-json`, and `cms-edit help create-editor-entries`.
462
472
 
463
473
  ## Person entries
464
474
 
@@ -839,7 +849,7 @@ cms-edit resolve 4xKj2abcDef
839
849
 
840
850
  ## Inventory & Status
841
851
 
842
- Use `list --type <type>` for inventory. Catalog types (page, article, pageVariant, template, taxonomy, navigation) use the local index. Use `--force-cma` for other types (person, customType, pageTest) or published-only with `--published`.
852
+ Use `list --type <type>` for inventory. Catalog types (page, article, pageVariant, template, taxonomy, navigation, banner, pageTest, customType) use the local index after `index sync`. Use `--force-cma` for types still outside the catalog (person) or published-only with `--published`.
843
853
 
844
854
  ```bash
845
855
  cms-edit list --type page