@se-studio/skills 1.7.1 → 1.7.2
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,11 @@
|
|
|
1
1
|
# @se-studio/skills
|
|
2
2
|
|
|
3
|
+
## 1.7.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2b1e79c: Portless local URLs: require `portless service install` for HTTPS 443; document unique last-segment worktree hosts. Refuse local `cms-edit` content commands (hosted MCP only). Smoke/revalidation use `start:dev` so `PORT` is not swallowed by portless.
|
|
8
|
+
|
|
3
9
|
## 1.7.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: contentful-cms-core
|
|
3
|
-
description: "
|
|
3
|
+
description: "Edit Contentful drafts via hosted cms-edit MCP (open → snapshot → read → set/rtf → diff → save). Local CLI content commands are disabled."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Skill: contentful-cms
|
|
6
|
+
# Skill: contentful-cms (hosted MCP)
|
|
7
7
|
|
|
8
|
-
Use this skill when you need to read or edit content in Contentful
|
|
8
|
+
Use this skill when you need to read or edit content in Contentful using **hosted cms-edit MCP** (`cms_edit` with an `args` array). Command names match the old CLI (`open` → `snapshot` → `read` → `set`/`rtf` → `diff` → `save`).
|
|
9
|
+
|
|
10
|
+
**Do not** run the local `cms-edit` binary for content. It refuses `open`, `save`, `set`, and other content commands. Local CLI is only for `host`, `editor-pack`, `project`, `schema`, and `guide`.
|
|
9
11
|
|
|
10
12
|
**Before editing:** use skill **`contentful-cms-editor-tasks`** to read `tasks-index` and the matching capability playbook for this site (hosted MCP or local `cms-edit/<site>/editor-pack/`).
|
|
11
13
|
|
|
@@ -31,7 +33,6 @@ All `save` operations create **draft** versions. A human must review and publish
|
|
|
31
33
|
|
|
32
34
|
**Assets:** Upload **is** supported (`asset upload`). Default workflow: **search and reuse** existing assets first (`index sync` → `asset search`). When uploading:
|
|
33
35
|
- **Hosted MCP:** always `cms_edit_request_staged_upload` → curl → `asset upload --staged` (never `--base64`)
|
|
34
|
-
- **Local CLI:** `--base64` or `--url` when user approves local CLI
|
|
35
36
|
- Use a **sensible fileName** and **descriptive title** (and alt text where the site uses it)
|
|
36
37
|
- Avoid oversized images — width over **2000px** is usually wasteful for web (exact limits vary by project; check `asset audit` / media review guidance)
|
|
37
38
|
- Prefer `--if-exists-by-filename` to avoid duplicates
|
|
@@ -26,10 +26,10 @@ Preview / `DRAFT_ONLY` Contentful access in local dev is expected and not a smok
|
|
|
26
26
|
| `pnpm smoke-test:run` | Smoke only (server already up) |
|
|
27
27
|
| `pnpm smoke-test:preview` | Smoke against Vercel preview (`runPreviewStaticSmokeTest`; no local server) |
|
|
28
28
|
| `pnpm smoke-test:audit` | Functional smoke + server log cache audit |
|
|
29
|
-
| `pnpm smoke-test:cache` | `build` + `start` + double-pass `x-nextjs-cache` verify |
|
|
30
|
-
| `pnpm smoke-test:deploy-check` | Post-build gate: `start` (no rebuild) + functional smoke — use in Vercel `buildCommand` |
|
|
29
|
+
| `pnpm smoke-test:cache` | `build` + `start:dev` + double-pass `x-nextjs-cache` verify |
|
|
30
|
+
| `pnpm smoke-test:deploy-check` | Post-build gate: `start:dev` (no rebuild) + functional smoke — use in Vercel `buildCommand` |
|
|
31
31
|
| `pnpm smoke-test:live` | Live deployment URL smoke — GitHub Action + Vercel Deployment Checks |
|
|
32
|
-
| `pnpm revalidation-test` | `build` + `start` + revalidation matrix (warm → invalidate → cold → warm); see `revalidation.cases.json` and [CONTENTFUL_WEBHOOK_REVALIDATION.md](../../../../docs/CONTENTFUL_WEBHOOK_REVALIDATION.md) |
|
|
32
|
+
| `pnpm revalidation-test` | `build` + `start:dev` + revalidation matrix (warm → invalidate → cold → warm); see `revalidation.cases.json` and [CONTENTFUL_WEBHOOK_REVALIDATION.md](../../../../docs/CONTENTFUL_WEBHOOK_REVALIDATION.md) |
|
|
33
33
|
|
|
34
34
|
Example `package.json` entries:
|
|
35
35
|
|
|
@@ -38,7 +38,7 @@ Example `package.json` entries:
|
|
|
38
38
|
"smoke-test:run": "tsx scripts/smoke-test-run.ts",
|
|
39
39
|
"smoke-test:preview": "bash -c 'set -a && [ -f .env.local ] && . ./.env.local; set +a && exec tsx scripts/smoke-test-preview.ts'",
|
|
40
40
|
"smoke-test:audit": "SMOKE_TEST_AUDIT_CACHE_LOGS=true smoke-test-one 3012",
|
|
41
|
-
"smoke-test:cache": "SMOKE_TEST_SERVER_SCRIPT=start SMOKE_TEST_VERIFY_CACHE=true smoke-test-one 3012",
|
|
41
|
+
"smoke-test:cache": "SMOKE_TEST_SERVER_SCRIPT=start:dev SMOKE_TEST_VERIFY_CACHE=true smoke-test-one 3012",
|
|
42
42
|
"smoke-test:deploy-check": "smoke-test-deploy-check",
|
|
43
43
|
"smoke-test:live": "smoke-test-live",
|
|
44
44
|
"revalidation-test": "node ../../scripts/revalidation-matrix-test.mjs 3012"
|
|
@@ -182,7 +182,7 @@ vercel env add VERCEL_FORCE_NO_BUILD_CACHE production --value 1 --yes
|
|
|
182
182
|
|
|
183
183
|
### 1. Confirm port
|
|
184
184
|
|
|
185
|
-
Read `package.json` —
|
|
185
|
+
Read `package.json` — smoke still uses a localhost port (`smoke-test-one 3012`). `pnpm dev` is portless (`https://<name>.localhost`) and is **not** the smoke server. Confirm `dev:dev` has no `-p` flag so `PORT` from `smoke-test-one` is honoured.
|
|
186
186
|
|
|
187
187
|
### 2. Fetch sitemap (production first)
|
|
188
188
|
|
|
@@ -166,6 +166,14 @@ cd <worktreesRoot>/<feature-slug>
|
|
|
166
166
|
|
|
167
167
|
**Manifest gate:** set `worktree:` to the worktree path before coding. Do all edits, installs, tests, and commits from that path. Do not leave the primary checkout on a feature branch.
|
|
168
168
|
|
|
169
|
+
### Portless URLs in worktrees
|
|
170
|
+
|
|
171
|
+
`pnpm dev` uses [portless](https://github.com/vercel-labs/portless). Install **`portless service install`** once so `https://<name>.localhost` works on 443.
|
|
172
|
+
|
|
173
|
+
Portless prefixes the hostname with the **last segment of the branch name**. `feature/om1/hero-redesign` → `https://hero-redesign.om1.localhost`. Two parallel features that share that last slug collide (both claim `hero.om1.localhost`). **Make the last path segment unique** (include the ticket id: `feature/om1/mktg-5117-hero`). The app `--name` (`om1`, `example`) does not disambiguate two worktrees of the same last slug.
|
|
174
|
+
|
|
175
|
+
Without the OS service, agents may get `https://<name>.localhost:1355` from an ad-hoc proxy — do not hardcode `:1355` in docs or cms-edit `devBaseUrl`.
|
|
176
|
+
|
|
169
177
|
### Gate — refuse primary-checkout feature work
|
|
170
178
|
|
|
171
179
|
If you are about to implement a feature and `worktree` is null without `worktree_opt_out: true`:
|