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
- Purpose and Scope
- Configuration Hierarchy
- File Structure
- Standard Configuration Sections
- Permissions Configuration
- Hooks Configuration
- MCP Server Configuration
- Quality Grading Criteria
- Templates
- JSON Schema Validation
- Security Best Practices
- Migration Guide
- Troubleshooting
- 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
- Hook scripts - See CODITECT-STANDARD-HOOKS.md
- Slash commands - See CODITECT-STANDARD-COMMANDS.md
- Environment variables - See project-specific .env guidelines
- Git configuration - Standard .gitconfig/.gitignore patterns
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
| Level | Location | Git Tracking | Scope |
|---|---|---|---|
| User | ~/.claude/settings.json | No (user home) | All projects for user |
| Project | .claude/settings.json | Yes (committed) | Team-shared settings |
| Local | .claude/settings.local.json | No (gitignored) | Machine-specific overrides |
| CODITECT User | ~/.coditect/settings.json | No (user home) | CODITECT-wide user settings |
| CODITECT Project | .coditect/settings.json | Yes (committed) | CODITECT project settings |
| CODITECT Local | .coditect/settings.local.json | No (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) to1.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
| Mode | Behavior | Use Case |
|---|---|---|
| allow | Auto-approve matching patterns | Trusted operations (git, read-only) |
| deny | Block matching patterns | Dangerous operations (rm, sudo) |
| ask | Prompt user for approval | Potentially 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 addnotgit) - Allow read-only operations
- Use
askfor install/network operations - Document why dangerous patterns are allowed
❌ DON'T:
- Allow
Bash(*:*)(too permissive) - Allow
rm -rforsudowithout 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
| Event | Blocking | Typical Use | Timeout |
|---|---|---|---|
pre-tool-use | ✅ Yes | Validation, security checks | 5s |
post-tool-use | ❌ No | Formatting, cleanup | 5s |
user-prompt-submit | ✅ Yes | Prompt enhancement | 1s |
session-start | ❌ No | Initialization | 30s |
session-end | ❌ No | Cleanup, state saving | 30s |
pre-compact | ❌ No | Context compaction prep | 5s |
stop | ✅ Yes | Operation cancellation | 1s |
permission-request | ❌ No | Permission logging | 2s |
notification | ❌ No | System notifications | 2s |
reset | ❌ No | Session reset | 5s |
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
| Code | Meaning | Effect |
|---|---|---|
0 | Success | Continue operation |
2 | Block | Abort operation (pre- hooks only) |
1 | Warning | Log warning, continue |
| Other | Error | Log 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
| Field | Required | Description |
|---|---|---|
command | Yes | Executable path (node, python3, npx, etc.) |
args | Yes | Command arguments array |
env | No | Environment 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: truein 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
Recommended Schema
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.jsonfor machine-specific secrets (gitignored) - Document required environment variables in README
❌ DON'T:
- Hardcode API keys in settings files
- Commit
.local.jsonfiles - Use weak or default credentials
- Share credentials in project settings
Permission Controls
✅ DO:
- Use specific patterns (
git addnotgit) - Start restrictive, expand as needed
- Use
askmode for installation commands - Document why dangerous patterns are allowed
❌ DON'T:
- Allow
Bash(*:*)(too permissive) - Allow
rm -rforsudowithout 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
evalor 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:
- Make permissions more specific (git → git add, git commit)
- Add deny list for dangerous operations
- Create basic session-start hook
- 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:
- Add model configuration
- Expand hooks (pre-tool, post-tool)
- Configure MCP servers
- Add
askpermissions for installations - Create JSON Schema validation
- Complete security review
- 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: truein 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.