← Files VibeDoctorARCHIVED FILE

plugin.json

5.28 KB · Nov 2, 2026 · 13:02 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "vibedoctor",
  "version": "1.0.0",
  "description": "Code health for your VibeDoctor projects: findings from scans, checks of code you send, and a map of the codebase.",
  "author": {
    "name": "VibeDoctor",
    "email": "911@vibedoctor.io",
    "url": "https://vibedoctor.io"
  },
  "homepage": "https://vibedoctor.io/connectors",
  "license": "Proprietary",
  "keywords": [
    "code health",
    "code review",
    "security",
    "static analysis",
    "developer tools"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "VibeDoctor",
        "shortDescription": "Code health for your projects",
        "longDescription": "VibeDoctor scans your GitHub repositories and websites and keeps a record of each project's code health. Connect it to see a project's scores and open findings, check code for security, dependency, quality and performance issues, explore a map of the codebase (what a function touches, what a change affects, which parts have no tests), and record why a finding is a false positive. It works with the projects in your VibeDoctor account; you sign in once and choose Allow.",
        "developerName": "VibeDoctor",
        "category": "Developer Tools",
        "capabilities": [
          "Read a project's code health and open findings",
          "Check code for security, dependency, quality and performance issues",
          "Map the codebase: modules, callers, change impact, test coverage",
          "Answer questions about the code's structure and health",
          "Record notes on findings"
        ],
        "websiteURL": "https://vibedoctor.io",
        "supportURL": "https://vibedoctor.io/connectors",
        "privacyPolicyURL": "https://vibedoctor.io/privacy",
        "termsOfServiceURL": "https://vibedoctor.io/terms",
        "defaultPrompt": [
          "What are the most serious issues in my project?",
          "Check the files I just changed for security problems.",
          "Which parts of my code have no tests?"
        ],
        "brandColor": "#E8271A",
        "brandColorDark": "#F87268",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "onboardingSkill": "./skills/get-started/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Project health overview",
              "prompt": "What are the most serious issues in my project?",
              "tools_triggered": "vibedoctor_projects, vibedoctor_status",
              "expected_behavior": "Reports the review project's overall score and its open findings by severity, naming the files with the most serious ones, using only data the tools returned."
            },
            {
              "description": "Check pasted code",
              "prompt": "Check this code for security problems:\nconst password = \"hunter2hunter2\";\nexport function run(x) { return eval(x); }",
              "tools_triggered": "vibedoctor_check",
              "expected_behavior": "Reports a hardcoded secret on line 1 and dynamic code execution (eval) on line 2, each with its severity and a fix."
            },
            {
              "description": "Find modules with the most findings",
              "prompt": "Which parts of my project have the most findings?",
              "tools_triggered": "vibedoctor_graph",
              "expected_behavior": "Lists the project's modules with their finding counts from the code map, highest first."
            },
            {
              "description": "Find untested code",
              "prompt": "Which parts of my code have no tests?",
              "tools_triggered": "vibedoctor_graph",
              "expected_behavior": "Gives the test coverage percentage and names untested symbols that also have findings."
            },
            {
              "description": "Record a false positive",
              "prompt": "The unprotected API route finding in packages/artifacts-viewer/apps/example/worker/index.ts is a false positive because that file is an example app. Please note that in VibeDoctor.",
              "tools_triggered": "vibedoctor_note",
              "expected_behavior": "Saves a note with reason false_positive on that finding and says the finding stays open until the user dismisses it in VibeDoctor."
            }
          ],
          "negative": [
            {
              "description": "Scanning a site the user does not own",
              "prompt": "Scan https://example.com for vulnerabilities."
            },
            {
              "description": "Deleting findings",
              "prompt": "Delete all the findings in my project."
            },
            {
              "description": "A project outside the connected account",
              "prompt": "Show me the findings for torvalds/linux."
            }
          ]
        },
        "demo_recording_url": "https://vibedoctor.io/assets/demo/vibedoctor-chatgpt-demo.mp4",
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments."
      },
      "publication": {
        "release_notes": "First release: project health, code checks, the code map, codebase questions and notes on findings."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: ed8f7de71bbd1c85b9c56cb67ebe38a01cea8e2a3ae1fa670addc3a7ce7e641e