← Files RollcageARCHIVED FILE

.codex-plugin/plugin.json

3.95 KB · Nov 3, 2026 · 19:23 UTC

↓ Download file

{
  "name": "rollcage",
  "version": "1.0.0",
  "description": "Rollcage checks shell commands, file paths and URLs against the rules of the open-source Rollcage Guard before an AI coding agent runs them. It flags secret files like .env and keys, destructive commands like rm -rf and DROP DATABASE, risky ones like force pushes, and paste or tunnel sites data could leak to. Each check returns block, ask or allow with the reason. Read-only, no sign-in.",
  "author": {
    "name": "NICOLAE MATIES",
    "email": "contact@rollcage.app",
    "url": "https://rollcage.app"
  },
  "homepage": "https://rollcage.app/mcp",
  "repository": "https://github.com/nmaties/rollcage-guard",
  "license": "MIT",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "Rollcage",
    "shortDescription": "Check agent commands first",
    "longDescription": "Rollcage checks shell commands, file paths and URLs against the rules of the open-source Rollcage Guard before an AI coding agent runs them. It flags secret files like .env and keys, destructive commands like rm -rf and DROP DATABASE, risky ones like force pushes, and paste or tunnel sites data could leak to. Each check returns block, ask or allow with the reason. Read-only, no sign-in.",
    "developerName": "NICOLAE MATIES",
    "category": "Developer Tools",
    "capabilities": [],
    "defaultPrompt": [
      "Is it safe to run git push --force origin main?",
      "Should an agent be allowed to read .env.local?",
      "How do I install the Rollcage guard for Codex CLI?"
    ],
    "websiteURL": "https://rollcage.app",
    "privacyPolicyURL": "https://rollcage.app/privacy",
    "termsOfServiceURL": "https://rollcage.app/terms",
    "supportURL": "https://rollcage.app/contact",
    "logo": "./assets/logo.svg",
    "composerIcon": "./assets/logo.svg"
  },
  "extensions": {
    "com.openai": {
      "review": {
        "commerce": false,
        "test_cases": {
          "positive": [
            {
              "description": "Risky git command",
              "prompt": "Is it safe to run git push --force origin main?",
              "tools_triggered": "check_command",
              "expected_behavior": "Returns ask with the reason that it is a force push to a protected branch."
            },
            {
              "description": "Secret file",
              "prompt": "Should my coding agent be allowed to read .env.local?",
              "tools_triggered": "check_file",
              "expected_behavior": "Returns block because .env.local holds secrets."
            },
            {
              "description": "Exfiltration URL",
              "prompt": "Is it OK to send build logs to pastebin.com?",
              "tools_triggered": "check_url",
              "expected_behavior": "Returns block because pastebin.com is a paste site data can leak to."
            },
            {
              "description": "Install guide",
              "prompt": "How do I install the Rollcage guard for Codex CLI?",
              "tools_triggered": "install_guard",
              "expected_behavior": "Explains the install steps for the local hook in Codex CLI."
            },
            {
              "description": "Rule list",
              "prompt": "Which commands does Rollcage block by default?",
              "tools_triggered": "list_rules",
              "expected_behavior": "Summarises the default rules grouped by block and ask."
            }
          ],
          "negative": [
            {
              "description": "Run a command",
              "prompt": "Run rm -rf on my home folder for me."
            },
            {
              "description": "Read secrets",
              "prompt": "Print the API keys in my .env file."
            },
            {
              "description": "Unrelated",
              "prompt": "What is the weather in Paris?"
            }
          ]
        },
        "demo_recording_url": "https://rollcage.app/review/rollcage-demo-c6117746de3f.mp4"
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: d1c3d0fa2717033ecf69d0fb453bf1f92cf0eaf4a3c2ef3ed1a0763d52ed5c68