Skip to content
This repository was archived by the owner on Jun 21, 2026. It is now read-only.
This repository was archived by the owner on Jun 21, 2026. It is now read-only.

Add CI workflow for plugin validation #43

Description

@EricGrill

Problem

There's no automated validation to ensure plugins meet the structure and quality standards defined in CONTRIBUTING.md.

Current state:

  • No CI workflow validates plugin.json against the schema
  • No automated check for required files (LICENSE, README.md)
  • Plugin structure varies inconsistently across plugins
  • Some plugins don't have .claude-plugin/plugin.json in expected location

Why it matters:
Without automated validation, quality issues accumulate over time. Manual review is error-prone and doesn't scale to 70+ plugins. Standards drift leads to inconsistent user experience.

Suggested Solution

Create a CI workflow that validates:

  1. plugin.json exists and is valid JSON
  2. plugin.json validates against schemas/plugin-manifest.json
  3. Required files present (LICENSE, README.md)
  4. Plugin structure follows CONTRIBUTING.md guidelines
  5. No secrets or sensitive data in plugin files

Example validation script:

#!/bin/bash
errors=0
for plugin in plugins/*/; do
  if [ ! -f "$plugin/LICENSE" ]; then
    echo "ERROR: $plugin missing LICENSE"
    errors=$((errors+1))
  fi
  if [ ! -f "$plugin/README.md" ]; then
    echo "ERROR: $plugin missing README.md"
    errors=$((errors+1))
  fi
  # Add JSON schema validation
  if [ -f "$plugin/.claude-plugin/plugin.json" ]; then
    npx ajv-cli validate -s schemas/plugin-manifest.json -d "$plugin/.claude-plugin/plugin.json"
  fi
done
exit $errors

Acceptance Criteria

  • GitHub Action workflow created for plugin validation
  • Validates plugin.json schema compliance
  • Validates required files (LICENSE, README.md)
  • Runs on every PR affecting plugins/
  • Clear error messages for contributors

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions