Skip to content

Split CLAUDE.md into topic files under .claude/docs/ - #6952

Merged
delchev merged 1 commit into
masterfrom
claude-md-split
Aug 27, 2026
Merged

Split CLAUDE.md into topic files under .claude/docs/#6952
delchev merged 1 commit into
masterfrom
claude-md-split

Conversation

@delchev

@delchev delchev commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

What

CLAUDE.md grew into a single 545-line file mixing behavioral guidelines, build/run instructions, architecture notes, UI gotchas, and CI reference. This splits it by topic into 18 files under .claude/docs/ and turns CLAUDE.md into a slim index that inlines them via @-imports in the original order — the assembled context Claude Code sees is byte-identical (verified by diffing the concatenation of the topic files against origin/master:CLAUDE.md).

  • .claude/docs/behavioral-guidelines, project-build-run, repository-layout, synchronizer-model, client-java, intent-layer, model-generation, harmonia-ui, shells, document-templates, native-apps, tenants, conventions, blimpkit, java-debugger, messaging, external-docs, ci
  • CLAUDE.md — title + intro + one @.claude/docs/<topic>.md line per file; the index states the editing convention (edit topic files, add new topics as file + import line)
  • .gitignore!.claude/docs/ next to the existing .claude/* exceptions, so the topic files are tracked

Also

Extends the team permission allowlist in .claude/settings.json with read-only commands that prompt frequently in practice: git fetch, gh search, mvn formatter:validate (plain and -T 1C forms).

Why

Topic files are easier to maintain and review than one monolith, and module guides can link to a specific topic instead of "see CLAUDE.md". No content was changed or reworded.

🤖 Generated with Claude Code

CLAUDE.md grew to a single 545-line file mixing behavioral guidelines,
build/run instructions, architecture, UI gotchas, and CI reference.
Split it by topic into 18 files under .claude/docs/ and turn CLAUDE.md
into a slim index that inlines them via @-imports in the original
order, so the assembled context is byte-identical. .gitignore gets a
!.claude/docs/ entry next to the existing .claude/* exceptions so the
topic files are tracked.

Also extend the team permission allowlist in .claude/settings.json
with read-only commands observed to prompt frequently (git fetch,
gh search, mvn formatter:validate).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@delchev
delchev merged commit 4568990 into master Aug 27, 2026
9 checks passed
@delchev
delchev deleted the claude-md-split branch August 27, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant