The @path Import Syntax
Modularize with @./standards/coding-style.md references.
The @path Import Syntax is a free Claude Architect lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Claude Architect learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Why Modularize CLAUDE.md
A single, ever-growing CLAUDE.md becomes hard to read and burns context tokens on every turn. The @path import syntax lets you split rules into focused files and pull them in by reference.
Instead of pasting 400 lines of coding standards directly, you write one line that imports them. The result: a lean top-level file that stays readable while the details live in dedicated, reusable modules.
The Basic Import
An import is just a line beginning with @ followed by a path. When Claude Code loads your CLAUDE.md, it inlines the referenced file's contents at that point.
Use a relative path from the file doing the importing. The example below pulls a shared coding-style module into the project memory.
# CLAUDE.md
## Project Standards
@./standards/coding-style.md
@./standards/testing.mdRelative vs Absolute Paths
Paths are resolved relative to the file that contains the import. @./standards/coding-style.md looks for a standards/ folder next to your CLAUDE.md.
@./standards/coding-style.md— sibling subfolder (most common, VCS-friendly)@../shared/rules.md— parent directory- Keep imports inside the repo so teammates who clone the project get the same modules.
A Clean Modular Layout
Group related rules into small files under a standards/ directory, then import each one. Each module has a single responsibility, so you can update testing rules without touching style rules.
This mirrors good code design: small, named, composable units beat one giant file.
.
├── CLAUDE.md # imports the modules below
└── standards/
├── coding-style.md
├── testing.md
└── git-workflow.mdImports Respect the Hierarchy
CLAUDE.md has layers: user-level ~/.claude/CLAUDE.md (personal, NOT shared via VCS), project-level ./CLAUDE.md (shared via VCS), and directory-level files scoped to a subtree.
@path imports work within any of these. Because a user-level file is not shared, new teammates miss it — so put rules that the whole team needs in a project-level file (and its imports), not in your personal one.
Shared, Not Personal
The whole point of importing @./standards/coding-style.md from a project CLAUDE.md is that the path and the file both live in version control. Clone the repo, and the standards come with it.
Contrast that with a rule buried in ~/.claude/CLAUDE.md: it only exists on your machine. A teammate's Claude session would never see it. Modular project imports keep guidance consistent across the team.
# Shared with the team (committed):
# ./CLAUDE.md -> @./standards/coding-style.md
# Personal only (NOT committed, teammates miss it):
# ~/.claude/CLAUDE.mdImports Always Load
Anything you @import from CLAUDE.md is part of the context on every turn the file is active. That is great for rules that always apply — naming conventions, commit format, review expectations.
But it also means every imported line costs tokens continuously. Import what is always relevant; for rules that only matter sometimes, there is a better tool (next scene).
When @import Is the Wrong Tool
If a rule only applies while editing certain files, don't bloat the always-loaded context with it. Use .claude/rules/ files with YAML frontmatter instead.
A paths glob makes the rule load only when you edit a matching file — saving context and tokens versus a monolithic always-on CLAUDE.md.
---
paths:
- "src/**/*.tsx"
---
# React component rules
Use function components and hooks; no class components.Choosing Between Them
Two complementary mechanisms:
- @path imports in CLAUDE.md — for rules that should always be in context (project-wide standards). Modularizes the file; everything still loads every turn.
- .claude/rules/ with paths frontmatter — for rules that should load conditionally, only when editing matching files. Saves tokens.
An architect picks based on whether the guidance is universal or file-scoped.
Composing Modules
You can import several modules from one CLAUDE.md, mixing concerns cleanly. Keep the top file as an index that explains structure, and let each import carry the detail.
Because imports are plain references, you can reorder, add, or remove a module without rewriting the rest — exactly the maintainability win modular config is meant to deliver.
# CLAUDE.md
This project's rules are modular. See:
@./standards/coding-style.md
@./standards/testing.md
@./standards/git-workflow.md
@./standards/security.mdEditing and Persisting
You don't have to hand-edit memory files. The /memory command edits CLAUDE.md, and those changes persist across sessions — handy for adding a new @import line as your standards grow.
Keep the imported modules themselves under version control so the persisted rules and their references stay in sync for everyone on the team.
# In Claude Code:
/memory
# Add to CLAUDE.md, then save:
@./standards/coding-style.mdQuick Check
Apply what you've learned about @path imports and the CLAUDE.md hierarchy.
Recap
Key takeaways:
- @path imports (e.g.
@./standards/coding-style.md) modularize CLAUDE.md; paths resolve relative to the importing file. - Imported content loads on every turn — use it for universal, always-relevant rules.
- Put shared standards in a project-level CLAUDE.md (shared via VCS), not user-level (~/.claude/, personal and missed by teammates).
- For rules that apply only to certain files, prefer
.claude/rules/with apathsfrontmatter glob to save context and tokens. /memoryedits CLAUDE.md and persists changes across sessions.
Frequently asked questions
Is the “The @path Import Syntax” lesson free?
Yes — the full text of “The @path Import Syntax” is free to read here on the web, and the Claude Architect course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Claude Architect course, upgrade to CoddyKit PRO.
What will I learn in “The @path Import Syntax”?
Modularize with @./standards/coding-style.md references. You practise Claude Architect with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Claude Architect?
No prior experience is required. Claude Architect on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “The @path Import Syntax” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Claude Architect lesson?
Yes. Every Claude Architect lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.