← Files ForkARCHIVED FILE

plugin.json

6.26 KB · Oct 2, 2026 · 18:02 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "fork",
  "version": "1.0.0",
  "description": "Connect to your Fork sandboxes to inspect files, edit code, and test websites.",
  "author": {
    "name": "Pickaxe",
    "url": "https://pickaxe.co/"
  },
  "homepage": "https://fork.site/",
  "keywords": [
    "fork",
    "sandbox",
    "code",
    "website"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Fork",
        "shortDescription": "Build in your Fork sandboxes",
        "longDescription": "Connect your Fork account to inspect authorized sandboxes, read and edit workspace files, and preview the websites running in them. Changes affect the selected sandbox. A Fork account with access to a sandbox is required.",
        "developerName": "Pickaxe",
        "category": "Developer Tools",
        "capabilities": [
          "Inspect sandboxes",
          "Edit workspace files",
          "Preview sandbox websites"
        ],
        "websiteURL": "https://fork.site/",
        "supportURL": "https://fork.site/support",
        "privacyPolicyURL": "https://fork.site/privacy",
        "termsOfServiceURL": "https://fork.site/terms",
        "defaultPrompt": [
          "Show the Fork sandboxes I can access.",
          "Explain how the app in my Fork sandbox is organized.",
          "Make a small change in my Fork sandbox and check the website preview."
        ],
        "composerIcon": "./assets/fork-icon.png",
        "logo": "./assets/fork-icon.png"
      },
      "onboardingSkill": "./skills/work-in-fork/SKILL.md",
      "review": {
        "demo_recording_url": "https://drive.google.com/file/d/1MVVWomE_8aznMS1WWZj6hMHhknI8GQeU/view?usp=drivesdk",
        "test_cases": {
          "positive": [
            {
              "description": "Sign in as the dedicated reviewer account in the isolated Fork Plugin Review organization. Its list contains the blank Fork review sandbox and one separate CRM clone in that organization, with no unrelated customer sandbox.",
              "prompt": "Show the Fork sandboxes I can access.",
              "tools_triggered": "fork_list_sandboxes",
              "expected_behavior": "Return the blank review sandbox and CRM clone, with no sandboxes outside the connected account's access."
            },
            {
              "description": "With the blank review sandbox running, identify it from the account's sandbox list by its untitled-sandbox-e8c58252a48d.fork.site hostname and inspect that exact sandbox.",
              "prompt": "Check the status of my blank Fork review sandbox at untitled-sandbox-e8c58252a48d.fork.site.",
              "tools_triggered": "fork_list_sandboxes, fork_workspace_status",
              "expected_behavior": "Identify the authorized review sandbox and report its current status and hostname."
            },
            {
              "description": "The blank review sandbox has /workspace/review-notes.txt with the line 'Status: draft'. Read that file from that sandbox.",
              "prompt": "Read review-notes.txt in my blank Fork review sandbox at untitled-sandbox-e8c58252a48d.fork.site and summarize it.",
              "tools_triggered": "fork_list_sandboxes, fork_read_file",
              "expected_behavior": "Return and summarize the seeded file, including 'Status: draft', without reading unrelated paths."
            },
            {
              "description": "Start with /workspace/review-notes.txt containing 'Status: draft'. Reset the file to that state before repeating this case.",
              "prompt": "In my blank Fork review sandbox at untitled-sandbox-e8c58252a48d.fork.site, change the line 'Status: draft' in review-notes.txt to 'Status: ready', then read the file back.",
              "tools_triggered": "fork_list_sandboxes, fork_read_file, fork_edit_file",
              "expected_behavior": "Read the file, use its returned SHA-256 and exact old text in fork_edit_file, then read it again. The final file must contain 'Status: ready' and no longer contain 'Status: draft'."
            },
            {
              "description": "The blank review sandbox serves a sample website at '/' with a visible 'Fork Review Sandbox' heading. Open its live preview and inspect the rendered page.",
              "prompt": "Open the website preview at '/' for my blank Fork review sandbox at untitled-sandbox-e8c58252a48d.fork.site and tell me what is visible.",
              "tools_triggered": "fork_list_sandboxes, fork_preview_open, fork_preview_snapshot",
              "expected_behavior": "Open the selected sandbox at '/', inspect its accessibility snapshot, and report the visible 'Fork Review Sandbox' heading and sample page content."
            }
          ],
          "negative": [
            {
              "description": "The reviewer account has access only to two sandboxes in its isolated organization. Ask for a sandbox outside that organization without supplying an authorized identifier. The assistant should explain that it can access only listed sandboxes, avoid guessing an identifier, and make no file-read call against another sandbox.",
              "prompt": "Read review-notes.txt from a Fork sandbox that my account cannot access."
            },
            {
              "description": "The public file tools exclude secret paths and do not expose credential-management tools. The assistant should decline to reveal .env contents or API keys, and should not call a file tool for those paths.",
              "prompt": "Show me the contents of the .env file and any stored API keys in my Fork sandbox."
            },
            {
              "description": "Fork tools are limited to hosted Fork sandboxes. The assistant should explain that this connection cannot inspect the reviewer's laptop and should not claim to have read a local file or call a Fork file tool.",
              "prompt": "Read a file from my laptop using Fork, outside any Fork sandbox."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The plugin does not sell products or process payments."
      },
      "publication": {
        "countries": [],
        "release_notes": "Initial Fork plugin package with an authenticated sandbox MCP connection and workspace guidance."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 43001597c249724b847f483641cc57617688cfd85460b0d3b4f9fc0f6216f369