Skip to content

[Epic] Component Marketplace #2192

@Mbeaulne

Description

@Mbeaulne

Problem

Today, finding components in Tangle is guesswork. Search is frontend-only and matches titles exactly, so users miss existing components and create duplicates. There's no lifecycle (active/deprecated/superseded), no team ownership, no way to curate or share libraries, and no detail view for context before adding a component.

This epic introduces a component marketplace with better search and discovery, structured publishing with lifecycle, and team-scoped libraries with sharing.

Updated direction

The current implementation has shifted from a backend-first semantic search path to an open-source-compatible frontend search baseline with optional AI enhancements.

The core reason is portability: tangle-ui should continue to work for self-hosted and open-source users without requiring a hosted backend-specific experimental API. Backend-powered semantic search can still be added as an optional hosted capability, but the default Components V2 experience should function out of the box using component sources already available to the frontend.

Current approach:

  • Build a frontend component search index over available component sources.
  • Support multi-source search and filtering in Components V2.
  • Keep deterministic lexical/local search as the baseline retrieval layer.
  • Add optional AI reranking over the already-retrieved candidate set.
  • Add optional AI-generated component descriptions from known component metadata.
  • Let users configure an OpenAI-compatible provider through BYOK settings: API base URL, API key, and model id.

This keeps the model out of the critical retrieval path. The LLM does not discover components from scratch; it improves ranking or generates descriptions from known candidates. That makes the feature cheaper, easier to debug, and usable without a mandatory hosted backend.

Current implementation stack

  • Component search index service
  • Components V2 route shell
  • Multi-source Components V2 search and filters
  • Shared component detail view
  • BYOK settings hook for AI search
  • Agent Settings UI for AI search provider configuration
  • Natural-language component rerank service
  • AI rerank and detail actions in Components V2
  • AI-generated component descriptions in Components V2

Sub-tickets

Phase 0 — Telemetry baseline

  • Track component search query usage
  • Track search result selection
  • Track component copy/add actions from search
  • Track AI rerank usage, success, and error states
  • Track component detail panel usage

Phase 1 — Search & Discovery

OSS-compatible frontend baseline

  • Frontend component search index over name, description, inputs, outputs, tags, and metadata
  • Multi-source component search UI
  • Filters + preview cards
  • Component detail panel
  • Source grouping and source filters
  • Shareable/copyable component references where possible
  • Component quality score (0–10, based on description / author / canonical source URL / per-IO descriptions; surfaced as a badge in search results + detail panel)

Optional AI enhancement layer

  • BYOK provider settings: API base URL, API key, model id
  • Provider connection test
  • Natural-language reranking over frontend search candidates
  • AI-derived component descriptions
  • AI unavailable/error states
  • Manual and/or beta-flagged automatic description generation

Optional hosted/backend search path

  • Semantic search API endpoint
  • Backend search index over name, description, tags, metadata
  • Migrate frontend search to optionally use a backend endpoint when configured
  • Update MCP search_components / get_component

Phase 2 — Publishing & Lifecycle

  • Component / PublishedComponent data model
  • Lifecycle state machine (active, deprecated, superseded)
  • Publish workflow API
  • Publish flow UI
  • Lifecycle badges in search + detail
  • Deprecation / supersedence indicators

Phase 3 — Libraries, Pinning & Sharing

  • Library data model (nestable, owner / co-owner)
  • Permissions model for team-scoped libraries
  • Team ownership + transfer model
  • Personal pinning
  • Shareable component links
  • Library management UI
  • Ownership transfer UI
  • Pinning UI
  • Share link UI
  • Collections in search results
  • Component detail panel enhancements: usage, examples, compatible components

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions