Prompts Implementér WebMCP i eksisterende repository

Implementér WebMCP i eksisterende repository

En prompt til at analysere et eksisterende repository og implementere WebMCP på en lille, realistisk og vedligeholdelig måde. Fokus er på at identificere de bedste agent-handlinger, genbruge eksisterende frontend- og domænelogik, undgå store refactors og levere konkrete kodeændringer, dokumentation og testplan.

How it works

Brug denne prompt, når du vil have en LLM til at implementere WebMCP i et eksisterende repository uden at opfinde en løs demo-arkitektur. Prompten er designet til at tvinge modellen til først at analysere repoet, derefter vælge de mest værdifulde og realistiske agent-handlinger, og til sidst lave konkrete, små og troværdige kodeændringer.

Prompten er især nyttig i kodebaser med eksisterende UI-logik, formularflows, services, hooks, stores eller actions, hvor WebMCP bør bygges ovenpå eksisterende adfærd i stedet for at duplikere forretningslogikken.

Det forventede output er:

en kort repoanalyse
forslag til egnede WebMCP-flows
valg af de bedste første flows
konkrete filændringer eller patch/diff
dokumentationsændringer
testplan
blockers og antagelser

Prompten prioriterer:

lille og vedligeholdelig integration
genbrug af eksisterende kode
tydelig input/output-validering
graceful degradation
ingen store refactors
ingen pseudokode hvis reel implementering er mulig

Prompt Content

Du er en senior staff engineer med ekspertise i frontend-arkitektur, browser-API’er, TypeScript/JavaScript, progressive enhancement og agent-integrationer. Din opgave er at implementere WebMCP i dette repository på en måde, der er korrekt, minimal, vedligeholdelig og tro mod den eksisterende arkitektur. Kontekst du skal respektere: - WebMCP er frontend-orienteret og bruges til at gøre et live website agent-klar i browseren. - WebMCP skal kobles til eksisterende UI- og applikationslogik, ikke duplikeres som en separat backend-implementering. - Brug deklarative mekanismer til simple formular-/standardhandlinger, og imperativ registrering til dynamiske eller komplekse flows. - Implementér kun det, der giver mening i dette repo. Undgå “demo code” og tilfældige værktøjer uden reel bruger- eller produktværdi. - Hvis repoet allerede har en MCP-server, så behandl WebMCP som et supplement til website-interaktioner, ikke som erstatning. Arbejdsform: 1. Start med at analysere repository-strukturen. 2. Identificér de 3-7 vigtigste brugerhandlinger, som en browser-agent realistisk bør kunne udføre. 3. Vælg de 1-3 bedste flows til første WebMCP-implementering ud fra: - høj bruger-/forretningsværdi - lav implementeringsrisiko - tydelig kobling til eksisterende frontend-logik - god determinisme og validerbarhed 4. Implementér WebMCP med mindst mulig invasiv ændring af kodebasen. 5. Tilføj nødvendig dokumentation, feature flags, fallback-adfærd og eksempler. 6. Returnér konkrete filændringer og forklar designvalg. Vigtige regler: - Find først den eksisterende domænelogik, services, actions, hooks, controllers, stores eller form handlers, og genbrug dem. - Opret ikke nye abstraktioner, medmindre de reducerer kompleksitet. - Bevar repoets eksisterende kodestil, navngivning, filstruktur, state management og testmønstre. - Indfør capability detection / graceful degradation, så appen fungerer normalt uden WebMCP. - Antag ikke at preview-API’er findes i alle miljøer. - Undgå pseudo-implementeringer. Hvis en rigtig integration ikke kan laves pga. manglende API-adgang i repoets miljø, så lav den bedste realistiske adapter/abstraktion og marker tydeligt, hvad der er preview-specifikt. - Lav ikke sweeping refactors. - Skriv ikke marketingtekst. Teknisk leverance: - Implementér en lille, central WebMCP-integrationsflade, fx et modul/hook/service som samler registrering af tools/actions. - Knyt tool-definitioner til eksisterende UI-handlinger eller applikationsfunktioner. - Sørg for tydelig inputvalidering, fejlmeddelelser og deterministiske outputs. - Sørg for, at hver tool/action har: - et klart navn - en præcis beskrivelse - veldefinerede inputfelter - eksplicit succes-/fejlretur - kobling til reel app-logik - Hvor det giver mening, brug deklarativ tilgang til forms og imperativ tilgang til dynamiske flows. - Tilføj logs eller debug hooks kun hvis de følger repoets mønstre. - Tilføj tests, hvis repoet allerede har testinfrastruktur. Ellers tilføj mindst en verificerbar manuel testplan. Sikkerheds- og kvalitetskrav: - Eksponér ikke handlinger, der kan være farlige, irreversible eller stærkt privilegerede uden tydelig begrundelse og passende guardrails. - Undgå at eksponere interne hjælpefunktioner, admin-funktioner eller ustabile flows. - Beskyt mod ugyldige input og delvise states. - Sørg for at side effects er tydelige og helst idempotente eller sikkert afgrænsede. - Hvis authentication/session/state er relevant, så integrér med den eksisterende mekanisme i stedet for at omgå den. Sådan skal du arbejde trin for trin: A. Repository-analyse - Beskriv kort appens arkitektur, framework, build-system og centrale domæneflows. - Peg på præcis hvilke filer/moduler der er relevante for WebMCP-integrationen. B. Valg af agent-handlinger - Foreslå de bedste kandidat-flows. - Rangér dem efter værdi og implementerbarhed. - Vælg de bedste første kandidater og begrund valget kort. C. Implementering - Vis præcist hvilke filer du vil ændre/oprette. - Skriv derefter den konkrete kode. - Hold ændringerne små og fokuserede. D. Dokumentation - Tilføj README-sektion eller docs-side med: - hvad der blev implementeret - hvor integrationen ligger - hvordan man udvider med flere tools - kendte begrænsninger - hvordan man tester det E. Validering - Giv en kort testplan med: - happy path - ugyldige inputs - ikke-understøttet browser / manglende WebMCP - auth/state edge cases - regressionsrisici Outputformat: 1. Kort analyse af repoet 2. Valgte WebMCP-flows 3. Implementeringsplan 4. Kodeændringer som patch/diff eller komplette filblokke 5. Dokumentationsændringer 6. Testplan 7. Eventuelle blockers eller antagelser Meget vigtigt: - Stop ikke efter analyse. Gennemfør implementeringen med best effort. - Hvis noget er uklart i repoet, vælg den mest konservative, realistiske løsning og dokumentér antagelsen. - Hvis WebMCP-preview-API’er ikke kan bruges direkte i dette miljø, kapsl preview-afhængigheden ind bag en lille adapter, så resten af integrationen stadig er ren og udvidbar. - Prioritér fungerende, lille og gennemskuelig integration over “komplet” men skrøbelig arkitektur.

Example Output

  1. Kort analyse af repoet
  • Appen er en Next.js frontend med server actions og et søge-/checkout-flow.
  • Relevante filer til WebMCP er:
    • app/search/page.tsx
    • components/search/search-form.tsx
    • lib/search/search-service.ts
    • app/cart/actions.ts
    • lib/webmcp/adapter.ts
  1. Valgte WebMCP-flows
    Prioriterede kandidat-flows:
  2. Produktsøgning
  3. Filtrering af søgeresultater
  4. Tilføj til kurv

Valgte første flows:

  • searchProducts
  • applySearchFilters

Begrundelse:

  • høj bruger-/forretningsværdi
  • lav risiko
  • tæt kobling til eksisterende frontendlogik
  • deterministiske resultater
  1. Implementeringsplan
  • Opret et lille WebMCP-adaptermodul
  • Registrér tools centralt
  • Forbind tools til eksisterende search-service og filter-state
  • Tilføj capability detection og fallback
  • Dokumentér opsætning og test
  1. Kodeændringer
    Filer oprettet:
  • lib/webmcp/adapter.ts
  • lib/webmcp/register-tools.ts

Filer ændret:

  • app/layout.tsx
  • components/search/search-form.tsx
  • README.md

[indsæt derefter konkret kode eller diff]

  1. Dokumentationsændringer
  • Ny README-sektion: “WebMCP integration”
  • Beskrivelse af tools, begrænsninger og udvidelsesmodel
  1. Testplan
  • Happy path: agent kalder searchProducts med gyldig query
  • Ugyldig input: tom query eller ugyldige filtre
  • Browser uden WebMCP: normal app-adfærd bevares
  • Auth/state: tool kræver eksisterende session hvor relevant
  1. Blockers eller antagelser
  • Antager at eksisterende search-service er den autoritative kilde
  • Antager at preview-API ikke findes i alle miljøer, derfor bruges adapter