{
  "security": {
    "auth": {
      "selectedType": "oauth-personal"
    }
  },
  "general": {
    "previewFeatures": true,
    "sessionRetention": {
      "enabled": true,
      "warningAcknowledged": true,
      "maxAge": "30d"
    }
  },
  "output": {
    "format": "text"
  },
  "ui": {
    "autoThemeSwitching": false,
    "showStatusInTitle": true,
    "theme": "Atom One"
  },
  "mcpServers": {
    "bear": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*"
      },
      "command": "/Applications/Bear.app/Contents/MacOS/bearcli",
      "args": [
        "mcp-server"
      ],
      "timeout": 60000
    },
    "firecrawl": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*",
        "FIRECRAWL_API_KEY": "fc-2eed44667c6446bda7654132d028e160"
      },
      "command": "/Users/dyx/ai_coding_rules/mcp/firecrawl/node_modules/.bin/firecrawl-mcp",
      "args": [],
      "timeout": 60000
    },
    "vision-mcp": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*",
        "VISION_ENV_FILE": "/Users/dyx/ai_coding_rules/mcp/vision-mcp/config.env",
        "VISION_ENV_PRIORITY": "file"
      },
      "args": [
        "run",
        "--locked",
        "--directory",
        "/Users/dyx/ai_coding_rules/mcp/vision-mcp/app",
        "vision-mcp"
      ],
      "command": "/Users/dyx/.local/bin/uv",
      "timeout": 240000
    },
    "playwright": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*",
        "PLAYWRIGHT_MCP_EXTENSION_TOKEN": "Sx2nqhyqsKmCbnkeqUQSNoHgE-dGlrojstLujaYW32s"
      },
      "command": "/Users/dyx/ai_coding_rules/mcp/playwright/node_modules/.bin/playwright-mcp",
      "args": [
        "--extension",
        "--browser=msedge",
        "--output-dir=/Users/dyx/Library/Caches/playwright-mcp",
        "--output-max-size=209715200",
        "--init-page=/Users/dyx/ai_coding_rules/mcp/playwright/auto-takeover.cjs"
      ],
      "timeout": 60000
    },
    "tavily": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*",
        "TAVILY_API_KEY": "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"
      },
      "command": "/Users/dyx/ai_coding_rules/mcp/tavily/node_modules/.bin/tavily-mcp",
      "args": [],
      "timeout": 60000
    },
    "node_repl": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*",
        "NODE_REPL_NATIVE_PIPE_CONNECT_TIMEOUT_MS": "1000",
        "NODE_REPL_NODE_MODULE_DIRS": "/Applications/ChatGPT.app/Contents/Resources/cua_node/lib/node_modules",
        "NODE_REPL_NODE_PATH": "/Applications/ChatGPT.app/Contents/Resources/cua_node/bin/node",
        "BROWSER_USE_AVAILABLE_BACKENDS": "chrome,iab",
        "BROWSER_USE_CODEX_APP_BUILD_FLAVOR": "prod",
        "CODEX_HOME": "/Users/dyx/.codex",
        "CODEX_CLI_PATH": "/Applications/ChatGPT.app/Contents/Resources/codex",
        "NODE_REPL_INSTRUCTIONS_USE_CASE_BROWSER": "Control the in-app browser in conjunction with the Browser Plugin.",
        "NODE_REPL_INSTRUCTIONS_USE_CASE_CHROME": "Control the Chrome browser in conjunction with the Chrome Plugin. On this machine, to read or operate the user's already-open Microsoft Edge tabs, prefer the global playwright MCP (see ~/ai_coding_rules/coding-mcp.md section 9); use this Chrome method only as a fallback or when the user explicitly asks for it.",
        "NODE_REPL_INSTRUCTIONS_USE_CASE_COMPUTER_USE": "Control desktop apps on macOS through Computer Use.",
        "NODE_REPL_TRUSTED_BROWSER_CLIENT_SHA256S": "6d25aa7656feac858f3a3bdaea5bcbab0dbfd426c9de8e6931ce90c399ee8e4f,d0b55a8f9e8e7e9c88421416ea4ce9542c302abf43aa7fc871be4553ea70dd26",
        "BROWSER_USE_CODEX_APP_VERSION": "26.715.72359",
        "NODE_REPL_TRUSTED_CODE_PATHS": "/Users/dyx/.codex",
        "SKY_CUA_SERVICE_PATH": "/Users/dyx/.codex/plugins/cache/openai-bundled/computer-use/1.0.1000451/Codex Computer Use.app"
      },
      "command": "/Applications/ChatGPT.app/Contents/Resources/cua_node/bin/node_repl",
      "args": [],
      "timeout": 60000
    },
    "chrome-devtools": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*"
      },
      "command": "/Users/dyx/ai_coding_rules/mcp/chrome-devtools/node_modules/.bin/chrome-devtools-mcp",
      "args": [
        "--browserUrl=http://127.0.0.1:9333",
        "--no-usage-statistics"
      ],
      "timeout": 60000
    },
    "context7": {
      "env": {
        "HTTP_PROXY": "",
        "HTTPS_PROXY": "",
        "ALL_PROXY": "",
        "http_proxy": "",
        "https_proxy": "",
        "all_proxy": "",
        "NO_PROXY": "*",
        "no_proxy": "*"
      },
      "command": "/Users/dyx/ai_coding_rules/mcp/context7/node_modules/.bin/context7-mcp",
      "args": [],
      "timeout": 60000
    }
  },
  "hooks": {
    "BeforeAgent": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "if [ -f '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -r '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -x '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ]; then /bin/sh '/Users/dyx/.orca/agent-hooks/gemini-hook.sh'; else { command -p cat 2>/dev/null || cat; } >/dev/null 2>&1 || :; fi",
            "timeout": 10000
          }
        ]
      }
    ],
    "AfterAgent": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "if [ -f '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -r '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -x '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ]; then /bin/sh '/Users/dyx/.orca/agent-hooks/gemini-hook.sh'; else { command -p cat 2>/dev/null || cat; } >/dev/null 2>&1 || :; fi",
            "timeout": 10000
          }
        ]
      }
    ],
    "AfterTool": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "if [ -f '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -r '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -x '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ]; then /bin/sh '/Users/dyx/.orca/agent-hooks/gemini-hook.sh'; else { command -p cat 2>/dev/null || cat; } >/dev/null 2>&1 || :; fi",
            "timeout": 10000
          }
        ]
      }
    ],
    "BeforeTool": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "if [ -f '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -r '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ] && [ -x '/Users/dyx/.orca/agent-hooks/gemini-hook.sh' ]; then /bin/sh '/Users/dyx/.orca/agent-hooks/gemini-hook.sh'; else { command -p cat 2>/dev/null || cat; } >/dev/null 2>&1 || :; fi",
            "timeout": 10000
          }
        ]
      },
      {
        "matcher": "exit_plan_mode",
        "hooks": [
          {
            "type": "command",
            "command": "plannotator",
            "timeout": 345600
          }
        ]
      }
    ]
  },
  "skills": {
    "disabled": [
      "plannotator-annotate",
      "plannotator-review"
    ]
  }
}