Wire this repo into the shared values framework so agents working here load the
right domain context automatically instead of relying on judgment.
What to do
Add this section to this repo's CLAUDE.md (create the file if it does not exist):
## Domain context — read this first
**Before doing any work in this repo, read `~/.claude/memory/values/infrastructure.md`.**
It carries the purpose, direction, and constraints for this domain. It is not optional
context — read it before planning or writing code, not after. (An `@` import will not
work here; project-level imports don't preload. The read is the mechanism.)
Layer for this repo: infrastructure
Why an instruction rather than an @ import
Verified empirically on 2026-08-07: @ imports resolve in ~/.claude/CLAUDE.md but do not preload from a project-level CLAUDE.md, even in a trusted workspace. An
imperative instruction does work — the agent reads the file when told to.
Prerequisite (already done globally)
~/.claude/memory/values/ is in permissions.additionalDirectories as of dotfiles3
commit b0698b9. Without it the read is permission-blocked and fails silently.
Verify
From a session in this repo:
claude -p "What domain context applies to this repo, and where did you read it?"
The agent should read ~/.claude/memory/values/infrastructure.md and answer from it.
Wire this repo into the shared values framework so agents working here load the
right domain context automatically instead of relying on judgment.
## What to do
Add this section to this repo's `CLAUDE.md` (create the file if it does not exist):
```markdown
## Domain context — read this first
**Before doing any work in this repo, read `~/.claude/memory/values/infrastructure.md`.**
It carries the purpose, direction, and constraints for this domain. It is not optional
context — read it before planning or writing code, not after. (An `@` import will not
work here; project-level imports don't preload. The read is the mechanism.)
```
Layer for this repo: **infrastructure**
## Why an instruction rather than an `@` import
Verified empirically on 2026-08-07: `@` imports resolve in `~/.claude/CLAUDE.md` but do
**not** preload from a project-level `CLAUDE.md`, even in a trusted workspace. An
imperative instruction does work — the agent reads the file when told to.
## Prerequisite (already done globally)
`~/.claude/memory/values/` is in `permissions.additionalDirectories` as of dotfiles3
commit `b0698b9`. Without it the read is permission-blocked and fails silently.
## Verify
From a session in this repo:
```
claude -p "What domain context applies to this repo, and where did you read it?"
```
The agent should read `~/.claude/memory/values/infrastructure.md` and answer from it.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wire this repo into the shared values framework so agents working here load the
right domain context automatically instead of relying on judgment.
What to do
Add this section to this repo's
CLAUDE.md(create the file if it does not exist):Layer for this repo: infrastructure
Why an instruction rather than an
@importVerified empirically on 2026-08-07:
@imports resolve in~/.claude/CLAUDE.mdbut donot preload from a project-level
CLAUDE.md, even in a trusted workspace. Animperative instruction does work — the agent reads the file when told to.
Prerequisite (already done globally)
~/.claude/memory/values/is inpermissions.additionalDirectoriesas of dotfiles3commit
b0698b9. Without it the read is permission-blocked and fails silently.Verify
From a session in this repo:
The agent should read
~/.claude/memory/values/infrastructure.mdand answer from it.