
matchcn
open sourcefrancesco0242 / matchcn
Semantyczna wyszukiwarka komponentów dla agentów AI. Opisujesz potrzebny interfejs, a matchcn znajduje rzeczywisty, instalowalny komponent i zwraca gotową komendę. Opublikowany na npm jako serwer MCP, działa w Claude Code, Cursorze i VS Code.
4 578
zaindeksowanych komponentów
14
rejestrów
7
wymiarów klasyfikacji
1 527
pobrań z npm w 30 dni
Rejestry shadcn zawierają tysiące komponentów, ale katalogi wyszukują głównie po nazwach. To nie pomaga, gdy znasz potrzebę, ale nie nazwę nadaną przez autora biblioteki.
matchcn normalizuje rejestry, klasyfikuje komponenty i porównuje je z opisem potrzeby. Zwraca dopasowanie wraz z uzasadnieniem i gotową komendą instalacji.
Jak działa pipeline
Ingest
Pobranie i normalizacja danych z rejestrów.
Tag
Klasyfikacja w siedmiu wymiarach.
Match
Ranking ważony pewnością i trafnością tekstową.
Resolve
Rozstrzygnięcie bliskich wyników.
Surface
Wynik i komenda instalacji przez MCP.
Wybrane decyzje techniczne
Deterministyczny ranking
Tagi strukturalne są łączone z trafnością tekstową TF-IDF. Ten sam katalog i brief dają ten sam ranking.
Jawne wyniki
System zwraca confident, shortlist albo no_match. Nie wymusza odpowiedzi, gdy dopasowanie jest słabe.
Wznawialny pipeline
Tagowanie działa porcjami i zapisuje checkpointy, więc przerwany proces nie zaczyna pracy od początku.
Dane sprawdzone w praktyce
Każdy komponent jest testowany pod realnym adresem instalacji. Płatne pozycje (m.in. 163 z aceternity i 165 z shadcn-dashboard) są odfiltrowane, a ograniczenia opisane w README.
Briefy w każdym języku
Opis po polsku jest wykrywany lokalnie i tłumaczony przed dopasowaniem. Gdy tłumaczenie zawiedzie, system wraca do oryginalnego tekstu zamiast się psuć.
CI pilnuje spójności
GitHub Actions uruchamia typecheck oraz skrypt wykrywający rozjazd liczb i wersji między kodem, pakietem i dokumentacją.
Stack techniczny
- TypeScript strict
- Node.js 20+
- ESM
- Zod
- GitHub Actions
- pnpm
- MCP SDK
- classifier.dev
- TF-IDF
$ npx matchcn
BRIEF: a dense bento grid for a landing page
OUTCOME: CONFIDENT
Selected bento-grid from magicui
install: npx shadcn@latest add https://magicui.design/r/bento-grid.json

