Skip to content

v0.3.1 — fix: repository manifest schema

Choose a tag to compare

@MarcosNahuel MarcosNahuel released this 26 May 00:20
· 29 commits to main since this release

🐛 Hotfix: plugin manifest validation

What broke

The plugin's `repository` field in `plugins/antigravity/.claude-plugin/plugin.json` was an OBJECT (npm convention):

```json
"repository": {
"type": "git",
"url": "https://github.com/MarcosNahuel/antigravity-plugin-cc\"
}
```

But Claude Code's plugin manifest schema requires a STRING:

```json
"repository": "https://github.com/MarcosNahuel/antigravity-plugin-cc\"
```

Symptoms before this fix

If you ran:

```text
/plugin marketplace add MarcosNahuel/antigravity-plugin-cc
/plugin install antigravity@marcosnahuel-antigravity
```

Claude Code would respond `Failed to install: ... invalid manifest file ... Validation errors: repository: Invalid input: expected string, received object` — and the seven slash commands (`/antigravity:research`, `/antigravity:rescue`, `/antigravity:record`, `/antigravity:scrape`, `/antigravity:doc-to-md`, `/antigravity:design-review`, `/antigravity:setup`) would never appear in autocomplete.

This bug was present from v0.1.0 onwards — every previous release had it. It only surfaced when Claude Code's loader applied strict schema validation.

After this fix

A clean install now works end-to-end:

```text
/plugin marketplace add MarcosNahuel/antigravity-plugin-cc
/plugin install antigravity@marcosnahuel-antigravity

Restart Claude Code if asked

/antigravity:

→ autocomplete shows all 7 commands

```

Upgrade

If you're on any prior version:

```text
/plugin uninstall antigravity@marcosnahuel-antigravity
/plugin marketplace update marcosnahuel-antigravity
/plugin install antigravity@marcosnahuel-antigravity
```

Or restart Claude Code after pulling — `/plugin update` should pick up v0.3.1.

Engineering note

npm `package.json` uses `repository: {type, url}`. Claude Code plugin manifest uses `repository: ""`. Different schemas — don't reuse npm habits. This is now documented in `CHANGELOG.md` as a gotcha for future plugin authors.

Full changelog

CHANGELOG.md