Skip to content

Add tooling to refresh community extension projects page#1087

Merged
jbw976 merged 3 commits intocrossplane:masterfrom
jbw976:community-projects-update
May 4, 2026
Merged

Add tooling to refresh community extension projects page#1087
jbw976 merged 3 commits intocrossplane:masterfrom
jbw976:community-projects-update

Conversation

@jbw976
Copy link
Copy Markdown
Member

@jbw976 jbw976 commented Apr 29, 2026

The community extension projects page lists every public, non-archived repo under the crossplane-contrib GitHub org. The list drifts out of date as repos are added, archived, or renamed, and we're not doing a great job keeping up with it.

This PR adds tooling to automate the refresh, plus the first run against the current org state.

Tooling

  • scripts/discover-community-extensions.sh queries the crossplane-contrib org via gh and emits a sorted JSON array of name, url, description, topics, and fork for each public, non-archived repo.
  • .claude/skills/community-extensions-update/SKILL.md is a Claude Code skill that drives the script, diffs the output against the page, prompts for ambiguous categorizations, rewrites each section using a target-based alphabetical sort (so provider-upjet-aws sits next to provider-aws, not down in the U's), and copies the updated page from content/master/ to the matching content/v${LATEST}/ derived from config.yaml's latest: key.
  • .gitignore narrows the .claude/ ignore so shared skills under .claude/skills/ are tracked. Per-user state in .claude/settings.local.json stays ignored.

Page refresh

Added: provider-dynatrace, provider-k3s, provider-sonarqube, provider-upjet-cloudflare, provider-upjet-zitadel, function-deletion-protection, function-gitlab-importer, resource-state-metrics, typescript-models, xprin.

Removed: provider-cloudflare, provider-cloudinit, provider-ibm-cloud, provider-newrelic, provider-secret, provider-jet-vault.

A handful of reorderings to match the skill's target-based sort (e.g. provider-upjet-gcp before provider-gcp-beta).

jbw976 added 3 commits April 29, 2026 13:40
Stop ignoring all of .claude/ so shared skills under .claude/skills/
are tracked. Per-user state in .claude/settings.local.json stays
ignored.

Signed-off-by: Jared Watts <jbw976@gmail.com>
Add a discovery script that queries the crossplane-contrib org via gh
and emits sorted JSON, plus a Claude Code skill that drives the script,
diffs against the page, alphabetizes by target name, and copies the
result to the latest versioned docs derived from config.yaml's
`latest:` key.

Signed-off-by: Jared Watts <jbw976@gmail.com>
Sync the page with the current crossplane-contrib org via the
community-extensions-update skill. Net +4 repos (10 added, 6 renamed
or removed), plus a handful of reorderings to match the skill's
target-based sort.

Signed-off-by: Jared Watts <jbw976@gmail.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 29, 2026

Deploy Preview for crossplane ready!

Name Link
🔨 Latest commit 7adeac1
🔍 Latest deploy log https://app.netlify.com/projects/crossplane/deploys/69f1f0ccd03edb0008751ab1
😎 Deploy Preview https://deploy-preview-1087--crossplane.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 93 (🔴 down 3 from production)
Accessibility: 90 (🔴 down 2 from production)
Best Practices: 92 (no change from production)
SEO: 100 (no change from production)
PWA: 70 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown
Member Author

@jbw976 jbw976 left a comment

Choose a reason for hiding this comment

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

a big question for reviewers - are we good with having skills committed to this repo? i'm seeing more of that pattern out in the wild and i've been enjoying the automation benefits it brings...what do others think?

Copy link
Copy Markdown
Contributor

@phisco phisco left a comment

Choose a reason for hiding this comment

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

looking good @jbw976! the skill looks deterministic though, so i wonder how much value we have there instead of using a simple script, but i can see it handling some details in the background, so fine with me! 🎉

@jbw976
Copy link
Copy Markdown
Member Author

jbw976 commented May 4, 2026

thanks @phisco! yeah it's a bit more deterministic than other skills i've created recently 😂 - i do like having the script to deterministically fetch the repos/status, then the skill takes over for some light judgement calls like categorization and non-standard alphabetizing rules 🤓

@jbw976 jbw976 merged commit 24e21b9 into crossplane:master May 4, 2026
7 checks 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.

2 participants