← Files TheBeanGeekARCHIVED FILE

plugin.json

5.93 KB · Nov 3, 2026 · 06:11 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "thebeangeek",
  "version": "1.0.0",
  "description": "TheBeanGeek is a specialty-coffee directory: browse coffees and roasteries with structured filters, see a roastery leaderboard, get personalized recommendations from your own review history, and log reviews - including photo-based user-contributed coffees.",
  "author": {
    "name": "TheBeanGeek",
    "url": "https://www.thebeangeek.com"
  },
  "homepage": "https://www.thebeangeek.com",
  "license": "UNLICENSED",
  "keywords": [
    "coffee",
    "specialty-coffee",
    "roastery",
    "reviews"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "TheBeanGeek",
        "shortDescription": "Specialty coffee directory",
        "longDescription": "TheBeanGeek is a specialty-coffee directory: browse coffees and roasteries with structured filters (no free-text search), see a roastery leaderboard, get personalized recommendations from your own review history, and log reviews for coffees - including ones not yet in the catalog, with an optional bag photo. The interactive workbench opens as a fullscreen app (My Coffee, Browse, and Review views) from the sidebar launcher or a conversation side panel, and roasteries can be @-mentioned in the composer. It only accesses your own TheBeanGeek account data.",
        "developerName": "TheBeanGeek",
        "category": "Other",
        "capabilities": [
          "Search coffees",
          "Search roasteries",
          "Log coffee reviews",
          "Get recommendations"
        ],
        "websiteURL": "https://www.thebeangeek.com",
        "supportURL": "https://www.thebeangeek.com/contact",
        "privacyPolicyURL": "https://www.thebeangeek.com/privacy-policy",
        "termsOfServiceURL": "https://www.thebeangeek.com/terms-and-conditions",
        "defaultPrompt": [
          "Find me a fruity Ethiopian coffee for espresso.",
          "What are the top roasteries right now?",
          "Recommend coffees from my review history."
        ],
        "brandColor": "#8A4B2A",
        "brandColorDark": "#FFB437",
        "composerIcon": "./assets/icon.png",
        "composerIconDark": "./assets/icon-dark.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Search for coffees by taste and origin, mapping natural language onto the structured filters.",
              "prompt": "Find me a fruity Ethiopian coffee for espresso.",
              "tools_triggered": "searchCoffees",
              "expected_behavior": "A list of Ethiopian coffees with fruity taste notes, suitable for espresso."
            },
            {
              "description": "Add a review for a known coffee, collecting the required fields before writing.",
              "prompt": "I had a washed Ethiopian from Roast Coffee - rate it 4.5, brewed as espresso at home.",
              "tools_triggered": "addReview",
              "expected_behavior": "The agent collects anything missing (brew method and place are present; it asks about tastes, roast date, and note), then records the review and confirms the rating, brew method, and place."
            },
            {
              "description": "Review a coffee that is not in the catalog from an attached bag photo, uploading the photo and logging the user-contributed coffee.",
              "prompt": "Attached a photo of the bag - it's Blueberry Pie from La Cabra. I brewed it as aeropress at home, 4.5.",
              "tools_triggered": "uploadCoffeePhoto, reviewNonExistingCoffee",
              "expected_behavior": "The bag photo is uploaded first (uploadCoffeePhoto returns its URL), then the review is recorded on the named roastery's user-contributed coffee, queued outside the public catalog until approved."
            },
            {
              "description": "Personalized recommendations from the user's taste profile.",
              "prompt": "Recommend some coffees based on my review history.",
              "tools_triggered": "discoverCoffees",
              "expected_behavior": "A list of recommended coffees derived from the user's taste profile; if the profile is not ready yet, the agent asks what they like and searches the catalog instead of retrying."
            },
            {
              "description": "Open the interactive workbench app, optionally pre-filtering the Browse view.",
              "prompt": "Open my coffee app - I want to browse fruity espressos.",
              "tools_triggered": "coffee.open",
              "expected_behavior": "The TheBeanGeek workbench opens in fullscreen on the Browse view, pre-filtered to fruity, espresso-suitable coffees."
            }
          ],
          "negative": [
            {
              "description": "Do not trigger for a destructive action that no tool supports.",
              "prompt": "Delete my review from last week."
            },
            {
              "description": "Do not trigger for free-text search terms that cannot be mapped to structured filters.",
              "prompt": "Find me something smooth and complex."
            },
            {
              "description": "Do not trigger a review write when the coffee has no identifying information.",
              "prompt": "Review a coffee - it was good, 5 stars."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "TheBeanGeek is a directory and review log; it does not sell products or process payments through ChatGPT.",
        "demo_recording_url": "https://thvthlig1e.ufs.sh/f/9ttmlJWZmWrSu3DxiiFxkH3YiUoflydtb6JeBcX4AsP09nQz"
      },
      "publication": {
        "release_notes": "Initial release: coffee and roastery directory search, roastery leaderboard, personalized recommendations, review logging including photo-based user-contributed coffees, and the interactive workbench app."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 69b1734b4de96d2fb4f91a6689416e79b674c7a66a53f986a918432ef1a4c379