Skip to content

CI Validators

CodeCommit PR events flow through EventBridge to the CodeBuild project that runs buildspec.yml:

EventBridge rule
source: aws.codecommit
detail-type: "CodeCommit Pull Request State Change"
→ CodeBuild project (runs buildspec.yml)

V1 buildspec.yml installs Node 20, Python 3.12, and tsx, then echoes a placeholder message. No real validation runs yet — assume CI catches nothing.

phases:
install:
runtime-versions:
nodejs: 20
python: 3.12
commands:
- npm install -g tsx
build:
commands:
# V1 placeholder — validators to be added in a follow-on PR
- echo "Marketplace validation — placeholder. Real validators land in PR #2."
# - tsx scripts/validate-marketplace.ts
# - tsx scripts/validate-frontmatter.ts
# - tsx scripts/check-marketplace-sorted.ts

Adapted from anthropics/claude-plugins-official/.github/scripts/:

ScriptWhat it checks
validate-marketplace.ts.claude-plugin/marketplace.json is valid JSON and references existing plugin directories
validate-frontmatter.tsEvery SKILL.md has required frontmatter fields, valid YAML, kebab-case name
check-marketplace-sorted.tsThe plugins[] array is alphabetically sorted by name

These commands are commented in buildspec.yml today. They get uncommented in PR #2 once the validator scripts land in scripts/.

Until CI catches everything, validate locally before opening a PR:

Terminal window
claude plugin validate ./plugins/<plugin> # per-plugin
claude plugin validate . # marketplace manifest

See Validation Workflow for the full pre-PR checklist.