Skip to content

feat: add browseable ACP agent catalog to settings#987

Open
ital0 wants to merge 4 commits into
mainfrom
italomenezes/thu-600-acp-marketplace-browse-catalog-bridge-agent-link-outs
Open

feat: add browseable ACP agent catalog to settings#987
ital0 wants to merge 4 commits into
mainfrom
italomenezes/thu-600-acp-marketplace-browse-catalog-bridge-agent-link-outs

Conversation

@ital0

@ital0 ital0 commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Note

Low Risk
Mostly new settings UI and read-only external links; registry parsing explicitly strips non-http(s) URLs to reduce injection risk from untrusted CDN data.

Overview
Adds a Browse agents section on Settings → Agents so users can discover official ACP “bridge” CLIs without installing anything in Thunderbolt—cards are read-only and link out to website/source only.

Registry data is loaded from a bundled snapshot for instant/offline UI, then refreshed in the background via the universal proxy to the ACP CDN (direct browser fetch is CORS-blocked). Untrusted JSON is normalized in one place: malformed entries are dropped, and only http(s) URLs are kept for links and icons. Empty live responses keep the snapshot so the grid never blanks.

The UI is a searchable card grid (distribution badge, metadata, icon fallback). AgentCatalog wires useAgentRegistry; AgentCatalogView + AgentCatalogCard handle presentation. Coverage includes unit tests for parsing/filtering/hooks/views and a Playwright flow for browse, search, clear, and empty state.

Reviewed by Cursor Bugbot for commit d7647ee. Bugbot is set up for automated code reviews on this repo. Configure here.

@ital0 ital0 self-assigned this Jun 15, 2026
@github-actions

Copy link
Copy Markdown

Semgrep Security Scan

No security issues found.

@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

Preview environment deployed 🚀

Service URL
Marketing / blog / docs https://thunderbolt-pr-987.preview.thunderbolt.io
App https://app-pr-987.preview.thunderbolt.io
API https://api-pr-987.preview.thunderbolt.io
Keycloak https://auth-pr-987.preview.thunderbolt.io
PowerSync https://powersync-pr-987.preview.thunderbolt.io

Stack: preview-pr-987 · Commit: d7647eece9308eb623ce536613f9e54c5b84b9e0

Auto-destroys on PR close/merge. Login via the bundled Keycloak realm — demo@thunderbolt.io / demo by default.

@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

PR Metrics

Metric Value
Lines changed (prod code) +1436 / -2
JS bundle size (gzipped) 🟢 682.3 KB → 682.1 KB (-211 B, -0.0%)
Test coverage 🟢 78.09% → 78.56% (+0.5%)
Performance (preview) Preview not ready — Render deploy may have timed out
Accessibility
Best Practices
SEO

Updated Fri, 19 Jun 2026 12:03:45 GMT · run #1965

@ital0 ital0 force-pushed the italomenezes/thu-600-acp-marketplace-browse-catalog-bridge-agent-link-outs branch from 872b286 to b237541 Compare June 15, 2026 21:57
@ital0 ital0 force-pushed the italomenezes/thu-600-acp-marketplace-browse-catalog-bridge-agent-link-outs branch from b237541 to e5279a3 Compare June 16, 2026 00:01
@ital0 ital0 changed the title ACP Marketplace — browse catalog + bridge agent link-outs feat: add browseable ACP agent catalog to settings Jun 16, 2026
@ital0 ital0 marked this pull request as ready for review June 16, 2026 01:25
Comment thread src/components/settings/agents/agent-catalog-view.tsx
Comment thread src/components/settings/agents/agent-catalog-card.tsx

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit e60efb0. Configure here.

Comment thread src/hooks/use-agent-registry.ts
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