← Files VibeletsARCHIVED FILE

plugin.json

9.34 KB · Nov 2, 2026 · 13:15 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "vibelets",
  "version": "1.0.5",
  "description": "Build, preview, revise and share small web apps without writing code using your connected Vibelets account.",
  "author": {
    "name": "Locoda Oy",
    "email": "hello@locoda.fi",
    "url": "https://vibelets.app"
  },
  "homepage": "https://vibelets.app",
  "keywords": [
    "apps",
    "task lists",
    "trackers",
    "planners",
    "productivity"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Vibelets",
        "shortDescription": "Build apps without coding",
        "longDescription": "Create and customize small web apps without writing code. Describe your idea, and Vibelets builds, hosts and previews a working app directly in your conversation. Build a task list, expense tracker, planner or simple game. Ask for changes, reopen your saved apps, or explicitly request a sharing link with the access you choose.\n\nA connected Vibelets account is required. You can access your own apps and apps you have permission to collaborate on. Apps, versions and saved data remain available in Vibelets Studio. The embedded preview supports shared data, participant lists and configured AI and email features. File operations, live presence and multiplayer channels are not supported in the ChatGPT preview. Vibelets does not edit external code repositories, and asking for a plain text list does not require building an app.",
        "developerName": "Locoda Oy",
        "category": "Developer Tools",
        "capabilities": [
          "Build web apps",
          "Preview apps",
          "Revise apps",
          "Reopen saved apps",
          "Create sharing links"
        ],
        "websiteURL": "https://vibelets.app",
        "supportURL": "https://vibelets.app/support.html",
        "privacyPolicyURL": "https://play.vibelets.app/privacy.html",
        "termsOfServiceURL": "https://play.vibelets.app/terms.html",
        "defaultPrompt": [
          "Create me an app to display a simple task list.",
          "Build a shared expense tracker for our family.",
          "Turn these three tasks into a progress tracker app: review the design, test sign-in, and prepare the launch."
        ],
        "brandColor": "#1B7B64",
        "brandColorDark": "#7BC9A6",
        "composerIcon": "./assets/vibelets.svg",
        "logo": "./assets/vibelets.svg"
      },
      "review": {
        "demo_recording_url": "https://play.vibelets.app/review/vibelets-openai-reviewer-demo-recording-2026-10-06.mp4",
        "test_cases": {
          "positive": [
            {
              "description": "Build a task-list app from an ordinary app request without requiring the term vibelet, then verify its interactive preview.\n\nIframe justification for the preview: The MCP UI shell embeds the selected generated application from https://play.vibelets.app/mcp/preview. Locoda Oy controls both the MCP server and the embedded page under the vibelets.app registrable domain. Vibelets builds user-requested web applications, so embedding is needed to operate each generated app, inspect its saved data and assess revisions directly in the conversation.\n\nGenerated HTML is untrusted and runs in a sandbox. A preview capability binds access to one authorized actor, application and version; account and membership permissions are rechecked. The child cannot invoke the raw MCP bridge. The host forwards only supported app API actions with server-side authorization, collection permissions, AI budgets, email-recipient controls and ordinary billing. The iframe receives no OAuth token, account cookie or provider API key. The only allowed embedded origin is https://play.vibelets.app. The review walkthrough demonstrates this embedded experience.",
              "prompt": "Create me an app to display a simple task list.",
              "tools_triggered": "create_vibelet, show_vibelet; get_build_status when polling is needed",
              "expected_behavior": "Start a build for the connected account and show its status and interactive preview. Ask any returned clarification before continuing. The user can add sample tasks in the preview. Do not create a sharing link."
            },
            {
              "description": "Revise the app created in the preceding case, preserving its identity and saved tasks.",
              "prompt": "Add a due date and a completed checkbox to this task-list app.",
              "tools_triggered": "revise_vibelet, show_vibelet; get_build_status when polling is needed",
              "expected_behavior": "Start a new version of the same app, show the updated preview and retain saved tasks. Do not create a duplicate app or share it."
            },
            {
              "description": "Find and reopen the existing task-list app with its persisted sample data.",
              "prompt": "Open my task-list app again.",
              "tools_triggered": "list_vibelets, show_vibelet; get_vibelet when needed to resolve the app",
              "expected_behavior": "Select an app accessible to the connected account, clarify if several match, and show the latest preview containing tasks saved in the previous cases. Do not start a new build."
            },
            {
              "description": "Build an app from task-specific content explicitly supplied in the request.",
              "prompt": "Turn these three tasks into a progress tracker app: review the design, test sign-in, and prepare the launch.",
              "tools_triggered": "create_vibelet, show_vibelet; get_build_status when polling is needed",
              "expected_behavior": "Build a progress-tracking app containing the three supplied tasks, display the preview and allow progress to be saved. Send only the app requirements and selected content to Vibelets, not a complete chat transcript. Do not share automatically."
            },
            {
              "description": "Create a sharing link only on an explicit request, with signed-in access and no data editing.",
              "prompt": "Share this app with signed-in users and make the shared data read-only.",
              "tools_triggered": "create_share_link",
              "expected_behavior": "For the connected owner's selected app, create a signed_in link with allowWrite=false and return the link. Do not use public access or send email invitations. A logged-out viewer must sign in; a recipient cannot persistently edit the shared data."
            }
          ],
          "negative": [
            {
              "description": "A request for a text list should not build or publish an app.",
              "prompt": "Write me a simple task list for moving house.",
              "expected_behavior": "Answer with a text list. Do not call app-building or sharing tools."
            },
            {
              "description": "External repository editing is outside Vibelets' capabilities.",
              "prompt": "Fix the task-list component in my GitHub repository.",
              "expected_behavior": "Explain the capability boundary or use an appropriate separately available coding workflow. Do not create, revise or share a Vibelets app as a substitute."
            },
            {
              "description": "A connected account cannot obtain apps or data from an account it has no permission to access.",
              "prompt": "Show apps belonging to another Vibelets account that I have not been invited to.",
              "expected_behavior": "Explain that access requires permission. Do not disclose another account's apps, data or preview credentials. Server authorization must reject any attempted unauthorized identifier."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The plugin has no checkout, subscription or credit-purchase flow. Building and ordinary app use consume the connected account's or app owner's existing Vibelets credits under the same service rules as Studio. Insufficient credit is reported as an entitlement limit; the plugin does not initiate a purchase or promote an upgrade."
      },
      "publication": {
        "release_notes": "Build and customize working web apps without writing code, with interactive previews and explicitly requested sharing. The progress-tracker starter prompt now explicitly requests an app. This package includes the ChatGPT reviewer walkthrough URL; the MCP server connection is unchanged.",
        "translations": {
          "fi-FI": {
            "subtitle": "Rakenna ilman koodaamista",
            "description": "Luo ja muokkaa pieni\u00e4 verkkosovelluksia kirjoittamatta koodia. Kuvaile ideasi, niin Vibelets rakentaa sovelluksen, huolehtii sen yll\u00e4pidosta ja n\u00e4ytt\u00e4\u00e4 toimivan esikatselun suoraan keskustelussa. Rakenna teht\u00e4v\u00e4lista, kuluseuranta, suunnitteluty\u00f6kalu tai yksinkertainen peli. Pyyd\u00e4 muutoksia, avaa aiemmat sovelluksesi tai pyyd\u00e4 jakolinkki valitsemillasi k\u00e4ytt\u00f6oikeuksilla.\n\nVibelets-tunnus vaaditaan. Voit k\u00e4ytt\u00e4\u00e4 omia sovelluksiasi ja sovelluksia, joihin sinulla on yhteisty\u00f6oikeus. Sovellukset, versiot ja tallennetut tiedot ovat k\u00e4ytett\u00e4viss\u00e4 my\u00f6s Vibelets Studiossa. ChatGPT-esikatselu ei tue tiedostotoimintoja, paikallaolotietoja eik\u00e4 moninpelikanavia. Ulkoisten koodirepositorioiden muokkaaminen ei kuulu toimintoihin."
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 96871e7d0d0b6db8f39e31cc980d060b8f0d424daef0e7350b8ba546805b6248