Skip to content

ci: validate plugin distribution package - #4

Merged
Summer110622 merged 2 commits into
mainfrom
ci/plugin-validation
Aug 14, 2026
Merged

Summer110622 merged 2 commits into
mainfrom
ci/plugin-validation

Conversation

@Summer110622

Copy link
Copy Markdown
Contributor

Summary

Add automated validation for the public marv-server-engineering distribution package.

Validator

scripts/validate_plugin.py checks:

  • plugin manifest JSON, identity, version, repository, MIT license, and skills-only contract;
  • manifest ./skills/ resolution and public interface metadata;
  • marketplace ID, plugin entry, source path, installation/authentication policy, and category;
  • canonical Privacy Policy and Support files;
  • Minecraft/Mojang/Microsoft non-affiliation notice in the public README, NOTICE, and manifest;
  • exactly 31 domain skills plus the index router;
  • every skill has a SKILL.md with YAML front matter;
  • every skill has non-empty name and description;
  • skill names are unique, lower-case hyphen-case, and match their folder names;
  • optional public URL availability checks with retries.

The validator uses only the Python standard library.

GitHub Actions

.github/workflows/validate-plugin.yml runs on:

  • pushes to main;
  • every pull request;
  • manual workflow_dispatch.

It runs structural validation first and then verifies public distribution URLs. Workflow permissions are restricted to contents: read.

actions/checkout is pinned to commit 3d3c42e5aac5ba805825da76410c181273ba90b1, corresponding to the current v7.0.1 release.

Local validation

python3 scripts/validate_plugin.py
python3 scripts/validate_plugin.py --check-urls

The validator was syntax-checked and tested against a synthetic 31-domain-skill + router fixture before being committed.

@Summer110622
Summer110622 merged commit 48e25f9 into main Aug 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant