Some checks are pending
CI — CoM Config Validation / Validate JSON Configs (push) Waiting to run
CI — CoM Config Validation / Validate YAML Configs (push) Waiting to run
CI — CoM Config Validation / Lint Shell Scripts (push) Waiting to run
CI — CoM Config Validation / Secret Detection (push) Waiting to run
CI — CoM Config Validation / Lint Markdown (push) Waiting to run
CI — CoM Config Validation / Validate CODEOWNERS (push) Waiting to run
Public, sanitized mirror of an AI orchestration command center: agents, skills, MCP servers, slash-command workflows. All infrastructure identifiers, hostnames, mesh IPs/subnets, repo paths, maintainer identity, and hardware fleet specifics scrubbed to <placeholders>; session debug logs and host-specific memory removed. No live credentials. Verified clean by automated leak sweep. See SANITIZATION.md. churchofmalware.org . authorized research only
241 lines
5.6 KiB
JSON
241 lines
5.6 KiB
JSON
{
|
|
"permissions": {
|
|
"deny": [
|
|
"Bash(rm -rf /)",
|
|
"Bash(format *)",
|
|
"Bash(del /s /q C:\\*)",
|
|
"Bash(powershell*Remove-Item*-Recurse*-Force*C:\\*)",
|
|
"Bash(reg delete HKLM*)",
|
|
"Bash(bcdedit*)",
|
|
"Bash(curl*|*sh)",
|
|
"Bash(wget*|*bash)",
|
|
"Write(.env*)",
|
|
"Write(*.key)",
|
|
"Write(*.pem)",
|
|
"Edit(.env*)",
|
|
"Edit(*.key)"
|
|
]
|
|
},
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Session start | host=$(hostname) | cwd=$(pwd)\" >> \"$HOME/.claude/session.log\"",
|
|
"async": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Subagent spawned | type=$CLAUDE_SUBAGENT_TYPE\" >> \"$HOME/.claude/session.log\"",
|
|
"async": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Subagent completed | type=$CLAUDE_SUBAGENT_TYPE\" >> \"$HOME/.claude/session.log\"",
|
|
"async": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash \"$HOME/.claude/hooks/pre-tool-validate.sh\"",
|
|
"timeout": 10
|
|
},
|
|
{
|
|
"type": "prompt",
|
|
"prompt": "The user asked to run a bash command. If the command contains 'rm -rf /', 'format', 'del /s /q C:\\', or would wipe an entire drive, respond {\"decision\": \"block\", \"reason\": \"Destructive whole-drive operation blocked\"}. Otherwise respond {\"decision\": \"allow\"}.",
|
|
"model": "haiku"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash \"$HOME/.claude/hooks/post-download-scan.sh\"",
|
|
"timeout": 15,
|
|
"async": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash \"$HOME/.claude/hooks/session-cleanup.sh\"",
|
|
"timeout": 10,
|
|
"async": true
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Session stop\" >> \"$HOME/.claude/session.log\"",
|
|
"async": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"effortLevel": "high",
|
|
"autoUpdatesChannel": "latest",
|
|
"autoMemoryEnabled": true,
|
|
"mcpServers": {
|
|
"slack": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/server-slack"
|
|
],
|
|
"env": {
|
|
"SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}",
|
|
"SLACK_TEAM_ID": "CoMsolutionshq"
|
|
}
|
|
},
|
|
"desktop-commander": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@wonderwhy-er/desktop-commander"
|
|
]
|
|
},
|
|
"filesystem-synos": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/server-filesystem",
|
|
"<repo-path> Lib/stuff/Development/Syn_OS{Master Repo}"
|
|
]
|
|
},
|
|
"memory": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/server-memory"
|
|
]
|
|
},
|
|
"sequential-thinking": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/server-sequential-thinking"
|
|
]
|
|
},
|
|
"github": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/server-github"
|
|
],
|
|
"env": {
|
|
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
|
|
}
|
|
},
|
|
"brave-search": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@modelcontextprotocol/server-brave-search"
|
|
],
|
|
"env": {
|
|
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
|
|
}
|
|
},
|
|
"context7": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@upstash/context7-mcp"
|
|
]
|
|
},
|
|
"playwright": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@playwright/mcp@0.0.38"
|
|
]
|
|
},
|
|
"semgrep": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@anthropic-ai/mcp-server-semgrep"
|
|
],
|
|
"env": {
|
|
"SEMGREP_APP_TOKEN": "${SEMGREP_APP_TOKEN}"
|
|
}
|
|
},
|
|
"n8n": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@leonardsellem/n8n-mcp-server"
|
|
],
|
|
"env": {
|
|
"N8N_API_URL": "${N8N_API_URL}",
|
|
"N8N_API_KEY": "${N8N_API_KEY}"
|
|
}
|
|
},
|
|
"todoist": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@chrusic/todoist-mcp-server-extended"
|
|
],
|
|
"env": {
|
|
"TODOIST_API_TOKEN": "${TODOIST_API_TOKEN}"
|
|
}
|
|
},
|
|
"google-calendar": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@anthropic-ai/mcp-server-google-calendar"
|
|
],
|
|
"env": {
|
|
"GOOGLE_CALENDAR_CLIENT_ID": "${GOOGLE_CALENDAR_CLIENT_ID}",
|
|
"GOOGLE_CALENDAR_CLIENT_SECRET": "${GOOGLE_CALENDAR_CLIENT_SECRET}"
|
|
}
|
|
},
|
|
"notion": {
|
|
"command": "npx",
|
|
"args": [
|
|
"-y",
|
|
"@notionhq/notion-mcp-server@2.2.1"
|
|
],
|
|
"env": {
|
|
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ${NOTION_API_KEY}\", \"Notion-Version\": \"2022-06-28\"}"
|
|
}
|
|
}
|
|
},
|
|
"extraKnownMarketplaces": {
|
|
"claude-plugins-official": {
|
|
"source": {
|
|
"source": "github",
|
|
"repo": "anthropics/claude-plugins-official"
|
|
}
|
|
}
|
|
}
|
|
}
|