@se-studio/contentful-cms 1.0.32 → 1.0.34

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @se-studio/contentful-cms Changelog
2
2
 
3
+ ## 1.0.34
4
+
5
+ ### Patch Changes
6
+
7
+ - Bulk version bump: patch for all packages
8
+
9
+ ## 1.0.33
10
+
11
+ ### Patch Changes
12
+
13
+ - Bulk version bump: patch for all packages
14
+
3
15
  ## 1.0.32
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -213,11 +213,12 @@ cms-edit discard
213
213
  **Rich text embeds — asset vs Media (width / alignment):**
214
214
 
215
215
  - **Raw asset** (`--asset`): embeds the file as-is. Layout comes from the asset/visual defaults only; you cannot store alignment or width on the block (Contentful validates `embedded-asset-block.data` and rejects extra properties).
216
- - **Media entry** (omit `--asset`, pass a **Media** entry ID): embed a Media entry whose fields include **width** (percentage) and **horizontal position**. The delivery API resolves it to an `IVisual` and apps render it via the same RTF embedded-entry path (`VisualComponent`). Example:
216
+ - **Media entry** (omit `--asset`, pass a **Media** entry ID): embed a Media entry whose fields include **width** (percentage) and **horizontal position**. The delivery API resolves it to an `IVisual` and apps render it via the same RTF embedded-entry path (`VisualComponent`). Create a Media entry from the CLI (does not replace your session), then embed by ID:
217
217
  ```bash
218
- cms-edit rtf embed @c1 body abc123assetId --asset
219
- cms-edit rtf embed @c1 body xyz789MediaEntryId --at 4
218
+ cms-edit create media --asset-id <asset-id> --name "Figure 1" --position Middle --width 40
219
+ cms-edit rtf embed @c1 body <media-entry-id> --at 4
220
220
  ```
221
+ Raw asset for comparison: `cms-edit rtf embed @c1 body <asset-id> --asset`
221
222
  If the same image needs **different** width or alignment in **two** places, use **two Media entries** that reference the same underlying asset (layout is on the Media entry, not per RTF occurrence).
222
223
 
223
224
  ### Structure
@@ -246,6 +247,7 @@ For content types that follow the `${contentType}Type` naming convention (e.g. `
246
247
  | `create page --slug /x --title "X"` | Create a new page entry |
247
248
  | `create article --slug /x --title "X" --article-type-id <id>` | Create a new article |
248
249
  | `create template --label "X"` | Create a new template entry |
250
+ | `create media --asset-id <id> --name "X" [--position Left\|Middle\|Right] [--width <1–100>]` | Create a **Media** entry (draft); does not start a new cms-edit session; prints entry ID for `rtf embed` |
249
251
 
250
252
  ### Templates
251
253
 
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgR5D"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6W5D"}
@@ -10,8 +10,9 @@ import { renderSnapshot } from '../snapshot/render.js';
10
10
  export function registerCreateCommand(program) {
11
11
  const create = program
12
12
  .command('create')
13
- .description('Create a new top-level entry (page, article, template, navigation).\n' +
13
+ .description('Create a new top-level entry (page, article, template, navigation, or media).\n' +
14
14
  'After creating, edit fields with set/rtf and then save.\n' +
15
+ '`create media` only creates a Media entry and does not start a new session.\n' +
15
16
  'To add child content inside an existing entry (components, sections), use `add` instead.');
16
17
  create
17
18
  .command('page')
@@ -227,5 +228,89 @@ export function registerCreateCommand(program) {
227
228
  process.exit(1);
228
229
  }
229
230
  });
231
+ create
232
+ .command('media')
233
+ .description('Create a new Media entry (draft) linking an asset.\n' +
234
+ 'Does not replace your cms-edit session — use the printed entry ID with rtf embed.')
235
+ .requiredOption('--asset-id <id>', 'Contentful asset ID')
236
+ .requiredOption('--name <name>', 'Media entry name (label)')
237
+ .option('--position <position>', 'Horizontal position: Left, Middle, or Right (maps to horizontalPosition)')
238
+ .option('--width <n>', 'Width as percent of parent (1–100)', (v) => Number.parseInt(v, 10))
239
+ .action(async (opts, _cmd) => {
240
+ const parentOpts = program.opts();
241
+ try {
242
+ const config = loadConfig(parentOpts.config);
243
+ const { space } = resolveSpaceConfig(config, parentOpts.space);
244
+ const env = await createSafeEnvironment(space);
245
+ const locale = space.defaultLocale;
246
+ try {
247
+ await env.getAsset(opts.assetId);
248
+ }
249
+ catch {
250
+ errorMsg(`No asset found with id "${opts.assetId}".`);
251
+ process.exit(1);
252
+ }
253
+ const horizontalPosition = parseMediaHorizontalPosition(opts.position);
254
+ if (opts.position !== undefined &&
255
+ opts.position !== '' &&
256
+ horizontalPosition === undefined) {
257
+ errorMsg(`Invalid --position "${opts.position}". Use Left, Middle, or Right (case-insensitive).`);
258
+ process.exit(1);
259
+ }
260
+ let width;
261
+ if (opts.width !== undefined) {
262
+ if (Number.isNaN(opts.width)) {
263
+ errorMsg('--width must be an integer between 1 and 100.');
264
+ process.exit(1);
265
+ }
266
+ if (opts.width < 1 || opts.width > 100) {
267
+ errorMsg('--width must be between 1 and 100.');
268
+ process.exit(1);
269
+ }
270
+ width = opts.width;
271
+ }
272
+ const fields = {
273
+ name: { [locale]: opts.name },
274
+ asset: {
275
+ [locale]: { sys: { type: 'Link', linkType: 'Asset', id: opts.assetId } },
276
+ },
277
+ };
278
+ if (horizontalPosition !== undefined) {
279
+ fields.horizontalPosition = { [locale]: horizontalPosition };
280
+ }
281
+ if (width !== undefined) {
282
+ fields.width = { [locale]: width };
283
+ }
284
+ const newEntry = await env.createEntry('media', fields);
285
+ const entryId = newEntry.sys.id;
286
+ if (isJsonMode()) {
287
+ console.log(JSON.stringify({ ok: true, id: entryId, contentType: 'media' }));
288
+ return;
289
+ }
290
+ successMsg(`Created Media "${opts.name}" (ID: ${entryId})`);
291
+ infoMsg(`View in Contentful: https://app.contentful.com/spaces/${space.spaceId}/entries/${entryId}`);
292
+ infoMsg(`Embed in rich text: cms-edit rtf embed @c1 body ${entryId}`);
293
+ }
294
+ catch (err) {
295
+ errorMsg(err instanceof Error ? err.message : String(err));
296
+ process.exit(1);
297
+ }
298
+ });
299
+ }
300
+ function parseMediaHorizontalPosition(input) {
301
+ if (input === undefined || input.trim() === '') {
302
+ return undefined;
303
+ }
304
+ const n = input.trim().toLowerCase();
305
+ if (n === 'left') {
306
+ return 'Left';
307
+ }
308
+ if (n === 'middle') {
309
+ return 'Middle';
310
+ }
311
+ if (n === 'right') {
312
+ return 'Right';
313
+ }
314
+ return undefined;
230
315
  }
231
316
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-cms",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
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",
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: "Alt Text Audit"
3
+ description: "Audit and improve image alt text across site pages using cms-edit, with brand-aware terminology and accessibility best practices."
4
+ ---
5
+
6
+ # Skill: contentful-cms — Alt Text Audit
7
+
8
+ Use this skill when auditing or improving **image alt text** across a site's pages using `cms-edit`. Works with any brand context skill for customer-specific terminology.
9
+
10
+ ## Brand Context
11
+
12
+ Before starting, check if a brand context skill is available (e.g., "OM1 Brand Context", "Something Else Brand Context"). If so, use its terminology, image interpretation guidelines, and brand voice when writing alt text.
13
+
14
+ If no brand context is available, ask the user about any brand-specific terms before proceeding.
15
+
16
+ ## Workflow
17
+
18
+ 1. **Get all pages**: `cms-edit sitemap`
19
+ 2. **For each page** (or a specific page if the user specified one):
20
+ a. `cms-edit open /<slug>`
21
+ b. `cms-edit snapshot` — identify components with visual/image/media fields
22
+ c. For each image-bearing component:
23
+ - `cms-edit read @ref` to inspect fields
24
+ - Check `altText` on any image/visual references
25
+ - `cms-edit read @ref visual` to see asset details if needed
26
+ d. **Flag** images with:
27
+ - Missing alt text (empty or null)
28
+ - Generic alt text ("image", "photo", "banner", "screenshot", "img", "picture")
29
+ - Alt text that doesn't use brand terminology (if brand context available)
30
+ - Alt text over 125 characters
31
+ e. **Generate** improved alt text following the guidelines below
32
+ f. `cms-edit set @ref altText "new alt text"`
33
+ g. `cms-edit diff` to review, then `cms-edit save`
34
+
35
+ ## Alt Text Guidelines
36
+
37
+ 1. **Be specific and descriptive** — describe what is actually in the image
38
+ 2. **Use brand terminology** — refer to the brand context for correct terms
39
+ 3. **Keep under 125 characters** — screen readers truncate longer text
40
+ 4. **Don't start with** "Image of", "Photo of", "Picture of"
41
+ 5. **Decorative images** — set alt to "" (empty string) for dividers, background patterns
42
+ 6. **Context matters** — describe the image's purpose on the page, not just its visual content
43
+ 7. **Include relevant actions** — if people are doing something meaningful, describe it
44
+
45
+ ## Reading Page Content
46
+
47
+ To understand a page before auditing its images, use `fetch_page_markdown` (from the site-workflows MCP server) with the page slug.
48
+
49
+ ## Output
50
+
51
+ Present a summary table when complete:
52
+
53
+ | Page | Component | Old Alt Text | New Alt Text | Status |
54
+ |------|-----------|-------------|-------------|--------|
55
+
56
+ Where Status is: Updated, Skipped (decorative), Already Good, or Needs Review.
57
+
58
+ ## Related skills
59
+
60
+ See the **core** skill for the full cms-edit workflow (open, snapshot, read, set, save).
@@ -3,5 +3,8 @@
3
3
  "templates": "Create and edit templates (preContent, postContent, menu, footer, colours)",
4
4
  "navigation": "Create navigation, nav open/add, set nav item fields, remove",
5
5
  "rich-text": "Rich text (rtf) and embeds (append/insert); Markdown support",
6
- "screenshots": "Screenshot command, agent-browser requirement, mock vs live, --url-only"
6
+ "screenshots": "Screenshot command, agent-browser requirement, mock vs live, --url-only",
7
+ "alt-text-audit": "Audit and improve image alt text across site pages",
8
+ "seo-descriptions": "Generate or improve SEO meta descriptions for pages",
9
+ "schema-org": "Generate Schema.org structured data as Mustache templates"
7
10
  }
@@ -19,7 +19,7 @@ Use **set** for scalar and link fields; use **rtf** only for rich text fields.
19
19
  - **Append** an embedded entry: `cms-edit rtf embed @c1 body <entry-id>`
20
20
  - **Insert** at position: `cms-edit rtf embed @c1 body <entry-id> --at 0`
21
21
  - **Raw asset** embed: `cms-edit rtf embed @c1 body <asset-id> --asset` — inserts an `embedded-asset-block` with **no** width/alignment on the block (Contentful only allows `data.target`).
22
- - **Width / horizontal position:** use a **Media** entry (not `--asset`). Set width and horizontal position on the Media entry in Contentful, then embed it: `cms-edit rtf embed @c1 body <media-entry-id> --at 12`. Same image, different layout in two places ⇒ two Media entries pointing at the same asset.
22
+ - **Width / horizontal position:** use a **Media** entry (not `--asset`). Create one with `cms-edit create media --asset-id <id> --name "…" [--position Middle] [--width 40]` (prints the new entry ID; does not replace your session), then `cms-edit rtf embed @c1 body <media-entry-id> --at 12`. Or set fields in the Contentful app. Same image, different layout in two places ⇒ two Media entries pointing at the same asset.
23
23
 
24
24
  Editing or moving existing embeds is **not supported in v1**.
25
25
 
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: "Schema.org Generation"
3
+ description: "Generate Schema.org structured data as Mustache templates for site pages and upload via cms-edit."
4
+ ---
5
+
6
+ # Skill: contentful-cms — Schema.org Generation
7
+
8
+ Use this skill when generating **Schema.org structured data** (JSON-LD) as Mustache templates for pages and uploading via `cms-edit`. Works with any brand context skill for customer name and site URL.
9
+
10
+ ## Brand Context
11
+
12
+ Before starting, check if a brand context skill is available. You'll need the customer name and site URL for Organisation and publisher fields in the schema templates.
13
+
14
+ If no brand context is available, ask the user for these details.
15
+
16
+ ## Phase 1: Analyse Site Structure
17
+
18
+ 1. `cms-edit sitemap` to get all pages and articles
19
+ 2. For each page, use `fetch_page_markdown` (from site-workflows MCP server) to read content
20
+ 3. Categorise each page by Schema.org type:
21
+
22
+ | Page Type | Likely Schema.org Type |
23
+ |-----------|----------------------|
24
+ | Homepage | Organization + WebSite |
25
+ | About | AboutPage + Organization |
26
+ | Service/Product | Service or Product |
27
+ | Pricing | Product with Offer |
28
+ | Blog listing | CollectionPage |
29
+ | Article | Article or BlogPosting |
30
+ | FAQ | FAQPage with Question/Answer |
31
+ | Contact | ContactPage |
32
+ | Team/People | ProfilePage or Person |
33
+ | Case study | Article |
34
+ | Landing page | WebPage |
35
+
36
+ ## Phase 2: Generate Mustache Templates
37
+
38
+ Create JSON-LD templates using these standard Mustache variables:
39
+
40
+ - `{{title}}` — page/article title
41
+ - `{{seoDescription}}` — SEO meta description
42
+ - `{{slug}}` — page slug
43
+ - `{{publishDate}}` — article publish date
44
+ - `{{updatedAt}}` — last modification date
45
+ - `{{authorName}}` — article author name
46
+ - `{{heroImageUrl}}` — primary image URL
47
+ - `{{customerName}}` — from brand context
48
+ - `{{siteUrl}}` — from brand context
49
+
50
+ ## Phase 3: Upload via cms-edit
51
+
52
+ 1. Check available fields:
53
+ - `cms-edit schema page` — page content type fields
54
+ - `cms-edit schema template` — template content type fields
55
+ - Look for `schemaOrg`, `jsonLd`, `structuredData`, or similar
56
+ 2. For **template-level** schemas (Organization, WebSite — shared): `cms-edit list --type template` → open → set
57
+ 3. For **page-level** schemas: open each page → set its schema field
58
+ 4. `cms-edit diff` then `cms-edit save`
59
+
60
+ ## Best Practices
61
+
62
+ - Don't duplicate — template-level Organization schema covers all pages
63
+ - Use specific types — `MedicalBusiness` over `LocalBusiness` if applicable
64
+ - Validate all required properties are present
65
+ - Schema must reflect actual page content
66
+
67
+ ## Output
68
+
69
+ | Page/Template | Schema.org Type(s) | Variables Used | Applied To |
70
+ |--------------|-------------------|---------------|-----------|
71
+
72
+ ## Related skills
73
+
74
+ See the **core** skill for the full cms-edit workflow. See the **seo-descriptions** skill for meta description generation.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: "SEO Descriptions"
3
+ description: "Generate or improve SEO meta descriptions for pages using cms-edit, targeting keywords with the brand voice."
4
+ ---
5
+
6
+ # Skill: contentful-cms — SEO Descriptions
7
+
8
+ Use this skill when generating or improving **SEO meta descriptions** for pages using `cms-edit`. Works with any brand context skill for customer-specific voice and audience.
9
+
10
+ ## Brand Context
11
+
12
+ Before starting, check if a brand context skill is available (e.g., "OM1 Brand Context"). If so, use its brand voice, target audience, SEO focus areas, and tone when writing descriptions.
13
+
14
+ If no brand context is available, ask the user about their brand voice and target audience before proceeding.
15
+
16
+ ## Workflow
17
+
18
+ 1. **Get all pages**: `cms-edit sitemap`
19
+ 2. **For each page** (or a specific page):
20
+ a. **Read page content** using `fetch_page_markdown` (from the site-workflows MCP server) to understand what the page covers
21
+ b. **Check current SEO**:
22
+ - `cms-edit open /<slug>`
23
+ - `cms-edit read @page seoDescription` (or `read @page` for all fields)
24
+ c. **Analyse** the page — primary purpose, problem it solves, desired user action
25
+ d. **Generate** a meta description following the guidelines below
26
+ e. `cms-edit set @page seoDescription "new description"`
27
+ f. `cms-edit diff` then `cms-edit save`
28
+
29
+ ## Meta Description Guidelines
30
+
31
+ 1. **Length:** 150–160 characters (Google truncates at ~160)
32
+ 2. **Include the target keyword** naturally — don't stuff it
33
+ 3. **Use the brand voice** from the brand context
34
+ 4. **Include a call to action** — "Learn more", "Get started", "Discover", etc.
35
+ 5. **Be specific** — mention concrete benefits, not vague claims
36
+ 6. **Match search intent** — what would someone search to land on this page?
37
+ 7. **Avoid:**
38
+ - Starting with the brand name (it's in the title tag)
39
+ - "Welcome to..." or "This page is about..."
40
+ - Duplicating descriptions across pages
41
+ - Quotes (truncated in SERPs)
42
+
43
+ ## Output
44
+
45
+ For each page, present:
46
+
47
+ | Page | Current Description | New Description | Chars | Target Keyword |
48
+ |------|-------------------|-----------------|-------|----------------|
49
+
50
+ Then apply changes via cms-edit.
51
+
52
+ ## Related skills
53
+
54
+ See the **core** skill for the full cms-edit workflow. See the **alt-text-audit** skill for image accessibility.