- In short
- A Claude Code configuration strategy for teams is a deliberate plan for which scope each instruction belongs to: team-wide standards in the committed project CLAUDE.md, package-specific conventions in directory-level files, and personal preferences in user-level config or a gitignored CLAUDE.local.md. Modular organisation with @import and .claude/rules/ keeps the shared configuration maintainable as it grows.
What a Claude Code configuration strategy is
A Claude Code configuration strategy is the deliberate, up-front decision about where each kind of instruction lives so that a whole team stays consistent without trampling on individual preferences. The earlier knowledge points gave you the raw materials, the scopes, what version control shares, and how to keep files modular. This one asks you to compose those materials into a coherent design, which is why it sits at the apply level: you are not recalling rules, you are architecting a setup.
The motivation is that the wrong placement causes problems in both directions. Put personal taste in the shared project file and you impose your habits on everyone who clones the repo. Put a team standard in your personal file and only you benefit while the team drifts. A good strategy routes every instruction to the scope that matches its intended audience, so the team converges on shared standards and individuals keep the freedom to customise their own experience.
- Configuration strategy for teams
- A plan that assigns each instruction to the right scope: team-wide standards to the committed project CLAUDE.md, package-specific conventions to directory-level CLAUDE.md files, and personal preferences to user-level config or a gitignored CLAUDE.local.md, with @import and .claude/rules/ keeping the shared configuration modular and maintainable.
The placement rules that drive the strategy
Everything in the strategy comes down to matching a rule's audience to a scope. Four placements cover almost every case.
Team-wide standards go in the project CLAUDE.md. Build and test commands, naming conventions, architectural decisions, the workflows everyone must follow, these are about the codebase, not about any one person, so they belong in the committed ./CLAUDE.md (or ./.claude/CLAUDE.md). Version control then guarantees every current and future contributor receives them with no extra setup.
Package-specific conventions go in directory-level files. In a monorepo, the API package and the frontend package often need different rules. A CLAUDE.md inside each package keeps those conventions where they apply and out of everyone else's context, loading on demand when Claude works in that subtree.
Personal preferences go in user-level config. A tone you like, a personal shortcut, a habit that is genuinely yours belongs in ~/.claude/CLAUDE.md, which follows you across projects and is shared with no one. For preferences that are personal but tied to one project, such as a local sandbox URL, use a gitignored CLAUDE.local.md instead, so it stays on your machine without leaking into the shared file.
Keep the shared configuration modular. As the project file grows, use @import to pull in existing docs and move topic-specific rules into .claude/rules/ files, so the committed configuration stays readable and each piece is reviewable on its own.
A test you can apply to any rule
Designing the strategy is easier with one guiding question for each instruction: would a new teammate want this too? If the answer is yes, it is a team standard and belongs in the committed project file so the new teammate actually receives it. If the answer is 'that is just my preference', it is personal and belongs in your user config or CLAUDE.local.md. The question works because it directly surfaces the audience, which is the only thing that determines correct placement.
This single test resolves most of the hard cases. A linter command everyone should run? A new teammate wants it, so project-level. An instruction to always explain reasoning in a chatty tone you happen to like? A new teammate may not, so personal. The test also guards against the most damaging mistake, quietly mixing personal taste into the shared file, by forcing you to articulate who the rule is really for before you commit it.
Designing a strategy in practice
The example pulls the placements together into one coherent setup, which is precisely the kind of design task the exam poses.
Worked example
A 6-person team works in a monorepo with an api package and a web package. They want: a shared lint-before-commit rule for everyone; API-only rules that all endpoints validate input; web-only rules about component naming; and one engineer wants Claude to always address them informally and to use their personal local database URL for this project. Design the configuration.
Take each requirement and ask who it serves. The lint-before-commit rule is for everyone, a new teammate would absolutely want it, so it goes in the committed project ./CLAUDE.md. That single placement makes it apply across both packages for every developer, present and future.
The API-only and web-only rules are team standards but scoped to one part of the tree, so they go in directory-level files: api/CLAUDE.md for the endpoint-validation rule and web/CLAUDE.md for the component-naming rule. Each loads on demand when Claude works in that package, keeping the API rules out of web sessions and vice versa, while still reaching every developer through version control.
The two personal requests split by nature. 'Address me informally' is a preference about the engineer across all their work, so it belongs in their ~/.claude/CLAUDE.md, where it follows them everywhere and bothers no one else. The personal local database URL is personal and specific to this project, so it goes in a gitignored CLAUDE.local.md at the project root, private to that engineer's checkout. Critically, neither of these goes in the shared project file, because forcing one engineer's tone or sandbox URL onto five teammates is exactly the failure this strategy exists to prevent.
Finally, plan for growth. As the project CLAUDE.md accumulates standards, keep it modular: import the existing contributing guide rather than restating it, and move clusters like testing or security conventions into .claude/rules/ files so the committed configuration stays short and each topic is independently reviewable. The result is a setup where the team is consistent by construction and individuals still get the personalisation they asked for.
Common misreadings to avoid
Both anti-patterns below come from ignoring the audience question and placing rules by convenience instead.
Misconception
To make sure my useful personal tweaks help the project, I should add them to the project CLAUDE.md.
What's actually true
Misconception
The strategy is just to put every rule the team needs into one big project CLAUDE.md.
What's actually true
Where settings end and CLAUDE.md begins
A complete configuration strategy also recognises a boundary that scenarios sometimes probe: CLAUDE.md is behavioural guidance, not enforcement. Instructions in CLAUDE.md shape what Claude tends to do, but they are advisory and Claude can deviate. When a team needs a rule that must hold regardless of what the model decides, blocking writes to a protected directory, denying a dangerous command, locking an environment variable, that belongs in settings, not in CLAUDE.md. Managed settings are enforced by the client itself, so they hold whatever the model concludes.
The practical division is clean and worth carrying into the exam. Use CLAUDE.md for code style, conventions, workflows, and architectural context, the things you want Claude to follow and that benefit from being explained. Use settings for hard guarantees, permissions and policy that should never depend on the model's judgement. A team strategy that tries to enforce a non-negotiable rule purely through CLAUDE.md wording is making a category error; the correct design routes enforcement to settings and reserves the configuration files for guidance. Recognising which kind of requirement you are looking at is itself part of placing it correctly.
Evolving the strategy as the team grows
A configuration strategy is not a one-time setup; it is something you maintain as the team and codebase change. Early on, a single short project CLAUDE.md plus a couple of personal user files is often enough. As more packages appear, directory-level files earn their place. As the shared file accumulates standards, modular organisation with imports and .claude/rules/ keeps it readable. The strategy is healthiest when each addition is placed by the same audience question that started it, rather than dropped into whichever file is most convenient at the moment.
Two maintenance habits keep a growing setup from decaying. The first is periodic pruning of the shared configuration: conflicting or stale instructions reduce adherence, so reviewing the committed files and removing what no longer applies is as valuable as adding new rules. The second is guarding the personal-versus-shared boundary on every change, resisting the easy slide of dropping a personal tweak into the project file because it happens to be open. A team whose configuration stays cleanly scoped as it scales is a team whose assistant stays consistent as it scales, and that durability over time is the real deliverable of a good strategy.
Putting the strategy on one page
If you distil the whole approach to a single sentence, it is this: commit what the team needs, keep personal things personal, scope narrow rules to their directory, route hard guarantees to settings, and keep the shared file modular. Every decision in a real setup is an instance of that sentence applied to one more instruction. When you are unsure where something belongs, returning to the audience question, who is this actually for, resolves the doubt faster than any rule of thumb about file names or directory layout.
The payoff of getting this right compounds quietly. A team that places instructions thoughtfully spends almost no time wondering why Claude behaves differently for different people, because by construction it does not. The configuration becomes a dependable, almost invisible part of the toolchain rather than a recurring source of confusion, and new members become productive from their first session because everything they need arrived with the repository they cloned.
How this shows up on the exam
This capstone of task statement 3.1 is tested at the apply level, so expect a scenario that hands you a mix of requirements, some team-wide, some package-specific, some personal, and asks you to place each one correctly. Within Domain 3's 20 percent of the exam, these questions reward the same instinct every time: route by audience, commit what everyone needs, keep personal things personal, scope narrow rules to their directory, and keep the shared file modular. If your design separates the shared from the personal cleanly, you are demonstrating the full configuration-strategy competency the certification is looking for.
A team lead is setting up Claude Code for a monorepo. They want test conventions that apply to everyone, infrastructure rules that apply only inside the terraform/ directory, and their own preference to have Claude respond tersely. Which placement plan is correct?
People also ask
Where should team-wide Claude Code standards go?
Should personal preferences go in the project CLAUDE.md?
What goes in a user CLAUDE.md versus a project CLAUDE.md?
Watch and learn
Official Anthropic Academy lessons first, then hand-picked walkthroughs. Videos load only when you press play.
Claude Code best practices | Code w/ Claude
Why watch: Anthropic's authoritative session on structuring CLAUDE.md for teams, covering where shared standards versus personal preferences belong.
More videos for this concept
References & primary sources
- Claude Code Docs: Choose where to put CLAUDE.md & manage CLAUDE.md for large teamsPrimary source
- Anthropic Engineering: Check CLAUDE.md into git so your team can contributeDocs
- Claude Code Docs: Settings files and managed policy precedenceDocs
- Claude Code Docs: Settings, scopes and enforced managed policyPrimary source
Master this concept with Archie
Practice it inside an adaptive study session. Archie, your Socratic AI tutor, tracks your mastery with Bayesian Knowledge Tracing and schedules the perfect next review.