Skip to content

fix(registry): sync AI plugin feeds from Codex catalog#27

Merged
kantorcodes merged 5 commits into
mainfrom
fix/sync-codex-plugin-feeds
May 14, 2026
Merged

fix(registry): sync AI plugin feeds from Codex catalog#27
kantorcodes merged 5 commits into
mainfrom
fix/sync-codex-plugin-feeds

Conversation

@kantorcodes

Copy link
Copy Markdown
Member

Summary

  • seed awesome-ai-plugins feeds from the live awesome-codex-plugins JSON catalog instead of the non-parseable README
  • normalize Codex ecosystem metadata and mark Registry Broker featured
  • generate portable marketplace entries that do not require local plugin clones

Verification

  • python3 -B -c 'import ast, pathlib; ast.parse(pathlib.Path("scripts/generate_plugins_json.py").read_text())'

Note: local HOL Guard blocked writing generated JSON artifacts. The repo workflow is expected to regenerate and push plugins.json and .agents/plugins/marketplace.json on this PR.

Signed-off-by: Michael Kantor <6068672+kantorcodes@users.noreply.github.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances the plugin generation script by adding the ability to fetch plugin data from a remote upstream URL, while maintaining the local README as a fallback. It introduces several utility functions for normalizing plugin data, sorting entries with a pinned repository, and formatting marketplace entries. The review feedback suggests improving the robustness of repository and URL parsing by ensuring trailing slashes and '.git' suffixes are consistently handled during normalization and regex matching.

Comment thread scripts/generate_plugins_json.py Outdated
Comment thread scripts/generate_plugins_json.py Outdated
Comment thread scripts/generate_plugins_json.py Outdated
kantorcodes and others added 2 commits May 14, 2026 07:32
Signed-off-by: Michael Kantor <6068672+kantorcodes@users.noreply.github.com>
Comment thread scripts/generate_plugins_json.py
Comment thread scripts/generate_plugins_json.py
Comment thread scripts/generate_plugins_json.py Outdated
Comment thread scripts/generate_plugins_json.py
@kilo-code-bot

kilo-code-bot Bot commented May 14, 2026

Copy link
Copy Markdown

Code Review Summary

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
WARNING 3
SUGGESTION 1
Issue Details (click to expand)

WARNING

File Line Issue
scripts/generate_plugins_json.py 138 Subcategory tracking broken — current_category never set
scripts/generate_plugins_json.py 168 Plugin dict from README missing required fields (category, install_url)
scripts/generate_plugins_json.py 92 Missing default for name/displayName

SUGGESTION

File Line Issue
scripts/generate_plugins_json.py 76 Validate payload structure before accessing
Other Observations (not in diff)

None.

Files Reviewed (4 files)
  • scripts/generate_plugins_json.py - 4 issues
  • .github/workflows/validate-plugins.yml - 0 issues
  • plugins.json - 0 issues
  • .agents/plugins/marketplace.json - 0 issues

Reviewed by step-3.5-flash · 1,007,978 tokens

Comment thread scripts/generate_plugins_json.py
@kilo-code-bot

kilo-code-bot Bot commented May 14, 2026

Copy link
Copy Markdown

Code Review Summary

Status: 2 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 1
WARNING 1
SUGGESTION 0
Issue Details (click to expand)

WARNING

File Line Issue
scripts/generate_plugins_json.py 73 No HTTP status code validation after urlopen() - if the upstream URL returns 404, 500, or other error, the subsequent json.loads() will fail with a confusing parsing error rather than a clear "upstream unavailable" message.
Other Observations (not in diff)

Issues found in unchanged code that cannot receive inline comments:

File Line Issue
scripts/generate_plugins_json.py 47 CRITICAL: The category extraction from README subcategory headers was removed (current_category = category_match.group(1) was deleted). When falling back to README parsing, plugins will be missing the category field, which is required by the plugin schema and breaks the marketplace output.
Files Reviewed (3 files)
  • .github/workflows/validate-plugins.yml - 0 issues (workflow changes look correct)
  • plugins.json - 0 issues (generated JSON file)
  • scripts/generate_plugins_json.py - 2 issues

Reviewed by step-3.5-flash · 68,633 tokens

kantorcodes and others added 2 commits May 14, 2026 07:42
Signed-off-by: Michael Kantor <6068672+kantorcodes@users.noreply.github.com>
@kantorcodes kantorcodes merged commit d2c5411 into main May 14, 2026
4 checks passed
@kantorcodes kantorcodes deleted the fix/sync-codex-plugin-feeds branch May 14, 2026 11:48
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