Files
claude-howto/09-advanced-features/config-examples.json
T
Luong NGUYEN 8aeb5a72dc docs: sync to Claude Code v2.1.278 (#183)
* docs: sync to Claude Code v2.1.278

Type: docs

Audit of the tutorial against Claude Code 2.1.278 (repo baseline was
2.1.263). Fixes claims the repo asserts that are now false; new-feature
coverage is English-only.

P0 - the repo stated the opposite of current behavior:
- AGENTS.md: the claude-md skill said Claude Code "does not read
  AGENTS.md directly" in all 5 languages. It has since v2.1.277, when no
  CLAUDE.md exists at or above the working directory.
- /output-style: listed as "Removed in v2.1.91" in 5 languages and in
  09-advanced-features. Re-added in v2.1.269; row moved out of the
  Deprecated Commands table.
- Permission rules: setup-auto-mode-permissions.py seeded Write(*),
  Glob(*) and NotebookEdit(*), which Claude Code accepts but never
  consults and warns about at startup. Removed; same fix in the
  config-examples.json profile and the 06/09 category tables.
- taskOutputMaxChars: documented as live. The TaskOutput tool was
  removed in v2.1.278 and the key is inert.

P1:
- Dynamic workflow "medium" guideline is fewer than 10 agents, not 15;
  the default is small on Pro plans since v2.1.271.
- Todo-tool availability restated as the official allowlist (Claude 3.x,
  Opus 4-4.7, Sonnet 4-4.6, Haiku 4.5) instead of a denylist; 23 sites
  across 5 languages.
- Memory hierarchy now notes the AGENTS.md fallback.
- Auto-mode classifier cost qualified: not charged on Enterprise plans
  and Claude API accounts since v2.1.278.

P3 (English only): full AGENTS.md section in 02-memory; omitClaudeMd
subagent field; plugin eval / --json / --accept-command / --marketplace;
maxEffortLevel, bashEditDiffEnabled, syncClaudeAi*, 4 env vars,
--system-prompt-snapshot, --plugin-dir folders; send-now key and Monitor
deadlines; checkpoints subagent-edit limitation.

Learning skills audited clean: 100 quiz questions and 100 Review
pointers all valid, 20 self-assessment options correctly mapped.

Cross-file anchors: 15 broken before, 15 after, 0 introduced.

* docs: address review — stale version stamps, /output-style re-add, permission tables
2026-09-20 01:15:34 +02:00

213 lines
5.8 KiB
JSON

{
"description": "Example Claude Code settings.json configurations for different use cases",
"examples": {
"development": {
"name": "Development Environment",
"description": "Configuration for active development work: auto-accept edits, prompt for commands, format/lint on write",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "acceptEdits",
"allow": ["Bash(npm run *)", "Bash(git diff:*)", "Bash(git status:*)"]
},
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{ "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/format-and-lint.sh" }
]
}
]
}
}
},
"code_review": {
"name": "Code Review Mode",
"description": "Configuration for reviewing code without modifications",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "plan"
},
"env": {
"CLAUDE_CODE_EFFORT_LEVEL": "high"
}
}
},
"learning": {
"name": "Learning Mode",
"description": "Configuration for learning and experimentation: prompt before every action, checkpoint often",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "manual"
},
"env": {
"CLAUDE_CODE_EFFORT_LEVEL": "high"
},
"fileCheckpointingEnabled": true
}
},
"production": {
"name": "Production Deployment",
"description": "Configuration for production operations with safety checks",
"config": {
"model": "claude-opus-5",
"permissions": {
"defaultMode": "manual",
"deny": ["Bash(git push --force*)", "Bash(rm -rf*)"]
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/pre-commit.sh" }
]
}
]
},
"fileCheckpointingEnabled": true
}
},
"ci_cd": {
"name": "CI/CD Pipeline",
"description": "Configuration for automated CI/CD operations, run non-interactively via `claude -p`",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "acceptEdits",
"allow": ["Bash(npm test:*)", "Bash(npm run build:*)", "Bash(npm run lint:*)"]
},
"env": {
"CI": "true"
}
}
},
"security_audit": {
"name": "Security Audit",
"description": "Configuration for security-focused code analysis",
"config": {
"model": "claude-opus-5",
"permissions": {
"defaultMode": "plan"
},
"env": {
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"hooks": {
"PostToolUse": [
{
"matcher": "Read",
"hooks": [
{ "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/security-scan.sh" }
]
}
]
}
}
},
"performance_optimization": {
"name": "Performance Optimization",
"description": "Configuration for performance analysis and optimization",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "acceptEdits"
},
"fileCheckpointingEnabled": true
}
},
"pair_programming": {
"name": "Pair Programming",
"description": "Configuration for collaborative development",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "manual"
},
"env": {
"CLAUDE_CODE_EFFORT_LEVEL": "high"
}
}
},
"refactoring": {
"name": "Large Refactoring",
"description": "Configuration for major refactoring work: backup before edits, run related tests after",
"config": {
"model": "claude-opus-5",
"permissions": {
"defaultMode": "manual",
"allow": ["Bash(npm test -- --findRelatedTests *)"]
},
"fileCheckpointingEnabled": true,
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [
{ "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/backup-file.sh" }
]
}
],
"PostToolUse": [
{
"matcher": "Edit",
"hooks": [
{ "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/run-related-tests.sh" }
]
}
]
}
}
},
"autonomous": {
"name": "Autonomous Development",
"description": "Configuration for autonomous work with auto mode's background safety classifier plus a filesystem/network sandbox",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "auto"
},
"sandbox": {
"enabled": true,
"failIfUnavailable": false
}
}
},
"documentation": {
"name": "Documentation Writing",
"description": "Configuration for writing documentation",
"config": {
"model": "claude-sonnet-5",
"permissions": {
"defaultMode": "acceptEdits",
"allow": ["Edit(**/*.md)"]
},
"hooks": {
"PostToolUse": [
{
"matcher": "Write",
"hooks": [
{ "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/markdownlint.sh" }
]
}
]
}
}
}
}
}