Skip to content

fix(plugins): plugin manifest check misses paths that differ only in case #3158

Description

Component

Scripts (scripts/plugins/Sync-PluginManifest.ps1)

Bug Description

Sync-PluginManifest.ps1 compares plugin.json with the derived manifest using -ne (line 829) and the component lists with -notin (lines 462-463). Both ignore case, so after a component file is renamed to a different case, plugin.json keeps the old path. -Check reports it in sync and sync leaves it alone, though that path no longer exists on a case-sensitive file system.

Expected Behavior

-Check reports a path that differs only in case as drift, and npm run plugin:sync rewrites it to the tracked casing.

Steps to Reproduce

  1. Commit .github/agents/pkg/Code-Review.agent.md in a plugin, run npm run plugin:sync, and commit plugin.json.
  2. git mv the file to code-review.agent.md and commit.
  3. Sync-PluginManifest.ps1 -Check prints Plugin manifest and catalog are in sync and exits 0; sync prints plugin.json is already current.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions