Skip to content

fix(plugin-dev): document repository as string-only in manifest docs#54424

Open
Codeturion wants to merge 1 commit intoanthropics:mainfrom
Codeturion:fix/plugin-dev-repository-string-only
Open

fix(plugin-dev): document repository as string-only in manifest docs#54424
Codeturion wants to merge 1 commit intoanthropics:mainfrom
Codeturion:fix/plugin-dev-repository-string-only

Conversation

@Codeturion
Copy link
Copy Markdown

Summary

plugins/plugin-dev/skills/plugin-structure/references/manifest-reference.md documents the repository field as accepting both string and object formats. The runtime schema only accepts a string; passing an object fails install with repository: Invalid input: expected string, received object. The same file (and examples/advanced-plugin.md) also use the wrong object form in two complete-example blocks. Update the field docs to string-only and rewrite both examples to match.

Files changed

  • plugins/plugin-dev/skills/plugin-structure/references/manifest-reference.md (field docs at the #### repository section, plus the full-config example near the end)
  • plugins/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md (full-config example)

Verification

Setup. Static check that no object-form repository JSON remains in the plugins/plugin-dev/ tree, and that all pre-existing string-form repository instances are unchanged. Compares the upstream main version of the two affected files against the patched versions on this branch using git show main:<path>.

Details. Run from the fork root: bash notes/repro-43722/verify.sh (the script is included as a reproduction artifact in the working notes, not in this PR). The check is grep -rnE '"repository":[[:space:]]*\{' plugins/plugin-dev for object form, and grep -rnE '"repository":[[:space:]]*"https' plugins/plugin-dev for string form. The runtime install failure was not reproduced in a live harness; the schema mismatch is documented in the issue body and is the canonical justification for the fix.

Comparisons.

Location Pre-fix Post-fix
manifest-reference.md #### repository (line ~150) object form documented as supported section says String (URL) only, with explicit "object form is not supported" callout
manifest-reference.md full-config example (line ~498) object form string form
advanced-plugin.md full-config example (line ~116) object form string form
manifest-reference.md line 142 (string-form example) string string (unchanged)
manifest-reference.md line 467 (string-form example) string string (unchanged)
examples/standard-plugin.md line 51 string string (unchanged)
plugin-structure/SKILL.md line 77 string string (unchanged)

Pre-fix object-form instances: 3. Post-fix: 0. String-form instances unchanged: 4.

Regression. No previously-correct example was modified. The only content removed is the "Object format (detailed)" subsection and the two object-form example blocks; both replaced with the single supported string form.

Refs

Fixes #43722

The plugin manifest schema accepts only a string URL for `repository`.
Object form (npm-style {"type": "git", "url": "..."}) fails install with
`repository: Invalid input: expected string, received object`.

manifest-reference.md documented the field as supporting both, and two
complete-example blocks (one in the same file, one in advanced-plugin.md)
used the object form. Update the docs to string-only and rewrite both
examples to match.
@Codeturion
Copy link
Copy Markdown
Author

Wider regression check

Beyond the per-instance object-form check in the PR body, ran a repo-wide sweep for anything that depends on the documented (incorrect) object-form repository:

  • Validator agents. plugins/plugin-dev/agents/plugin-validator.md does not check the repository field at all (no repository mention in the file). No agent or skill validates the object form.
  • Other docs / examples. Zero occurrences of object-form "repository": { anywhere outside the three locations this PR fixes. All four other repository references in the plugin-dev tree (standard-plugin.md, two further string-form examples in manifest-reference.md, and plugin-structure/SKILL.md) already use the correct string form.
  • Workflows / CI / tests. No workflow, script, or test file references either form. CHANGELOG does not document the object form.

No additional files needed changes; the inconsistency the issue cites was localized to exactly these three locations.

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.

plugin-dev: manifest-reference.md incorrectly documents 'repository' as supporting object format

1 participant