@se-studio/skills 1.0.36 → 1.0.38
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 +23 -0
- package/README.md +20 -0
- package/package.json +1 -1
- package/skills/contentful-cms-cms-guidelines/README.md +15 -11
- package/skills/contentful-cms-cms-guidelines/generation-prompt.md +1 -1
- package/skills/contentful-cms-core/SKILL.md +60 -1
- package/skills/contentful-cms-generate-all-guidelines/SKILL.md +6 -6
- package/skills/contentful-cms-generate-cms-guidelines/SKILL.md +17 -20
- package/skills/contentful-cms-update-cms-guidelines/SKILL.md +9 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
# @se-studio/skills
|
|
2
2
|
|
|
3
|
+
## 1.0.38
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Extend the local content index with a reference catalog, automatic sync, and bundled skills for cms-edit.
|
|
8
|
+
|
|
9
|
+
- **Content index (schema v2)** — index `template`, `articleType`, `tagType`, and `tag` in SQLite alongside assets and media
|
|
10
|
+
- **Automatic index sync** — index-backed commands call `ensureContentIndex`; full rebuild when missing or schema-outdated, incremental upsert when stale (>24h). Manual `index sync` always full rebuilds
|
|
11
|
+
- **`list --type template|articleType|tagType|tag`** — index-preferred listing with `--force-cma` escape hatch; template `--slug` filters by cmsLabel
|
|
12
|
+
- **`resolve --type template --label`** — resolve templates by cmsLabel; reference types use index with CMA fallback
|
|
13
|
+
- **`index dump --reference-only` / `--reference-type`** — browse the reference catalog
|
|
14
|
+
- **Duplicate detection** — ambiguous slug/label matches throw `ReferenceCatalogAmbiguityError`
|
|
15
|
+
- **File lock** — single writer per index database during sync
|
|
16
|
+
- **`requireMediaIndex` removed** — replaced by async `ensureContentIndex`
|
|
17
|
+
- **Bundled skills** — `sync:skills` copies cms-edit skills from `@se-studio/skills`; setup wizard can install into `.agents/skills`
|
|
18
|
+
|
|
19
|
+
## 1.0.37
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Bulk version bump: patch for all packages
|
|
24
|
+
|
|
3
25
|
## 1.0.36
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
6
28
|
|
|
29
|
+
- Version bump: patch for changed packages
|
|
7
30
|
- 17d37e2: Fix skill descriptions not appearing in Claude Code selector (#30): standardize SKILL.md frontmatter (name matches directory, single-line quoted description, no extra YAML fields). Add `pnpm skills:validate`. Skill slash names now match directory names (e.g. `contentful-cms-core` instead of `contentful-cms:core`).
|
|
8
31
|
|
|
9
32
|
## 1.0.35
|
package/README.md
CHANGED
|
@@ -57,6 +57,26 @@ Claude Code uses a naive frontmatter parser; violations cause descriptions to si
|
|
|
57
57
|
3. Sync: `pnpm skills:sync`
|
|
58
58
|
4. Add a changeset if publishing `@se-studio/skills`
|
|
59
59
|
|
|
60
|
+
### cms-edit bundled skills (`@se-studio/contentful-cms`)
|
|
61
|
+
|
|
62
|
+
The CLI ships a **subset** of skills under `packages/contentful-cms/skills/` for `cms-edit skill install`. Those files are **generated** from this package:
|
|
63
|
+
|
|
64
|
+
| Canonical source (`packages/skills/skills/`) | Bundled name (`packages/contentful-cms/skills/`) |
|
|
65
|
+
|---------------------------------------------|--------------------------------------------------|
|
|
66
|
+
| `contentful-cms-core` | `core` |
|
|
67
|
+
| `contentful-cms-templates` | `templates` |
|
|
68
|
+
| `contentful-cms-setup` | `setup` |
|
|
69
|
+
|
|
70
|
+
After editing any `contentful-cms-*` skill here, run:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pnpm --filter @se-studio/contentful-cms sync:skills
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Do not edit `packages/contentful-cms/skills/` directly. See `packages/contentful-cms/docs/SKILLS.md`.
|
|
77
|
+
|
|
78
|
+
**Do not use `.claude/skills/` in the repo** as a skill source — it is untracked and local. Use `.agents/skills/` (via `pnpm skills:sync`) or `cms-edit skill install`.
|
|
79
|
+
|
|
60
80
|
## References
|
|
61
81
|
|
|
62
82
|
- [Anthropic skill authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@ Guidelines are short markdown fragments — one per CMS type — that describe h
|
|
|
18
18
|
pnpm --filter <appName> generate-showcase
|
|
19
19
|
```
|
|
20
20
|
This writes `src/generated/showcase-examples.json`.
|
|
21
|
-
3. **Curate showcase mocks** — run the [curate-showcase-mocks skill](
|
|
21
|
+
3. **Curate showcase mocks** — run the [curate-showcase-mocks skill](../se-marketing-sites-curate-showcase-mocks/SKILL.md) to select the best examples into `showcase-mocks.json`. This makes the showcase (and screenshots) show realistic content.
|
|
22
22
|
4. **Generate field list** — parse TypeScript types to produce structured field metadata:
|
|
23
23
|
```bash
|
|
24
24
|
# From the app directory:
|
|
@@ -27,7 +27,7 @@ Guidelines are short markdown fragments — one per CMS type — that describe h
|
|
|
27
27
|
# Or from repo root:
|
|
28
28
|
pnpm --filter <appName> exec cms-generate-field-list --app-dir .
|
|
29
29
|
```
|
|
30
|
-
5. **Generate guidelines** — run the [Generate CMS guidelines skill](
|
|
30
|
+
5. **Generate guidelines** — run the [Generate CMS guidelines skill](../contentful-cms-generate-cms-guidelines/SKILL.md).
|
|
31
31
|
|
|
32
32
|
Steps 1–3 only need to be repeated when content or component code changes significantly. Step 4 only needs to be repeated when TypeScript types change. Step 5 can be re-run at any time.
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ Steps 1–3 only need to be repeated when content or component code changes sign
|
|
|
35
35
|
|
|
36
36
|
## How to run guideline generation
|
|
37
37
|
|
|
38
|
-
Use the Cursor skill at [
|
|
38
|
+
Use the Cursor skill at [`../contentful-cms-generate-cms-guidelines/SKILL.md`](../contentful-cms-generate-cms-guidelines/SKILL.md). It supports three modes:
|
|
39
39
|
|
|
40
40
|
| Mode | When to use |
|
|
41
41
|
|---|---|
|
|
@@ -43,25 +43,29 @@ Use the Cursor skill at [`.agents/skills/contentful-cms-generate-cms-guidelines/
|
|
|
43
43
|
| `single` | Regenerate one component after code changes |
|
|
44
44
|
| `merge-only` | Rebuild `COMPONENT_GUIDELINES_FOR_LLM.md` after manual fragment edits |
|
|
45
45
|
|
|
46
|
-
**Example: full from scratch
|
|
46
|
+
**Example: full from scratch**
|
|
47
47
|
|
|
48
48
|
Start the app:
|
|
49
|
+
|
|
49
50
|
```bash
|
|
50
|
-
pnpm
|
|
51
|
+
pnpm dev
|
|
52
|
+
# Note the port from dev server output, or read devBaseUrl from .contentful-cms.json
|
|
51
53
|
```
|
|
52
54
|
|
|
53
55
|
Then invoke the skill with:
|
|
54
|
-
|
|
56
|
+
|
|
57
|
+
- App directory: `<appDir>` (e.g. `.` in an external project)
|
|
55
58
|
- Mode: `full`
|
|
56
|
-
- Discovery URL: `http://localhost
|
|
59
|
+
- Discovery URL: `http://localhost:<PORT>/api/cms/discovery/`
|
|
57
60
|
|
|
58
61
|
**Example: single component**
|
|
59
62
|
|
|
60
63
|
Invoke the skill with:
|
|
61
|
-
|
|
64
|
+
|
|
65
|
+
- App directory: `<appDir>`
|
|
62
66
|
- Mode: `single`
|
|
63
67
|
- Type name: `Hero`
|
|
64
|
-
- Discovery URL: `http://localhost
|
|
68
|
+
- Discovery URL: `http://localhost:<PORT>/api/cms/discovery/`
|
|
65
69
|
|
|
66
70
|
**Example: merge only**
|
|
67
71
|
|
|
@@ -109,8 +113,8 @@ New project-independent CLI. Reads the discovery API and writes collection and e
|
|
|
109
113
|
|
|
110
114
|
```bash
|
|
111
115
|
cms-generate-collection-guidelines \
|
|
112
|
-
--discovery-url http://localhost
|
|
113
|
-
--app-dir
|
|
116
|
+
--discovery-url http://localhost:<PORT>/api/cms/discovery/ \
|
|
117
|
+
--app-dir <appDir>
|
|
114
118
|
```
|
|
115
119
|
|
|
116
120
|
Options:
|
|
@@ -115,7 +115,7 @@ Also provided:
|
|
|
115
115
|
- The field list from generated/cms-discovery/field-list.json.
|
|
116
116
|
- The project theme from generated/cms-discovery/theme-context.md (palette names + typography scale).
|
|
117
117
|
- The screenshot index from docs/cms-guidelines/screenshots/index.json (lists captured screenshots).
|
|
118
|
-
- The app's devBaseUrl from .contentful-cms.json (e.g. "http://localhost
|
|
118
|
+
- The app's devBaseUrl from .contentful-cms.json (e.g. "http://localhost:<PORT>").
|
|
119
119
|
|
|
120
120
|
Produce a single markdown fragment for <COMPONENT_TYPE> following EXACTLY this structure:
|
|
121
121
|
|
|
@@ -341,10 +341,32 @@ cms-edit set @c5 links linkId4 --links --append
|
|
|
341
341
|
|
|
342
342
|
## Assets
|
|
343
343
|
|
|
344
|
+
**Content index:** Run `cms-edit index sync` once per space before asset search, media-by-filename list, asset audit, or `--if-exists-by-filename`. The same sync also indexes **templates**, **articleType**, **tagType**, and **tag** for fast `list --type` and taxonomy `--if-not-exists`. Default sync uses the **Preview API** (draft content). See `cms-edit help index-sync`.
|
|
345
|
+
|
|
344
346
|
```bash
|
|
345
|
-
|
|
347
|
+
cms-edit index sync
|
|
348
|
+
cms-edit index status
|
|
349
|
+
cms-edit list --type template
|
|
350
|
+
cms-edit resolve --type tagType --slug topic
|
|
351
|
+
|
|
352
|
+
# Published-only index (optional)
|
|
353
|
+
cms-edit index sync --published
|
|
354
|
+
|
|
355
|
+
# Search for an asset by title (requires index)
|
|
346
356
|
cms-edit asset search "hero background"
|
|
347
357
|
|
|
358
|
+
# Search by fileName
|
|
359
|
+
cms-edit asset search --filename istockphoto-123.jpg
|
|
360
|
+
cms-edit asset search --filename-match 'istockphoto-.*'
|
|
361
|
+
|
|
362
|
+
# Upload from local file, URL, or base64
|
|
363
|
+
cms-edit asset upload ./poster.jpg --title "Poster"
|
|
364
|
+
cms-edit asset upload --url https://example.com/image.jpg --if-exists-by-filename
|
|
365
|
+
cms-edit asset upload --base64 "$B64" --mime image/png --file-name poster.png
|
|
366
|
+
|
|
367
|
+
# Upload and create a Media wrapper in one step
|
|
368
|
+
cms-edit asset upload ./figure.png --with-media --media-name "Figure 1" --media-position Middle
|
|
369
|
+
|
|
348
370
|
# Get asset details
|
|
349
371
|
cms-edit asset info 5xKj2abcDef
|
|
350
372
|
|
|
@@ -352,6 +374,10 @@ cms-edit asset info 5xKj2abcDef
|
|
|
352
374
|
cms-edit asset set @c0 visual 5xKj2abcDef
|
|
353
375
|
```
|
|
354
376
|
|
|
377
|
+
JSON output for upload (`CMS_EDIT_JSON=1`): `{ ok, id, fileName, url, mediaId?, mediaIds? }`. Max upload size is **10MB** per file.
|
|
378
|
+
|
|
379
|
+
**Idempotent upload:** `--if-exists-by-filename` is check-then-create. Do not upload the same `fileName` in parallel — serialize per fileName or re-run to converge.
|
|
380
|
+
|
|
355
381
|
## Navigation
|
|
356
382
|
|
|
357
383
|
```bash
|
|
@@ -384,8 +410,34 @@ cms-edit create page --slug /about-us --title "About Us" \
|
|
|
384
410
|
|
|
385
411
|
# Create a new article (requires articleType entry ID)
|
|
386
412
|
cms-edit create article --slug /blog/my-post --title "My Post" --article-type-id 3abcDef456
|
|
413
|
+
|
|
414
|
+
# Create taxonomy entries (draft only)
|
|
415
|
+
cms-edit create tag-type --slug conference-venue --name "Conference Venue"
|
|
416
|
+
cms-edit create article-type --slug resources/publications --name "Publications"
|
|
417
|
+
cms-edit create tag --slug poster-presentation --name "Poster Presentation" --tag-type presentation-type
|
|
418
|
+
|
|
419
|
+
# Full fields via JSON
|
|
420
|
+
cms-edit create tag --json-file tag.json --tag-type presentation-type --if-not-exists
|
|
421
|
+
|
|
422
|
+
# Batch bootstrap
|
|
423
|
+
cms-edit create taxonomy-from-json --file taxonomy.json --if-not-exists
|
|
424
|
+
|
|
425
|
+
# Idempotent single-entry creates
|
|
426
|
+
cms-edit ensure tag-type --slug conference-venue --name "Conference Venue"
|
|
427
|
+
cms-edit ensure tag --slug asco-2025 --name "ASCO 2025" --tag-type conference-venue
|
|
387
428
|
```
|
|
388
429
|
|
|
430
|
+
See `cms-edit help fields-taxonomy` and `cms-edit help taxonomy-from-json` for field reference and batch schema.
|
|
431
|
+
|
|
432
|
+
**Idempotent taxonomy:** `--if-not-exists` / `ensure` are check-then-create — safe for sequential imports, not for parallel creates on the same slug.
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
# Resolve taxonomy IDs without a session
|
|
436
|
+
cms-edit resolve --type tag-type --slug presentation-type
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
`resolve --type` accepts `page`, `article`, `articleType`, `tagType`, `tag` (kebab aliases such as `tag-type`).
|
|
440
|
+
|
|
389
441
|
## Search and Discovery
|
|
390
442
|
|
|
391
443
|
```bash
|
|
@@ -405,7 +457,14 @@ cms-edit list --type article --has-field tags # articles where tags field i
|
|
|
405
457
|
# Resolve any entry or asset by ID (no open session required)
|
|
406
458
|
cms-edit resolve 4xKj2abcDefGhijK # entry: shows type, title, slug, status
|
|
407
459
|
cms-edit resolve 7pQrStuvWxyzAbc # asset: shows title, fileName, URL
|
|
460
|
+
cms-edit resolve --type tagType --slug presentation-type
|
|
461
|
+
cms-edit resolve --type tag --slug asco-2025
|
|
408
462
|
cms-edit resolve <id> --json # full Contentful object
|
|
463
|
+
|
|
464
|
+
# Find Media entries by asset
|
|
465
|
+
cms-edit list --type media --asset-id 7pQrStuvWxyzAbc
|
|
466
|
+
cms-edit list --type media --asset-filename istockphoto-123.jpg
|
|
467
|
+
cms-edit list --type media --asset-filename-match 'istockphoto-.*'
|
|
409
468
|
```
|
|
410
469
|
|
|
411
470
|
To resolve a **tag entry ID** to its slug or label (e.g. for constructing article URLs such as `/resources/publications/<tag>/<slug>`):
|
|
@@ -65,9 +65,9 @@ All of these must be true before starting. Check each one.
|
|
|
65
65
|
|
|
66
66
|
| Input | Example |
|
|
67
67
|
|-------|---------|
|
|
68
|
-
| App directory (absolute or repo-relative) | `apps/
|
|
69
|
-
| Discovery URL | `http://localhost
|
|
70
|
-
| Port | `
|
|
68
|
+
| App directory (absolute or repo-relative) | `apps/my-site` or `/path/to/project` |
|
|
69
|
+
| Discovery URL | `http://localhost:<PORT>/api/cms/discovery/` |
|
|
70
|
+
| Port / base URL | From `pnpm dev` output, or `devBaseUrl` in `<appDir>/.contentful-cms.json` |
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
|
@@ -197,9 +197,9 @@ IMPORTANT: Screenshots have already been captured. Skip Phase A entirely.
|
|
|
197
197
|
Go straight to Phase B.
|
|
198
198
|
|
|
199
199
|
Files to read before starting:
|
|
200
|
-
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
200
|
+
- ../contentful-cms-cms-guidelines/generation-prompt.md (Phase B instructions)
|
|
201
|
+
- ../contentful-cms-cms-guidelines/colour-hint-prompt.md (Phase C instructions)
|
|
202
|
+
- ../contentful-cms-cms-guidelines/validation-prompt.md (Phase D instructions)
|
|
203
203
|
- <APP_DIR>/src/project/components/<TypeName>.tsx (component source)
|
|
204
204
|
- <APP_DIR>/generated/cms-discovery/field-list.json
|
|
205
205
|
- <APP_DIR>/src/generated/cms-discovery/accepted-variants/{components|collections|externals}/<type-slug>.json
|
|
@@ -32,7 +32,7 @@ Guidelines are only meaningful when the showcase is populated with realistic dat
|
|
|
32
32
|
pnpm --filter <appName> generate-showcase
|
|
33
33
|
```
|
|
34
34
|
This writes `src/generated/showcase-examples.json` to the app.
|
|
35
|
-
3. **Curate showcase mocks:** Follow the [curate-showcase-mocks skill](
|
|
35
|
+
3. **Curate showcase mocks:** Follow the [curate-showcase-mocks skill](../se-marketing-sites-curate-showcase-mocks/SKILL.md) to produce `showcase-mocks.json`.
|
|
36
36
|
4. **Generate field list:**
|
|
37
37
|
```bash
|
|
38
38
|
# From the app directory:
|
|
@@ -51,17 +51,14 @@ Guidelines are only meaningful when the showcase is populated with realistic dat
|
|
|
51
51
|
| **App directory** | Repo-relative path, e.g. `apps/example-om1` or `apps/example-se2026` |
|
|
52
52
|
| **Mode** | `full` \| `single` \| `merge-only` |
|
|
53
53
|
| **Type name** | Required for `single` mode — the exact type name from discovery, e.g. `"Hero"` or `"Cards Grid"` |
|
|
54
|
-
| **Discovery URL** |
|
|
54
|
+
| **Discovery URL** | `http://localhost:<PORT>/api/cms/discovery/` — `<PORT>` from the running dev server (`pnpm dev`) |
|
|
55
|
+
| **Port / base URL** | Dev script output, or `devBaseUrl` in `<appDir>/.contentful-cms.json` |
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
The app must be running for `full` and `single` modes. Confirm with:
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
| example-se2026 | 3012 | `http://localhost:3012/api/cms/discovery/` |
|
|
62
|
-
| example-om1 | 3013 | `http://localhost:3013/api/cms/discovery/` |
|
|
63
|
-
| example-empty | 3014 | `http://localhost:3014/api/cms/discovery/` |
|
|
64
|
-
| example-brightlifekids | 3015 | `http://localhost:3015/api/cms/discovery/` |
|
|
59
|
+
```bash
|
|
60
|
+
curl -sL http://localhost:<PORT>/api/cms/discovery/ | head -c 100
|
|
61
|
+
```
|
|
65
62
|
|
|
66
63
|
---
|
|
67
64
|
|
|
@@ -115,7 +112,7 @@ Example of a completed `## Fields & Schema` section:
|
|
|
115
112
|
### Step 3 — Generate component guidelines
|
|
116
113
|
|
|
117
114
|
For each component in discovery order, run the full per-component pipeline defined in
|
|
118
|
-
[`
|
|
115
|
+
[`generate-component-guidelines.md`](../contentful-cms-cms-guidelines/generate-component-guidelines.md).
|
|
119
116
|
|
|
120
117
|
To find unfinished components:
|
|
121
118
|
1. Fetch `<discoveryUrl>` and collect all `components[].name` values.
|
|
@@ -131,12 +128,12 @@ Run a Cursor subagent with this prompt, substituting `<COMPONENT_TYPE>` and `<AP
|
|
|
131
128
|
Run the full guideline generation pipeline for <COMPONENT_TYPE>.
|
|
132
129
|
Target app: <APP_DIR> (all paths relative to repo root / that directory).
|
|
133
130
|
|
|
134
|
-
Read these pipeline docs first (
|
|
135
|
-
- generate-component-guidelines.md (overall pipeline)
|
|
136
|
-
- variant-loop.md (Phase A: variant loop)
|
|
137
|
-
- generation-prompt.md (Phase B: generation)
|
|
138
|
-
- colour-hint-prompt.md (Phase C: colour hint)
|
|
139
|
-
- validation-prompt.md (Phase D: validation)
|
|
131
|
+
Read these pipeline docs first (sibling directory contentful-cms-cms-guidelines/):
|
|
132
|
+
- ../contentful-cms-cms-guidelines/generate-component-guidelines.md (overall pipeline)
|
|
133
|
+
- ../contentful-cms-cms-guidelines/variant-loop.md (Phase A: variant loop)
|
|
134
|
+
- ../contentful-cms-cms-guidelines/generation-prompt.md (Phase B: generation)
|
|
135
|
+
- ../contentful-cms-cms-guidelines/colour-hint-prompt.md (Phase C: colour hint)
|
|
136
|
+
- ../contentful-cms-cms-guidelines/validation-prompt.md (Phase D: validation)
|
|
140
137
|
|
|
141
138
|
=== Phase A: Variant loop ===
|
|
142
139
|
Follow variant-loop.md.
|
|
@@ -271,8 +268,8 @@ Each component guideline contains a `## Screenshots` section with image links:
|
|
|
271
268
|
|
|
272
269
|
| Variant | Preview |
|
|
273
270
|
|---------|---------|
|
|
274
|
-
| Default |  |
|
|
272
|
+
| Navy |  |
|
|
276
273
|
```
|
|
277
274
|
|
|
278
275
|
These links:
|
|
@@ -285,7 +282,7 @@ These links:
|
|
|
285
282
|
|
|
286
283
|
## Pipeline reference
|
|
287
284
|
|
|
288
|
-
All per-component pipeline docs live in `
|
|
285
|
+
All per-component pipeline docs live in the sibling directory [`contentful-cms-cms-guidelines/`](../contentful-cms-cms-guidelines/):
|
|
289
286
|
|
|
290
287
|
| File | Purpose |
|
|
291
288
|
|---|---|
|
|
@@ -45,21 +45,11 @@ If they insist on “everything” / “from scratch” / “totally regenerate
|
|
|
45
45
|
|
|
46
46
|
| Input | Example |
|
|
47
47
|
|---|---|
|
|
48
|
-
| App directory (repo-relative or absolute) | `apps/
|
|
49
|
-
|
|
|
50
|
-
|
|
|
48
|
+
| App directory (repo-relative or absolute) | `apps/my-site` |
|
|
49
|
+
| Discovery URL | `http://localhost:<PORT>/api/cms/discovery/` |
|
|
50
|
+
| Port / base URL | From `pnpm dev` output, or `devBaseUrl` in `<appDir>/.contentful-cms.json` |
|
|
51
51
|
| Mode | `fresh` \| `sync` \| `merge-only` |
|
|
52
52
|
|
|
53
|
-
**App ports:**
|
|
54
|
-
|
|
55
|
-
| App | Port |
|
|
56
|
-
|---|---|
|
|
57
|
-
| example-brightline | 3010 |
|
|
58
|
-
| example-se2026 | 3012 |
|
|
59
|
-
| example-om1 | 3013 |
|
|
60
|
-
| example-empty | 3014 |
|
|
61
|
-
| example-brightlifekids | 3015 |
|
|
62
|
-
|
|
63
53
|
---
|
|
64
54
|
|
|
65
55
|
## Mode: fresh
|
|
@@ -108,7 +98,7 @@ grep -E "CONTENTFUL_SPACE_ID|CONTENTFUL_ACCESS_TOKEN|OPENAI_API_KEY|ANTHROPIC_AP
|
|
|
108
98
|
### Step 2 — Curate showcase mocks
|
|
109
99
|
|
|
110
100
|
Read and follow the **curate-showcase-mocks** skill:
|
|
111
|
-
|
|
101
|
+
[`../se-marketing-sites-curate-showcase-mocks/SKILL.md`](../se-marketing-sites-curate-showcase-mocks/SKILL.md)
|
|
112
102
|
|
|
113
103
|
This produces `src/generated/showcase-mocks.json` (committed) and
|
|
114
104
|
`src/generated/cms-discovery/accepted-variants/{components|collections|externals}/<slug>.json` (often gitignored — **some apps commit them**; follow the app’s `.gitignore`).
|
|
@@ -146,7 +136,7 @@ Produces `generated/cms-discovery/field-list.json` (discovery API reads from thi
|
|
|
146
136
|
### Step 5 — Run generate-all-guidelines
|
|
147
137
|
|
|
148
138
|
Read and follow the **generate-all-guidelines** skill:
|
|
149
|
-
|
|
139
|
+
[`../contentful-cms-generate-all-guidelines/SKILL.md`](../contentful-cms-generate-all-guidelines/SKILL.md)
|
|
150
140
|
|
|
151
141
|
Skip its prerequisite check (you already verified everything through Step 4).
|
|
152
142
|
Run Phases 0–5 from that skill with **full regeneration rules**:
|
|
@@ -338,7 +328,7 @@ All under `<appDir>`:
|
|
|
338
328
|
|
|
339
329
|
| Purpose | Skill |
|
|
340
330
|
|---|---|
|
|
341
|
-
| Curate showcase mocks (Step 2 of `fresh`) |
|
|
342
|
-
| Full-site bulk generation (Step 4 of `fresh`: Phases 0–5) |
|
|
343
|
-
| Single-type regeneration (after code change) |
|
|
344
|
-
| Per-component pipeline detail | `
|
|
331
|
+
| Curate showcase mocks (Step 2 of `fresh`) | [`../se-marketing-sites-curate-showcase-mocks/SKILL.md`](../se-marketing-sites-curate-showcase-mocks/SKILL.md) |
|
|
332
|
+
| Full-site bulk generation (Step 4 of `fresh`: Phases 0–5) | [`../contentful-cms-generate-all-guidelines/SKILL.md`](../contentful-cms-generate-all-guidelines/SKILL.md) |
|
|
333
|
+
| Single-type regeneration (after code change) | [`../contentful-cms-generate-cms-guidelines/SKILL.md`](../contentful-cms-generate-cms-guidelines/SKILL.md) (mode: single) |
|
|
334
|
+
| Per-component pipeline detail | [`generate-component-guidelines.md`](../contentful-cms-cms-guidelines/generate-component-guidelines.md) |
|