← Files RollcageARCHIVED FILE
.codex-plugin/plugin.json
3.95 KB · Nov 3, 2026 · 19:23 UTC
{
"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