D applies configuration as code and is the answer explicitly selected in the supplied examination source. Claude Code treats project configuration as part of the repository's working context. Anthropic documents project-level CLAUDE.md as the mechanism for providing project instructions and context, while shared project configuration belongs in .claude/settings.json. Crucially, Anthropic states that .claude/settings.json is intended to be checked into source control and shared with the team .
Keeping these files alongside the code establishes a single versioned relationship between application behavior and the configuration that influences Claude Code. Standard pull requests then provide diffs, peer review, ownership controls, CI validation, audit history, and straightforward rollback. A particular commit can therefore reproduce both source code and its associated Claude project configuration.
A creates competing copies and synchronization risk. B artificially separates behavior configuration from the code version it affects. C creates the same problem specifically for settings.json.
Developer-local values remain distinct: .claude/settings.local.json exists specifically for settings that should not be committed.
Relevant Claude Developer topics: Confia Management, CLAUDE.md, settings.json, configuration as code, source control, pull-request review, reproducibility, auditability, and team-shared Claude Code configuration .