Commit Graph

253 Commits

Author SHA1 Message Date
contentful-automation[bot] 4fe08d1ad7 chore(release): v1.6.4 1.6.4 2026-05-08 14:59:51 +00:00
Tim Beyer 90ba6d008f Merge pull request #52 from contentful/fix/security-findings
fix: address workflow and personalization security findings []
2026-05-08 16:59:10 +02:00
Tim Beyer d51b23b5f9 fix(contentful-personalization): use view() for confirm-install step [NT-0000]
Present package install details via the view primitive instead of
embedding render.kv inside a prompt template string.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-08 16:55:53 +02:00
Francois Le Pape ead03f229d fix(contentful-personalization): avoid duplicate frameworkless ninetailed package [NT-0000] 2026-05-07 17:12:35 +02:00
Francois Le Pape 1a39ffb465 add other framework package 2026-05-07 17:03:59 +02:00
Francois Le Pape 8601edd908 fix(contentful-personalization): align optimization package detection [NT-0000] 2026-05-07 17:01:55 +02:00
Francois Le Pape 21e17514a5 fix(contentful-personalization): use optimization-core for frameworkless installs [NT-0000] 2026-05-07 17:00:05 +02:00
Francois Le Pape c6fe8e02ee fix(contentful-personalization): support frameworkless package installs [NT-0000] 2026-05-07 16:56:17 +02:00
Francois Le Pape 7e9e65920f deps: refresh release toolchain and pin patched transitives [NT-0000] 2026-05-07 16:30:33 +02:00
Francois Le Pape a82b1b573b fix(ci): drop unused release workflow token writes [NT-0000] 2026-05-07 16:28:16 +02:00
Francois Le Pape ed63e30d28 fix(contentful-personalization): use bearer auth for entry inspection [NT-0000] 2026-05-07 16:27:49 +02:00
Francois Le Pape 2d3a48dbf3 fix(contentful-personalization): harden guided package installs [NT-0000] 2026-05-07 16:27:15 +02:00
contentful-automation[bot] bba995fae9 chore(release): v1.6.3 1.6.3 2026-05-07 07:47:56 +00:00
François cf43f7009e Merge pull request #50 from contentful/chore/contribution-license
docs: add contribution license section
2026-05-07 09:47:12 +02:00
Tim Beyer fe3aaad4d5 docs: add contribution license section to CONTRIBUTING.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 09:45:37 +02:00
contentful-automation[bot] 96cdeb699d chore(release): v1.6.2 1.6.2 2026-05-06 07:57:07 +00:00
Tim Beyer 599385f25f Merge pull request #43 from contentful/docs/manual-mcp-setup
docs: add manual MCP server setup instructions
2026-05-06 09:56:21 +02:00
contentful-automation[bot] a9f388e22e chore(release): v1.6.1 1.6.1 2026-05-06 06:57:05 +00:00
Tim Beyer d14d565d0b Merge pull request #49 from contentful/chore/update-notice-file
chore: [NT-3168] Update NOTICE file with missing dev dependencies
2026-05-06 08:56:18 +02:00
Tim Beyer 747627fb26 chore: update NOTICE with missing dev dependencies
Add @release-it/bumper, @release-it/conventional-changelog, oxlint,
prettier, and release-it to the NOTICE file. All MIT-licensed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-06 08:47:12 +02:00
contentful-automation[bot] 58af6c621e chore(release): v1.6.0 1.6.0 2026-05-05 12:36:01 +00:00
Tim Beyer 8b990cf824 Merge pull request #45 from contentful/feat/skill-kit-state-system-migration
feat: migrate to skill-kit state system redesign
2026-05-05 14:35:15 +02:00
Tim Beyer 2ca1aaa629 Merge remote-tracking branch 'origin/main' into feat/skill-kit-state-system-migration
# Conflicts:
#	skills/contentful-personalization/bin/contentful-personalization.mjs
2026-05-05 14:32:56 +02:00
contentful-automation[bot] 3332264026 chore(release): v1.5.6 1.5.6 2026-05-05 03:15:52 +00:00
renovate[bot] d1ec347583 chore(deps): update actions/setup-node action to v6.4.0 (#47)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-05 03:15:10 +00:00
Tim Beyer 67ac577b62 Merge remote-tracking branch 'origin/main' into feat/skill-kit-state-system-migration
# Conflicts:
#	skills/contentful-personalization/bin/contentful-personalization.mjs
2026-05-04 13:57:29 +02:00
contentful-automation[bot] 21ef714f27 chore(release): v1.5.5 1.5.5 2026-05-04 11:42:04 +00:00
renovate[bot] 54c7243ab0 chore(deps): update pnpm/action-setup digest to 8912a91 (#46)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-04 11:41:28 +00:00
Tim Beyer 14383a0a0d refactor: remove diagnosis! assertions with skill-kit 1.6.2
skill-kit 1.6.2 fixes nested branch reconvergence, so store.diagnosis
is now correctly inferred as guaranteed after the review step. Removes
all non-null assertions on the diagnosis sub-store.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 13:35:55 +02:00
Tim Beyer bf5d95d62a refactor: remove unnecessary type casts
The store type system already infers step result types from action
output schemas and response schemas. Remove all redundant `as X`
casts on store.steps access. Only store.diagnosis! remains (the
reconvergence promotion doesn't yet track sub-store writes through
multi-hop branches — filed separately).

Also removes unused schema imports that were only needed for casts.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 10:00:21 +02:00
Tim Beyer d5cc10fc75 chore: switch skill-kit from local to published @1.6.0
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-04 09:44:20 +02:00
Tim Beyer ba7a8c4913 chore: rename action.input to action.mapInput
Follows the skill-kit rename of the action input mapper field.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 23:41:42 +02:00
Tim Beyer 08d55e7e25 fix: consistent credential masking, don't mask non-secrets
Align masking between env var table and credentials table — both now
show the start of the value (first 8 chars + ****). Space IDs and
environment names are shown in full since they aren't secrets.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 15:09:08 +02:00
Tim Beyer 5f678225c8 chore: rebuild contentful-personalization skill
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 15:05:29 +02:00
Tim Beyer a6acbca6b2 fix: show credentials to user before asking for confirmation
The confirm-credentials step now uses view() to render the detected
credentials table directly to the user, followed by act.askUser() for
the confirmation prompt. Previously the credentials were embedded in
the instruction prompt, so the agent would ask for confirmation without
first showing what was found.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 15:05:01 +02:00
Tim Beyer f7a3c98e4f chore: rebuild contentful-personalization skill
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 14:55:02 +02:00
Tim Beyer db89e440ae refactor: split checkPackagesAndEnv, restructure doctor flow
Split the monolithic checkPackagesAndEnv action into two focused actions:
- checkPackages: scans package.json for installed SDKs and package manager
- scanCredentials: scans .env files for Contentful/Ninetailed tokens

Restructure the doctor subskill flow from a 4-way branch maze into
clean 2-way branches with reconvergence:
- New credential flow: explore → scan-credentials → confirm-credentials
  → apply-credentials (auto-advance) → check-api
- Bifurcation: credentials confirmed → full diagnostic with API checks
  and optional entry inspection; no credentials → code-only analysis
- Both paths reconverge at review → diagnosis store guaranteed
- Merged report-only into done as universal terminal

Stores redesigned with separated concerns:
- project.packages (non-optional PackagesResult, not packageData blob)
- credentials with nested personalization/contentful objects (non-optional
  on the credentials path via apply-credentials)
- diagnosis with non-optional fields (guaranteed via reconvergence)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 13:56:08 +02:00
Tim Beyer 13e7178a6d chore: add prettier config from skill-kit
Adds .prettierrc (singleQuote, printWidth 120), .prettierignore, and
prettier as a devDependency. Reformats all source files to match.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 10:17:51 +02:00
Tim Beyer 3d894b918d feat: migrate contentful-personalization to skill-kit state system redesign
Migrate from skill-kit v1.4 (stash-based state) to the new state system
redesign (store-based with DAG-aware type narrowing). This replaces the
unstructured stash with typed sub-stores that group data semantically and
decouple consumers from producer step names.

Key changes:
- Zod → ArkType for all schemas (schemas.ts + 6 action files)
- stash → sub-stores: onboard (project + setup), doctor (project +
  credentials + diagnosis), develop (step access only)
- output → response, stepOutput → response, actionOutput → actionResult
- updateStash removed, replaced by save() callbacks that write to stores
- Subskill params mappers updated from (output, stash) → (output, store)
- Tests updated with valid ArkType-conformant mock data

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 10:14:12 +02:00
contentful-automation[bot] e3c4fce9b0 chore(release): v1.5.4 1.5.4 2026-05-01 00:31:13 +00:00
renovate[bot] 0460d63ade chore(deps): update pnpm/action-setup digest to 26f6d4f (#44)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-01 00:30:32 +00:00
contentful-automation[bot] 8d49542895 chore(release): v1.5.3 1.5.3 2026-04-30 12:02:51 +00:00
François 16fa1093f3 Merge pull request #29 from contentful/chore/contributors-and-lint-script
chore: add contributors metadata and oxlint script
2026-04-30 14:02:14 +02:00
Tim Beyer 3876956dc7 docs: add manual MCP server setup instructions to README
Plugin installs wire up MCP automatically, but users who installed via
npx skills add need to configure the two MCP servers themselves. Add
step-by-step instructions for both the Contentful MCP (HTTP) and the
personalization MCP (stdio) with Claude Code commands and generic JSON
config examples.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 09:41:17 +02:00
contentful-automation[bot] 2a783572a9 chore(release): v1.5.2 1.5.2 2026-04-30 04:31:39 +00:00
Tim Beyer 4478cc1d86 Merge pull request #42 from contentful/docs/readme-redesign 2026-04-30 06:30:47 +02:00
Tim Beyer b1715d5410 docs: redesign README with plugin-first quickstart and skills overview
Lead with the Claude Code plugin install as the hero quickstart since it
provides the best experience (skills + MCP servers). Demote npx/universal
CLI to "Other platforms" section. Add scannable skills summary table,
stronger tagline, dark-mode-ready logo, and badges.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 23:13:45 +02:00
contentful-automation[bot] db29278391 chore(release): v1.5.1 1.5.1 2026-04-29 20:27:25 +00:00
Tim Beyer 0fab79c431 Merge pull request #41 from contentful/fix/plugin-mcp-permissions
fix: add plugin-namespaced MCP tool permissions to all skills
2026-04-29 22:26:38 +02:00
Tim Beyer fc07f16529 fix: add plugin-namespaced MCP tool permissions to all skills
Plugin-bundled MCP tools use the format
mcp__plugin_contentful-skills_{server}__{tool} at runtime, which
doesn't match the standalone mcp__{server}__{tool} names. Add
wildcards for both formats so skills work without permission prompts
whether installed standalone or as a plugin.

Also grants all Contentful skills access to the Contentful MCP server.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 22:19:22 +02:00