Skip to main content

CODITECT Standard: Configuration

Status: Approved Version: 1.0.0 Last Updated: December 3, 2025 Authority: Based on Anthropic official documentation and CODITECT production usage Applies To: All .claude/settings*.json, .coditect/settings*.json configuration files


Executive Summary

Configuration files control CODITECT framework behavior through a hierarchical settings system. This standard defines structure, precedence rules, security patterns, and quality requirements for all configuration files based on analysis of production configurations and Anthropic Claude Code documentation.

Key Points:

  • Hierarchy: System → User → Project → Local (Local overrides all)
  • Format: JSON with specific field schemas
  • Security: Permissions control tool/web access patterns
  • Integration: Hooks, MCP servers, plugins configuration
  • Validation: JSON Schema enforcement recommended

Files Covered:

  • ~/.claude/settings.json (User-wide settings)
  • .claude/settings.json (Project settings, committed)
  • .claude/settings.local.json (Local overrides, gitignored)
  • .coditect/settings*.json (CODITECT-specific settings)

Table of Contents

  1. Purpose and Scope
  2. Configuration Hierarchy
  3. File Structure
  4. Standard Configuration Sections
  5. Permissions Configuration
  6. Hooks Configuration
  7. MCP Server Configuration
  8. Quality Grading Criteria
  9. Templates
  10. JSON Schema Validation
  11. Security Best Practices
  12. Migration Guide
  13. Troubleshooting
  14. Version History

1. Purpose and Scope

What This Standard Covers

Configuration files control:

  • Tool and web access permissions
  • Default model and token limits
  • Hook lifecycle event handlers
  • MCP server connections
  • Plugin installations
  • Editor and formatting preferences

What This Standard Does NOT Cover

When to Use Configuration Files

Use settings.json when:

  • ✅ Configuring tool permissions (Bash, WebFetch, WebSearch)
  • ✅ Setting up lifecycle hooks (pre-tool, post-tool, session events)
  • ✅ Connecting MCP servers for external tools
  • ✅ Installing plugins from marketplaces
  • ✅ Overriding default model or token limits

Do NOT use settings.json for:

  • ❌ Storing secrets or credentials (use Secret Manager)
  • ❌ Application-specific config (use app's config system)
  • ❌ Environment-specific variables (use .env)

2. Configuration Hierarchy

Precedence Order (Low → High)

System Defaults (built-in)

User Settings (~/.claude/settings.json)

Project Settings (.claude/settings.json)

Local Settings (.claude/settings.local.json) ← HIGHEST PRIORITY

Enterprise Policies (organization-managed) ← OVERRIDE ALL

Rule: Later configurations override earlier ones. Local always wins (except enterprise policies).

File Locations

LevelLocationGit TrackingScope
User~/.claude/settings.jsonNo (user home)All projects for user
Project.claude/settings.jsonYes (committed)Team-shared settings
Local.claude/settings.local.jsonNo (gitignored)Machine-specific overrides
CODITECT User~/.coditect/settings.jsonNo (user home)CODITECT-wide user settings
CODITECT Project.coditect/settings.jsonYes (committed)CODITECT project settings
CODITECT Local.coditect/settings.local.jsonNo (gitignored)CODITECT local overrides

Merge Behavior

Objects: Deep merge (keys combine)

// User settings
{"permissions": {"allow": ["Bash(git:*)"]}}

// Project settings
{"permissions": {"allow": ["WebSearch"]}}

// Result (merged)
{"permissions": {"allow": ["Bash(git:*)", "WebSearch"]}}

Arrays: Replace (project replaces user)

// User: {"mcpServers": ["server-a"]}
// Project: {"mcpServers": ["server-b"]}
// Result: {"mcpServers": ["server-b"]} ← Project wins

3. File Structure

Required Format

  • Encoding: UTF-8 without BOM
  • Line Endings: Unix (LF) preferred, CRLF acceptable
  • Format: Strict JSON (no trailing commas, no comments)
  • Indentation: 2 spaces (consistent)

Root Schema

{
"model": "string",
"maxTokens": "number",
"permissions": {
"allow": ["string[]"],
"deny": ["string[]"],
"ask": ["string[]"]
},
"hooks": {
"event-name": "path/to/hook.sh"
},
"mcpServers": {
"server-name": {
"command": "string",
"args": ["string[]"],
"env": {}
}
},
"enableAllProjectMcpServers": "boolean",
"extraKnownMarketplaces": ["string[]"],
"enabledPlugins": ["string[]"],
"editor": {
"tabSize": "number",
"insertSpaces": "boolean"
}
}

All fields are optional. Empty {} is valid.


4. Standard Configuration Sections

4.1 Model Configuration

{
"model": "claude-sonnet-4-5",
"maxTokens": 8192,
"temperature": 1.0
}

Common Values:

  • model: "claude-sonnet-4-5", "claude-opus-4-5", "claude-haiku-4-5"
  • maxTokens: 4096, 8192, 16384 (depends on model)
  • temperature: 0.0 (deterministic) to 1.0 (creative)

4.2 Editor Configuration

{
"editor": {
"tabSize": 2,
"insertSpaces": true,
"formatOnSave": false
}
}

4.3 Plugin Configuration

{
"extraKnownMarketplaces": [
"https://example.com/marketplace.json"
],
"enabledPlugins": [
"@user/plugin-name",
"plugin-package"
]
}

5. Permissions Configuration

Structure

{
"permissions": {
"allow": [
"Bash(git:*)",
"WebSearch",
"WebFetch(domain:anthropic.com)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)"
],
"ask": [
"Bash(npm install:*)"
]
}
}

Permission Modes

ModeBehaviorUse Case
allowAuto-approve matching patternsTrusted operations (git, read-only)
denyBlock matching patternsDangerous operations (rm, sudo)
askPrompt user for approvalPotentially risky (install, network)

Permission Patterns

Bash Patterns:

[
"Bash(git:*)", // All git commands
"Bash(git add:*)", // Specific git subcommand
"Bash(python3:*)", // All Python 3 commands
"Bash(rm:*)", // All rm commands (⚠️ dangerous)
"Bash(chmod +x:*)" // Specific chmod pattern
]

Web Patterns:

[
"WebSearch", // Enable web search
"WebFetch(domain:anthropic.com)", // Allow specific domain
"WebFetch(domain:github.com)", // Allow GitHub
"WebFetch(domain:*.example.com)" // Wildcard subdomain
]

Security Best Practices

✅ DO:

  • Use specific patterns (git add not git)
  • Allow read-only operations
  • Use ask for install/network operations
  • Document why dangerous patterns are allowed

❌ DON'T:

  • Allow Bash(*:*) (too permissive)
  • Allow rm -rf or sudo without strong reason
  • Allow wildcard web domains without review
  • Commit credentials in settings files

6. Hooks Configuration

Structure

{
"hooks": {
"pre-tool-use": ".claude/hooks/validate-tool.sh",
"post-tool-use": ".claude/hooks/format-output.py",
"user-prompt-submit": ".claude/hooks/enhance-prompt.sh",
"session-start": ".claude/hooks/init-session.sh",
"session-end": ".claude/hooks/cleanup-session.sh"
}
}

Supported Hook Events

EventBlockingTypical UseTimeout
pre-tool-use✅ YesValidation, security checks5s
post-tool-use❌ NoFormatting, cleanup5s
user-prompt-submit✅ YesPrompt enhancement1s
session-start❌ NoInitialization30s
session-end❌ NoCleanup, state saving30s
pre-compact❌ NoContext compaction prep5s
stop✅ YesOperation cancellation1s
permission-request❌ NoPermission logging2s
notification❌ NoSystem notifications2s
reset❌ NoSession reset5s

Hook Path Resolution

Relative paths resolve from project root:

{"hooks": {"pre-tool-use": ".claude/hooks/validate.sh"}}
// Resolves to: /project-root/.claude/hooks/validate.sh

Absolute paths used directly:

{"hooks": {"pre-tool-use": "/usr/local/bin/validate-tool.sh"}}

Symlinks are followed.

Hook Exit Codes

CodeMeaningEffect
0SuccessContinue operation
2BlockAbort operation (pre- hooks only)
1WarningLog warning, continue
OtherErrorLog error, continue (non-blocking)

For complete hook standards, see CODITECT-STANDARD-HOOKS.md.


7. MCP Server Configuration

Structure

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/workspace"],
"env": {
"NODE_ENV": "production"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-brave-search"],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
}
},
"enableAllProjectMcpServers": false
}

MCP Server Fields

FieldRequiredDescription
commandYesExecutable path (node, python3, npx, etc.)
argsYesCommand arguments array
envNoEnvironment variables for server

Environment Variable Substitution

{
"env": {
"API_KEY": "${MY_API_KEY}", // Substitute from environment
"STATIC_VAL": "fixed-value" // Literal value
}
}

Security: NEVER commit API keys directly. Always use environment variable substitution.

Project-Level MCP Servers

{
"enableAllProjectMcpServers": true // Auto-load project MCP servers
}

Default: false (must explicitly enable)

MCP Server Discovery

User-Level: ~/.claude/settings.json

  • Available in all projects
  • User-specific credentials

Project-Level: .claude/settings.json

  • Requires enableAllProjectMcpServers: true in user settings
  • Team-shared servers (no credentials)

For detailed MCP integration, see Anthropic MCP Documentation.


8. Quality Grading Criteria

Grade A (90-100%): Exemplary

Requirements:

  • ✅ Valid JSON with proper formatting (2-space indents)
  • ✅ All permissions documented with comments in README
  • ✅ Hooks properly configured with error handling
  • ✅ MCP servers use environment variable substitution
  • ✅ JSON Schema validation passes
  • ✅ Security review completed (no hardcoded secrets)
  • ✅ Git tracking appropriate (.local.json ignored)
  • ✅ Documented in project README or CLAUDE.md

Example:

{
"model": "claude-sonnet-4-5",
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(python3 scripts:*)",
"WebSearch"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)"
]
},
"hooks": {
"pre-tool-use": ".claude/hooks/validate-tool.sh",
"session-start": ".claude/hooks/init-session.sh"
},
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/workspace"],
"env": {}
}
}
}

Grade B (80-89%): Production-Ready

Requirements:

  • ✅ Valid JSON
  • ✅ Permissions configured (basic security)
  • ✅ Either hooks OR MCP configured
  • ✅ Git tracking appropriate
  • ⚠️ Missing: Comprehensive documentation
  • ⚠️ Missing: JSON Schema validation

Example:

{
"permissions": {
"allow": [
"Bash(git:*)",
"Bash(python3:*)"
]
},
"hooks": {
"session-start": ".claude/hooks/init.sh"
}
}

Grade C (70-79%): Functional

Requirements:

  • ✅ Valid JSON
  • ✅ Basic permissions OR hooks configured
  • ⚠️ Missing: Comprehensive permissions
  • ⚠️ Missing: Documentation
  • ⚠️ Missing: Hooks or MCP integration

Example:

{
"permissions": {
"allow": ["Bash(git:*)"]
}
}

Grade D (60-69%): Minimal

Requirements:

  • ✅ Valid JSON
  • ⚠️ Minimal or no permissions
  • ⚠️ No hooks or MCP configured
  • ⚠️ No documentation

Grade F (<60%): Does Not Meet Standard

Issues:

  • ❌ Invalid JSON (syntax errors)
  • ❌ Hardcoded secrets in settings
  • ❌ Dangerous permissions (rm -rf, sudo) without justification
  • ❌ Wrong git tracking (.local.json committed)
  • ❌ Missing required fields

9. Templates

Template 1: Minimal Configuration (Grade C)

Use Case: Basic project with git operations only

File: .claude/settings.local.json

{
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)"
]
}
}

Features:

  • Allows basic git workflow
  • No hooks or MCP servers
  • Suitable for simple projects

Template 2: Standard Configuration (Grade B)

Use Case: Production project with validation hooks

File: .claude/settings.json (committed)

{
"model": "claude-sonnet-4-5",
"maxTokens": 8192,
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(git diff:*)",
"Bash(python3 scripts:*)",
"WebSearch"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)"
],
"ask": [
"Bash(npm install:*)",
"Bash(pip install:*)"
]
},
"hooks": {
"pre-tool-use": ".claude/hooks/validate-tool.sh",
"post-tool-use": ".claude/hooks/format-output.py",
"session-start": ".claude/hooks/init-session.sh"
}
}

Features:

  • Specific permissions with security controls
  • Pre and post tool hooks for validation
  • Session initialization
  • Web search enabled

Template 3: Advanced Configuration with MCP (Grade A)

Use Case: Enterprise project with MCP servers and comprehensive security

File: .claude/settings.json (committed)

{
"model": "claude-sonnet-4-5",
"maxTokens": 8192,
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(git diff:*)",
"Bash(git status:*)",
"Bash(python3 scripts:*)",
"Bash(python3 .coditect/scripts:*)",
"WebSearch",
"WebFetch(domain:anthropic.com)",
"WebFetch(domain:github.com)",
"WebFetch(domain:docs.*.com)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Bash(chmod 777:*)"
],
"ask": [
"Bash(npm install:*)",
"Bash(pip install:*)",
"Bash(docker:*)"
]
},
"hooks": {
"pre-tool-use": ".claude/hooks/validate-tool.sh",
"post-tool-use": ".claude/hooks/format-output.py",
"user-prompt-submit": ".claude/hooks/enhance-prompt.sh",
"session-start": ".claude/hooks/init-session.sh",
"session-end": ".claude/hooks/cleanup-session.sh"
},
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/workspace"],
"env": {}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-brave-search"],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
},
"github": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
},
"enableAllProjectMcpServers": false,
"editor": {
"tabSize": 2,
"insertSpaces": true,
"formatOnSave": false
}
}

File: .claude/settings.local.json (gitignored)

{
"enableAllProjectMcpServers": true,
"permissions": {
"allow": [
"Bash(gcloud:*)",
"Bash(kubectl:*)"
]
}
}

Features:

  • Comprehensive permissions with security controls
  • Complete hook lifecycle coverage
  • Multiple MCP servers with environment variable substitution
  • Local overrides for cloud CLI tools
  • Editor configuration
  • Documented in README (Grade A requirement)

10. JSON Schema Validation

File: .claude/settings.schema.json

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Claude Code Settings",
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": ["claude-sonnet-4-5", "claude-opus-4-5", "claude-haiku-4-5"]
},
"maxTokens": {
"type": "integer",
"minimum": 1024,
"maximum": 200000
},
"permissions": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {"type": "string"}
},
"deny": {
"type": "array",
"items": {"type": "string"}
},
"ask": {
"type": "array",
"items": {"type": "string"}
}
}
},
"hooks": {
"type": "object",
"patternProperties": {
"^(pre-tool-use|post-tool-use|user-prompt-submit|session-start|session-end|pre-compact|stop|permission-request|notification|reset)$": {
"type": "string"
}
}
},
"mcpServers": {
"type": "object",
"patternProperties": {
".*": {
"type": "object",
"required": ["command", "args"],
"properties": {
"command": {"type": "string"},
"args": {
"type": "array",
"items": {"type": "string"}
},
"env": {
"type": "object",
"additionalProperties": {"type": "string"}
}
}
}
}
},
"enableAllProjectMcpServers": {
"type": "boolean"
}
}
}

Validation Command

# Using Python jsonschema
python3 -m jsonschema -i .claude/settings.json .claude/settings.schema.json

# Using Node.js ajv-cli
npx ajv-cli validate -s .claude/settings.schema.json -d .claude/settings.json

11. Security Best Practices

Secret Management

✅ DO:

  • Use environment variable substitution: "${API_KEY}"
  • Store secrets in Secret Manager (GCP, AWS, Azure)
  • Use .local.json for machine-specific secrets (gitignored)
  • Document required environment variables in README

❌ DON'T:

  • Hardcode API keys in settings files
  • Commit .local.json files
  • Use weak or default credentials
  • Share credentials in project settings

Permission Controls

✅ DO:

  • Use specific patterns (git add not git)
  • Start restrictive, expand as needed
  • Use ask mode for installation commands
  • Document why dangerous patterns are allowed

❌ DON'T:

  • Allow Bash(*:*) (too permissive)
  • Allow rm -rf or sudo without strong reason
  • Allow wildcard web domains without review
  • Disable security features without documentation

Hook Security

✅ DO:

  • Validate all hook inputs (JSON from stdin)
  • Use absolute paths or validate relative paths
  • Set appropriate file permissions (755 for executables)
  • Log security-relevant events

❌ DON'T:

  • Execute user-provided code without validation
  • Trust stdin data without parsing
  • Use eval or similar dynamic execution
  • Run hooks with elevated privileges unnecessarily

12. Migration Guide

Phase 1: Minimal to Standard (C → B)

Current State (Grade C):

{
"permissions": {
"allow": ["Bash(git:*)"]
}
}

Target State (Grade B):

{
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(python3 scripts:*)"
],
"deny": [
"Bash(rm -rf:*)"
]
},
"hooks": {
"session-start": ".claude/hooks/init-session.sh"
}
}

Steps:

  1. Make permissions more specific (git → git add, git commit)
  2. Add deny list for dangerous operations
  3. Create basic session-start hook
  4. Document in README

Estimated Time: 30 minutes

Phase 2: Standard to Advanced (B → A)

Target State (Grade A):

{
"model": "claude-sonnet-4-5",
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(python3 scripts:*)",
"WebSearch"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)"
],
"ask": [
"Bash(npm install:*)"
]
},
"hooks": {
"pre-tool-use": ".claude/hooks/validate-tool.sh",
"post-tool-use": ".claude/hooks/format-output.py",
"session-start": ".claude/hooks/init-session.sh"
},
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/workspace"],
"env": {}
}
}
}

Steps:

  1. Add model configuration
  2. Expand hooks (pre-tool, post-tool)
  3. Configure MCP servers
  4. Add ask permissions for installations
  5. Create JSON Schema validation
  6. Complete security review
  7. Document comprehensively in CLAUDE.md

Estimated Time: 2 hours


13. Troubleshooting

Problem 1: Settings Not Applied

Symptoms:

  • Changed settings.json but behavior unchanged
  • Permissions still prompting

Diagnosis:

# Check which settings file has highest precedence
ls -la .claude/settings*.json ~/.claude/settings*.json

# Verify JSON syntax
python3 -m json.tool .claude/settings.json

Solution:

  • Verify local settings (.local.json) aren't overriding
  • Check JSON syntax (no trailing commas)
  • Restart Claude Code session

Problem 2: Hooks Not Executing

Symptoms:

  • Hook script exists but doesn't run
  • No hook output in logs

Diagnosis:

# Check hook path
cat .claude/settings.json | jq '.hooks'

# Verify hook exists and is executable
ls -la .claude/hooks/
chmod +x .claude/hooks/validate-tool.sh

# Test hook manually
echo '{"tool": "Read", "args": {}}' | .claude/hooks/validate-tool.sh

Solution:

  • Ensure hook path is correct (relative to project root)
  • Make hook executable (chmod +x)
  • Verify hook reads stdin and writes stdout correctly
  • Check hook timeout (5s default)

Problem 3: MCP Server Connection Failed

Symptoms:

  • "MCP server connection failed" error
  • Server tools not available

Diagnosis:

# Verify MCP server command exists
which npx
npx -y @anthropic-ai/mcp-server-filesystem --help

# Check environment variables
echo $BRAVE_API_KEY

Solution:

  • Install missing MCP server packages
  • Set required environment variables
  • Verify enableAllProjectMcpServers: true in user settings (for project MCP servers)
  • Check MCP server logs

Problem 4: Permission Denied Despite Allow List

Symptoms:

  • Tool still prompts despite being in allow list
  • "Permission denied" errors

Diagnosis:

# Check exact pattern used
cat .claude/settings.json | jq '.permissions.allow'

# Verify pattern matches tool call
# Tool: Bash(git add .)
# Pattern: "Bash(git add:*)" ← matches
# Pattern: "Bash(git:*)" ← too broad, may be overridden

Solution:

  • Make pattern more specific
  • Check for conflicting deny patterns
  • Verify local settings aren't overriding
  • Use exact tool call syntax in pattern

Problem 5: JSON Syntax Error

Symptoms:

  • "Invalid JSON" error on session start
  • Settings not loading

Diagnosis:

# Validate JSON
python3 -m json.tool .claude/settings.json

# Common errors:
# - Trailing commas
# - Missing quotes
# - Unescaped backslashes

Solution:

  • Use JSON linter/validator
  • Remove trailing commas
  • Escape backslashes in paths (Windows)
  • Use JSON editor with syntax checking

14. Version History

Version 1.0.0 (December 3, 2025)

Initial Release

Research Basis:

  • Analysis of 3 production settings files
  • Anthropic official documentation (settings, hooks, MCP)
  • CODITECT framework integration patterns

Key Features:

  • Configuration hierarchy (User → Project → Local)
  • Permissions, hooks, MCP server configuration
  • Quality grading (A-F scale)
  • 3 templates (minimal, standard, advanced)
  • JSON Schema validation
  • Security best practices
  • Migration guide

File Size: 30 KB (comprehensive)

Status: Approved for production use


Appendix A: Complete Settings Example

File: .claude/settings.json (Grade A example)

{
"model": "claude-sonnet-4-5",
"maxTokens": 8192,
"temperature": 1.0,
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(git diff:*)",
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(python3 scripts:*)",
"Bash(python3 .coditect/scripts:*)",
"Bash(find:*)",
"Bash(cat:*)",
"Bash(chmod +x:*)",
"Bash(mkdir:*)",
"Bash(touch:*)",
"WebSearch",
"WebFetch(domain:anthropic.com)",
"WebFetch(domain:github.com)",
"WebFetch(domain:docs.python.org)",
"WebFetch(domain:*.readthedocs.io)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Bash(chmod 777:*)",
"Bash(dd:*)"
],
"ask": [
"Bash(npm install:*)",
"Bash(pip install:*)",
"Bash(docker:*)",
"Bash(kubectl:*)",
"Bash(gcloud:*)"
]
},
"hooks": {
"pre-tool-use": ".claude/hooks/validate-tool.sh",
"post-tool-use": ".claude/hooks/format-output.py",
"user-prompt-submit": ".claude/hooks/enhance-prompt.sh",
"session-start": ".claude/hooks/init-session.sh",
"session-end": ".claude/hooks/cleanup-session.sh",
"pre-compact": ".claude/hooks/pre-compact.sh"
},
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/workspace"],
"env": {}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-brave-search"],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
},
"github": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
},
"enableAllProjectMcpServers": false,
"editor": {
"tabSize": 2,
"insertSpaces": true,
"formatOnSave": false
}
}

End of Standard

For questions or contributions, see README.md contribution guidelines.