[{"data":1,"prerenderedAt":1372},["ShallowReactive",2],{"content-/claude-code-modular-rules":3,"all-pages-for-dir":1349,"related-/claude-code-modular-rules":1350,"og-image-/claude-code-modular-rules":1371},{"id":4,"title":5,"body":6,"category":1335,"concepts":1335,"description":1336,"extension":1337,"meta":1338,"navigation":138,"ogImage":1335,"path":1339,"project_name":1335,"published":1340,"publishedAt":1341,"seo":1342,"source":1335,"stem":1343,"tags":1344,"todo":1335,"unpublished":1340,"updatedAt":1341,"__hash__":1348},"pages/2025-12/2025-12-11/claude-code-modular-rules.md","Claude Code - Modular Rules（モジュラールール）機能まとめ",{"type":7,"value":8,"toc":1294},"minimark",[9,13,17,31,34,37,47,51,84,87,94,98,183,187,247,250,283,286,323,335,339,343,362,366,371,463,468,473,509,514,551,555,657,660,666,669,688,691,708,716,719,729,735,738,741,855,858,956,959,963,966,971,989,994,1002,1006,1012,1016,1022,1026,1032,1036,1044,1048,1051,1054,1057,1063,1069,1115,1118,1165,1168,1172,1178,1182,1250,1253,1276,1279,1290],[10,11,5],"h1",{"id":12},"claude-code-modular-rulesモジュラールール機能まとめ",[14,15,16],"h2",{"id":16},"概要",[18,19,20,21,30],"p",{},"Claude Codeに新しく追加された機能で、大規模プロジェクトにおいて",[22,23,24,25,29],"strong",{},"1つの大きな",[26,27,28],"code",{},"CLAUDE.md","ファイルの代わりに複数のルールファイルに分割して整理","できるようになった。",[18,32,33],{},"これにより、チームでの管理がしやすくなり、目的別にルールを整理できる。",[14,35,36],{"id":36},"基本構造",[38,39,44],"pre",{"className":40,"code":42,"language":43},[41],"language-text","your-project/\n├── CLAUDE.md                    # メインのプロジェクト指示（スリム化）\n├── .claude/\n│   ├── CLAUDE.md               # または .claude/CLAUDE.md（代替位置）\n│   └── rules/\n│       ├── code-style.md       # コードスタイルガイドライン\n│       ├── testing.md          # テスト規約\n│       ├── security.md         # セキュリティ要件\n│       ├── frontend/\n│       │   ├── react.md\n│       │   └── styles.md\n│       └── backend/\n│           ├── api.md\n│           └── database.md\n","text",[26,45,42],{"__ignoreMap":46},"",[48,49,50],"h3",{"id":50},"ポイント",[52,53,54,68,78,81],"ul",{},[55,56,57,60,61,64,65],"li",{},[26,58,59],{},".claude/rules/"," 内のすべての ",[26,62,63],{},".md"," ファイルは",[22,66,67],{},"自動的に読み込まれる",[55,69,70,73,74,77],{},[26,71,72],{},".claude/CLAUDE.md"," と",[22,75,76],{},"同じ優先度","で適用される",[55,79,80],{},"ファイル数に制限なし",[55,82,83],{},"明示的なインポート不要",[14,85,86],{"id":86},"パス指定によるルールの条件適用",[18,88,89,90,93],{},"YAMLフロントマターを使って、",[22,91,92],{},"特定のファイルパターンにのみルールを適用","できる。",[48,95,97],{"id":96},"例api関連ファイルにのみ適用するルール","例：API関連ファイルにのみ適用するルール",[38,99,103],{"className":100,"code":101,"language":102,"meta":46,"style":46},"language-markdown shiki shiki-themes vitesse-light vitesse-light","---\npaths: src/api/**/*.ts\n---\n\n# API開発ルール\n\n- すべてのAPIエンドポイントには入力バリデーションを含める\n- 標準エラーレスポンス形式を使用する\n- OpenAPIドキュメントコメントを含める\n","markdown",[26,104,105,114,128,133,140,151,156,167,175],{"__ignoreMap":46},[106,107,110],"span",{"class":108,"line":109},"line",1,[106,111,113],{"class":112},"shFtX","---\n",[106,115,117,121,124],{"class":108,"line":116},2,[106,118,120],{"class":119},"sz8Xr","paths",[106,122,123],{"class":112},":",[106,125,127],{"class":126},"sdGka"," src/api/**/*.ts\n",[106,129,131],{"class":108,"line":130},3,[106,132,113],{"class":112},[106,134,136],{"class":108,"line":135},4,[106,137,139],{"emptyLinePlaceholder":138},true,"\n",[106,141,143,147],{"class":108,"line":142},5,[106,144,146],{"class":145},"sFA8A","#",[106,148,150],{"class":149},"syTZV"," API開発ルール\n",[106,152,154],{"class":108,"line":153},6,[106,155,139],{"emptyLinePlaceholder":138},[106,157,159,163],{"class":108,"line":158},7,[106,160,162],{"class":161},"snbK4","-",[106,164,166],{"class":165},"sG7-3"," すべてのAPIエンドポイントには入力バリデーションを含める\n",[106,168,170,172],{"class":108,"line":169},8,[106,171,162],{"class":161},[106,173,174],{"class":165}," 標準エラーレスポンス形式を使用する\n",[106,176,178,180],{"class":108,"line":177},9,[106,179,162],{"class":161},[106,181,182],{"class":165}," OpenAPIドキュメントコメントを含める\n",[48,184,186],{"id":185},"globパターンの例","Globパターンの例",[188,189,190,203],"table",{},[191,192,193],"thead",{},[194,195,196,200],"tr",{},[197,198,199],"th",{},"パターン",[197,201,202],{},"対象",[204,205,206,217,227,237],"tbody",{},[194,207,208,214],{},[209,210,211],"td",{},[26,212,213],{},"**/*.ts",[209,215,216],{},"任意のディレクトリ内の全TypeScript",[194,218,219,224],{},[209,220,221],{},[26,222,223],{},"src/**/*",[209,225,226],{},"srcディレクトリ以下のすべてのファイル",[194,228,229,234],{},[209,230,231],{},[26,232,233],{},"*.md",[209,235,236],{},"プロジェクトルート内のMarkdown",[194,238,239,244],{},[209,240,241],{},[26,242,243],{},"src/components/*.tsx",[209,245,246],{},"特定ディレクトリのReactコンポーネント",[48,248,249],{"id":249},"複数パターンの組み合わせ",[38,251,253],{"className":100,"code":252,"language":102,"meta":46,"style":46},"---\npaths: src/**/*.{ts,tsx}\n---\n\n# TypeScript/React Rules\n",[26,254,255,259,268,272,276],{"__ignoreMap":46},[106,256,257],{"class":108,"line":109},[106,258,113],{"class":112},[106,260,261,263,265],{"class":108,"line":116},[106,262,120],{"class":119},[106,264,123],{"class":112},[106,266,267],{"class":126}," src/**/*.{ts,tsx}\n",[106,269,270],{"class":108,"line":130},[106,271,113],{"class":112},[106,273,274],{"class":108,"line":135},[106,275,139],{"emptyLinePlaceholder":138},[106,277,278,280],{"class":108,"line":142},[106,279,146],{"class":145},[106,281,282],{"class":149}," TypeScript/React Rules\n",[18,284,285],{},"カンマで複数パターンを結合：",[38,287,289],{"className":100,"code":288,"language":102,"meta":46,"style":46},"---\npaths: {src,lib}/**/*.ts, tests/**/*.test.ts\n---\n",[26,290,291,295,319],{"__ignoreMap":46},[106,292,293],{"class":108,"line":109},[106,294,113],{"class":112},[106,296,297,299,301,304,307,310,313,316],{"class":108,"line":116},[106,298,120],{"class":119},[106,300,123],{"class":112},[106,302,303],{"class":112}," {",[106,305,306],{"class":126},"src",[106,308,309],{"class":112},",",[106,311,312],{"class":126},"lib",[106,314,315],{"class":112},"}",[106,317,318],{"class":126},"/**/*.ts, tests/**/*.test.ts\n",[106,320,321],{"class":108,"line":130},[106,322,113],{"class":112},[324,325,326],"blockquote",{},[18,327,328,331,332,334],{},[22,329,330],{},"Note",": ",[26,333,120],{}," フロントマターがないルールは、すべてのファイルに適用される。",[14,336,338],{"id":337},"claudemdからの分割方法","CLAUDE.mdからの分割方法",[48,340,342],{"id":341},"step-1-ディレクトリ作成","Step 1: ディレクトリ作成",[38,344,348],{"className":345,"code":346,"language":347,"meta":46,"style":46},"language-bash shiki shiki-themes vitesse-light vitesse-light","mkdir -p .claude/rules\n","bash",[26,349,350],{"__ignoreMap":46},[106,351,352,356,359],{"class":108,"line":109},[106,353,355],{"class":354},"senZ8","mkdir",[106,357,358],{"class":161}," -p",[106,360,361],{"class":126}," .claude/rules\n",[48,363,365],{"id":364},"step-2-トピック別にルールを分割","Step 2: トピック別にルールを分割",[18,367,368],{},[22,369,370],{},"元のCLAUDE.md（大きい）：",[38,372,374],{"className":100,"code":373,"language":102,"meta":46,"style":46},"# CLAUDE.md\n\n## Architecture\n...\n\n## Code Style\n- 2-space indentation\n- camelCase for variables\n...\n\n## Testing\n- 80%+ coverage required\n- Use Jest\n...\n",[26,375,376,383,387,395,400,404,411,418,425,429,434,442,450,458],{"__ignoreMap":46},[106,377,378,380],{"class":108,"line":109},[106,379,146],{"class":145},[106,381,382],{"class":149}," CLAUDE.md\n",[106,384,385],{"class":108,"line":116},[106,386,139],{"emptyLinePlaceholder":138},[106,388,389,392],{"class":108,"line":130},[106,390,391],{"class":145},"##",[106,393,394],{"class":149}," Architecture\n",[106,396,397],{"class":108,"line":135},[106,398,399],{"class":165},"...\n",[106,401,402],{"class":108,"line":142},[106,403,139],{"emptyLinePlaceholder":138},[106,405,406,408],{"class":108,"line":153},[106,407,391],{"class":145},[106,409,410],{"class":149}," Code Style\n",[106,412,413,415],{"class":108,"line":158},[106,414,162],{"class":161},[106,416,417],{"class":165}," 2-space indentation\n",[106,419,420,422],{"class":108,"line":169},[106,421,162],{"class":161},[106,423,424],{"class":165}," camelCase for variables\n",[106,426,427],{"class":108,"line":177},[106,428,399],{"class":165},[106,430,432],{"class":108,"line":431},10,[106,433,139],{"emptyLinePlaceholder":138},[106,435,437,439],{"class":108,"line":436},11,[106,438,391],{"class":145},[106,440,441],{"class":149}," Testing\n",[106,443,445,447],{"class":108,"line":444},12,[106,446,162],{"class":161},[106,448,449],{"class":165}," 80%+ coverage required\n",[106,451,453,455],{"class":108,"line":452},13,[106,454,162],{"class":161},[106,456,457],{"class":165}," Use Jest\n",[106,459,461],{"class":108,"line":460},14,[106,462,399],{"class":165},[18,464,465],{},[22,466,467],{},"分割後：",[18,469,470,123],{},[26,471,472],{},".claude/rules/code-style.md",[38,474,476],{"className":100,"code":475,"language":102,"meta":46,"style":46},"# Code Style Guidelines\n\n- 2-space indentation\n- camelCase for variables and functions\n- PascalCase for classes\n",[26,477,478,485,489,495,502],{"__ignoreMap":46},[106,479,480,482],{"class":108,"line":109},[106,481,146],{"class":145},[106,483,484],{"class":149}," Code Style Guidelines\n",[106,486,487],{"class":108,"line":116},[106,488,139],{"emptyLinePlaceholder":138},[106,490,491,493],{"class":108,"line":130},[106,492,162],{"class":161},[106,494,417],{"class":165},[106,496,497,499],{"class":108,"line":135},[106,498,162],{"class":161},[106,500,501],{"class":165}," camelCase for variables and functions\n",[106,503,504,506],{"class":108,"line":142},[106,505,162],{"class":161},[106,507,508],{"class":165}," PascalCase for classes\n",[18,510,511,123],{},[26,512,513],{},".claude/rules/testing.md",[38,515,517],{"className":100,"code":516,"language":102,"meta":46,"style":46},"# Testing Conventions\n\n- 80%+ code coverage required\n- Use Jest for unit tests\n- Integration tests in separate directory\n",[26,518,519,526,530,537,544],{"__ignoreMap":46},[106,520,521,523],{"class":108,"line":109},[106,522,146],{"class":145},[106,524,525],{"class":149}," Testing Conventions\n",[106,527,528],{"class":108,"line":116},[106,529,139],{"emptyLinePlaceholder":138},[106,531,532,534],{"class":108,"line":130},[106,533,162],{"class":161},[106,535,536],{"class":165}," 80%+ code coverage required\n",[106,538,539,541],{"class":108,"line":135},[106,540,162],{"class":161},[106,542,543],{"class":165}," Use Jest for unit tests\n",[106,545,546,548],{"class":108,"line":142},[106,547,162],{"class":161},[106,549,550],{"class":165}," Integration tests in separate directory\n",[48,552,554],{"id":553},"step-3-claudemdをスリム化","Step 3: CLAUDE.mdをスリム化",[38,556,558],{"className":100,"code":557,"language":102,"meta":46,"style":46},"# CLAUDE.md\n\nQuick reference for this project.\n\n## Modular Rules\n\nDetailed rules in `.claude/rules/`:\n- `architecture.md` - Project structure\n- `code-style.md` - Coding conventions\n- `testing.md` - Test requirements\n\nThese rules are automatically loaded.\n",[26,559,560,566,570,575,579,586,590,605,620,634,648,652],{"__ignoreMap":46},[106,561,562,564],{"class":108,"line":109},[106,563,146],{"class":145},[106,565,382],{"class":149},[106,567,568],{"class":108,"line":116},[106,569,139],{"emptyLinePlaceholder":138},[106,571,572],{"class":108,"line":130},[106,573,574],{"class":165},"Quick reference for this project.\n",[106,576,577],{"class":108,"line":135},[106,578,139],{"emptyLinePlaceholder":138},[106,580,581,583],{"class":108,"line":142},[106,582,391],{"class":145},[106,584,585],{"class":149}," Modular Rules\n",[106,587,588],{"class":108,"line":153},[106,589,139],{"emptyLinePlaceholder":138},[106,591,592,595,598,600,602],{"class":108,"line":158},[106,593,594],{"class":165},"Detailed rules in ",[106,596,597],{"class":112},"`",[106,599,59],{"class":165},[106,601,597],{"class":112},[106,603,604],{"class":165},":\n",[106,606,607,609,612,615,617],{"class":108,"line":169},[106,608,162],{"class":161},[106,610,611],{"class":112}," `",[106,613,614],{"class":165},"architecture.md",[106,616,597],{"class":112},[106,618,619],{"class":165}," - Project structure\n",[106,621,622,624,626,629,631],{"class":108,"line":177},[106,623,162],{"class":161},[106,625,611],{"class":112},[106,627,628],{"class":165},"code-style.md",[106,630,597],{"class":112},[106,632,633],{"class":165}," - Coding conventions\n",[106,635,636,638,640,643,645],{"class":108,"line":431},[106,637,162],{"class":161},[106,639,611],{"class":112},[106,641,642],{"class":165},"testing.md",[106,644,597],{"class":112},[106,646,647],{"class":165}," - Test requirements\n",[106,649,650],{"class":108,"line":436},[106,651,139],{"emptyLinePlaceholder":138},[106,653,654],{"class":108,"line":444},[106,655,656],{"class":165},"These rules are automatically loaded.\n",[14,658,659],{"id":659},"シンボリックリンク対応",[18,661,662,663,93],{},"複数プロジェクト間で",[22,664,665],{},"共通ルールを共有",[48,667,668],{"id":668},"共有ルールディレクトリをリンク",[38,670,672],{"className":345,"code":671,"language":347,"meta":46,"style":46},"ln -s ~/shared-claude-rules .claude/rules/shared\n",[26,673,674],{"__ignoreMap":46},[106,675,676,679,682,685],{"class":108,"line":109},[106,677,678],{"class":354},"ln",[106,680,681],{"class":161}," -s",[106,683,684],{"class":126}," ~/shared-claude-rules",[106,686,687],{"class":126}," .claude/rules/shared\n",[48,689,690],{"id":690},"個別ルールファイルをリンク",[38,692,694],{"className":345,"code":693,"language":347,"meta":46,"style":46},"ln -s ~/company-standards/security.md .claude/rules/security.md\n",[26,695,696],{"__ignoreMap":46},[106,697,698,700,702,705],{"class":108,"line":109},[106,699,678],{"class":354},[106,701,681],{"class":161},[106,703,704],{"class":126}," ~/company-standards/security.md",[106,706,707],{"class":126}," .claude/rules/security.md\n",[52,709,710,713],{},[55,711,712],{},"シンボリックリンクは解決され、内容が正常に読み込まれる",[55,714,715],{},"循環シンボリックリンクは検出され、適切に処理される",[14,717,718],{"id":718},"ユーザーレベルのルール",[18,720,721,724,725,728],{},[26,722,723],{},"~/.claude/rules/"," に個人用ルールを作成すると、",[22,726,727],{},"すべてのプロジェクトに適用","される。",[38,730,733],{"className":731,"code":732,"language":43},[41],"~/.claude/rules/\n├── preferences.md    # 個人のコーディング好み\n└── workflows.md      # 好みのワークフロー\n",[26,734,732],{"__ignoreMap":46},[14,736,737],{"id":737},"メモリ階層の全体像",[18,739,740],{},"Claude Codeは階層構造でメモリを読み込む：",[188,742,743,759],{},[191,744,745],{},[194,746,747,750,753,756],{},[197,748,749],{},"順位",[197,751,752],{},"メモリタイプ",[197,754,755],{},"場所",[197,757,758],{},"用途",[204,760,761,775,791,807,823,839],{},[194,762,763,766,769,772],{},[209,764,765],{},"1",[209,767,768],{},"Enterprise policy",[209,770,771],{},"システムレベル CLAUDE.md",[209,773,774],{},"組織ポリシー",[194,776,777,780,783,788],{},[209,778,779],{},"2",[209,781,782],{},"Project memory",[209,784,785],{},[26,786,787],{},"./CLAUDE.md",[209,789,790],{},"プロジェクトメモリ",[194,792,793,796,799,804],{},[209,794,795],{},"3",[209,797,798],{},"Project rules",[209,800,801],{},[26,802,803],{},"./.claude/rules/*.md",[209,805,806],{},"モジュール化されたルール",[194,808,809,812,815,820],{},[209,810,811],{},"4",[209,813,814],{},"User memory",[209,816,817],{},[26,818,819],{},"~/.claude/CLAUDE.md",[209,821,822],{},"ユーザーメモリ",[194,824,825,828,831,836],{},[209,826,827],{},"5",[209,829,830],{},"User rules",[209,832,833],{},[26,834,835],{},"~/.claude/rules/*.md",[209,837,838],{},"モジュール化された個人ルール",[194,840,841,844,847,852],{},[209,842,843],{},"6",[209,845,846],{},"Local memory",[209,848,849],{},[26,850,851],{},"./CLAUDE.local.md",[209,853,854],{},"ローカル個人設定",[48,856,857],{"id":857},"場所の詳細",[188,859,860,871],{},[191,861,862],{},[194,863,864,866,868],{},[197,865,752],{},[197,867,755],{},[197,869,870],{},"共有範囲",[204,872,873,899,914,924,935,945],{},[194,874,875,877,896],{},[209,876,768],{},[209,878,879,880,883,886,887,890,892,893],{},"macOS: ",[26,881,882],{},"/Library/Application Support/ClaudeCode/CLAUDE.md",[884,885],"br",{},"Linux: ",[26,888,889],{},"/etc/claude-code/CLAUDE.md",[884,891],{},"Windows: ",[26,894,895],{},"C:\\Program Files\\ClaudeCode\\CLAUDE.md",[209,897,898],{},"組織内全ユーザー",[194,900,901,903,911],{},[209,902,782],{},[209,904,905,907,908],{},[26,906,787],{}," または ",[26,909,910],{},"./.claude/CLAUDE.md",[209,912,913],{},"ソース管理経由でチームメンバー",[194,915,916,918,922],{},[209,917,798],{},[209,919,920],{},[26,921,803],{},[209,923,913],{},[194,925,926,928,932],{},[209,927,814],{},[209,929,930],{},[26,931,819],{},[209,933,934],{},"自分のみ",[194,936,937,939,943],{},[209,938,830],{},[209,940,941],{},[26,942,835],{},[209,944,934],{},[194,946,947,949,953],{},[209,948,846],{},[209,950,951],{},[26,952,851],{},[209,954,955],{},"自分のみ（.gitignore推奨）",[14,957,958],{"id":958},"ベストプラクティス",[48,960,962],{"id":961},"_1-ルールは焦点を絞る","1. ルールは焦点を絞る",[18,964,965],{},"各ファイルは1つのトピックをカバー：",[18,967,968],{},[22,969,970],{},"良い例：",[52,972,973,978,983],{},[55,974,975,977],{},[26,976,628],{}," - コードフォーマット規約",[55,979,980,982],{},[26,981,642],{}," - テスト方針",[55,984,985,988],{},[26,986,987],{},"api-design.md"," - API設計原則",[18,990,991],{},[22,992,993],{},"悪い例：",[52,995,996],{},[55,997,998,1001],{},[26,999,1000],{},"rules.md"," - すべてを含む（分割する意味がない）",[48,1003,1005],{"id":1004},"_2-ファイル名は説明的に","2. ファイル名は説明的に",[38,1007,1010],{"className":1008,"code":1009,"language":43},[41],"✅ Good:\n- async-patterns.md\n- database-migrations.md\n- performance-optimization.md\n\n❌ Bad:\n- rules1.md\n- misc.md\n- other.md\n",[26,1011,1009],{"__ignoreMap":46},[48,1013,1015],{"id":1014},"_3-パス指定は必要な場合のみ","3. パス指定は必要な場合のみ",[18,1017,1018,1019,1021],{},"全ファイルに適用される一般的なルールは",[26,1020,120],{},"を指定しない。",[48,1023,1025],{"id":1024},"_4-ディレクトリで関連ルールを整理","4. ディレクトリで関連ルールを整理",[38,1027,1030],{"className":1028,"code":1029,"language":43},[41],".claude/rules/\n├── frontend/          # フロントエンド関連\n│   ├── react.md\n│   └── accessibility.md\n├── backend/           # バックエンド関連\n│   ├── api.md\n│   └── database.md\n├── general.md         # 全体に適用\n└── performance.md     # パフォーマンス関連\n",[26,1031,1029],{"__ignoreMap":46},[48,1033,1035],{"id":1034},"_5-具体的に書く","5. 具体的に書く",[52,1037,1038,1041],{},[55,1039,1040],{},"❌「コードを適切にフォーマット」",[55,1042,1043],{},"✅「2スペースインデントを使用」",[48,1045,1047],{"id":1046},"_6-必要最小限に留める","6. 必要最小限に留める",[18,1049,1050],{},"ルールが多すぎるとコンテキストを消費するため、本当に必要なルールのみを記載する。",[14,1052,1053],{"id":1053},"実際の適用例",[18,1055,1056],{},"このプロジェクト（mdx-playground）での分割例：",[38,1058,1061],{"className":1059,"code":1060,"language":43},[41],".claude/rules/\n├── architecture.md        # プロジェクト構造、アーキテクチャ\n├── content-management.md  # Frontmatterルール、コンテンツ更新\n├── vue-pages.md          # Vueブログページ要件（条件付き）\n├── deployment.md         # Cloudflare Pages、開発コマンド\n└── qa-verification.md    # Chrome DevToolsによるテスト\n",[26,1062,1060],{"__ignoreMap":46},[18,1064,1065,1068],{},[26,1066,1067],{},"vue-pages.md","は条件付きルールとして設定：",[38,1070,1072],{"className":100,"code":1071,"language":102,"meta":46,"style":46},"---\npaths: apps/web/app/pages/blog/**/*.vue\n---\n\n# Vue Blog Pages Rules\n\nブログページのVueファイルを編集する時のみ適用される。\n...\n",[26,1073,1074,1078,1087,1091,1095,1102,1106,1111],{"__ignoreMap":46},[106,1075,1076],{"class":108,"line":109},[106,1077,113],{"class":112},[106,1079,1080,1082,1084],{"class":108,"line":116},[106,1081,120],{"class":119},[106,1083,123],{"class":112},[106,1085,1086],{"class":126}," apps/web/app/pages/blog/**/*.vue\n",[106,1088,1089],{"class":108,"line":130},[106,1090,113],{"class":112},[106,1092,1093],{"class":108,"line":135},[106,1094,139],{"emptyLinePlaceholder":138},[106,1096,1097,1099],{"class":108,"line":142},[106,1098,146],{"class":145},[106,1100,1101],{"class":149}," Vue Blog Pages Rules\n",[106,1103,1104],{"class":108,"line":153},[106,1105,139],{"emptyLinePlaceholder":138},[106,1107,1108],{"class":108,"line":158},[106,1109,1110],{"class":165},"ブログページのVueファイルを編集する時のみ適用される。\n",[106,1112,1113],{"class":108,"line":169},[106,1114,399],{"class":165},[48,1116,1117],{"id":1117},"分割前後の比較",[188,1119,1120,1133],{},[191,1121,1122],{},[194,1123,1124,1127,1130],{},[197,1125,1126],{},"項目",[197,1128,1129],{},"Before",[197,1131,1132],{},"After",[204,1134,1135,1145,1154],{},[194,1136,1137,1139,1142],{},[209,1138,28],{},[209,1140,1141],{},"294行",[209,1143,1144],{},"37行",[194,1146,1147,1150,1152],{},[209,1148,1149],{},"ルールファイル数",[209,1151,765],{},[209,1153,843],{},[194,1155,1156,1159,1162],{},[209,1157,1158],{},"条件付きルール",[209,1160,1161],{},"なし",[209,1163,1164],{},"1（vue-pages.md）",[14,1166,1167],{"id":1167},"活用例",[48,1169,1171],{"id":1170},"フロントエンドバックエンド分離","フロントエンド/バックエンド分離",[38,1173,1176],{"className":1174,"code":1175,"language":43},[41],".claude/rules/\n├── frontend/\n│   ├── react-conventions.md\n│   ├── css-guidelines.md\n│   └── testing.md\n├── backend/\n│   ├── api-design.md\n│   ├── database.md\n│   └── error-handling.md\n└── shared/\n    ├── git-workflow.md\n    └── code-review.md\n",[26,1177,1175],{"__ignoreMap":46},[48,1179,1181],{"id":1180},"会社標準-プロジェクト固有","会社標準 + プロジェクト固有",[38,1183,1185],{"className":345,"code":1184,"language":347,"meta":46,"style":46},"# 会社標準をシンボリックリンク\nln -s ~/company-standards .claude/rules/company\n\n# プロジェクト固有ルールは直接配置\n.claude/rules/\n├── company -> ~/company-standards  # シンボリックリンク\n└── project-specific.md             # このプロジェクト固有\n",[26,1186,1187,1193,1205,1209,1214,1219,1239],{"__ignoreMap":46},[106,1188,1189],{"class":108,"line":109},[106,1190,1192],{"class":1191},"sxvE3","# 会社標準をシンボリックリンク\n",[106,1194,1195,1197,1199,1202],{"class":108,"line":116},[106,1196,678],{"class":354},[106,1198,681],{"class":161},[106,1200,1201],{"class":126}," ~/company-standards",[106,1203,1204],{"class":126}," .claude/rules/company\n",[106,1206,1207],{"class":108,"line":130},[106,1208,139],{"emptyLinePlaceholder":138},[106,1210,1211],{"class":108,"line":135},[106,1212,1213],{"class":1191},"# プロジェクト固有ルールは直接配置\n",[106,1215,1216],{"class":108,"line":142},[106,1217,1218],{"class":354},".claude/rules/\n",[106,1220,1221,1224,1227,1230,1234,1236],{"class":108,"line":153},[106,1222,1223],{"class":354},"├──",[106,1225,1226],{"class":126}," company",[106,1228,1229],{"class":165}," -",[106,1231,1233],{"class":1232},"stQ0i",">",[106,1235,1201],{"class":126},[106,1237,1238],{"class":1191},"  # シンボリックリンク\n",[106,1240,1241,1244,1247],{"class":108,"line":158},[106,1242,1243],{"class":354},"└──",[106,1245,1246],{"class":126}," project-specific.md",[106,1248,1249],{"class":1191},"             # このプロジェクト固有\n",[14,1251,1252],{"id":1252},"まとめ",[52,1254,1255,1261,1267,1270,1273],{},[55,1256,1257,1258,1260],{},"大きなCLAUDE.mdは",[26,1259,59],{},"に分割して管理",[55,1262,1263,1264,1266],{},"条件付きルール（",[26,1265,120],{},"指定）で特定ファイルのみに適用可能",[55,1268,1269],{},"ファイルは自動的に読み込まれるので明示的なインポート不要",[55,1271,1272],{},"プロジェクトの成長に合わせてルールを整理・拡張しやすい",[55,1274,1275],{},"シンボリックリンクで複数プロジェクト間での共有も可能",[14,1277,1278],{"id":1278},"参考リンク",[52,1280,1281],{},[55,1282,1283],{},[1284,1285,1289],"a",{"href":1286,"rel":1287},"https://code.claude.com/docs/en/memory",[1288],"nofollow","Claude Code Memory Documentation",[1291,1292,1293],"style",{},"html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .sFA8A, html code.shiki .sFA8A{--shiki-default:#999999;--shiki-default-font-weight:bold;--shiki-dark:#999999;--shiki-dark-font-weight:bold}html pre.shiki code .syTZV, html code.shiki .syTZV{--shiki-default:#1C6B48;--shiki-default-font-weight:bold;--shiki-dark:#1C6B48;--shiki-dark-font-weight:bold}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}html pre.shiki code .sG7-3, html code.shiki .sG7-3{--shiki-default:#393A34;--shiki-dark:#393A34}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}",{"title":46,"searchDepth":116,"depth":116,"links":1295},[1296,1297,1300,1305,1310,1314,1315,1318,1326,1329,1333,1334],{"id":16,"depth":116,"text":16},{"id":36,"depth":116,"text":36,"children":1298},[1299],{"id":50,"depth":130,"text":50},{"id":86,"depth":116,"text":86,"children":1301},[1302,1303,1304],{"id":96,"depth":130,"text":97},{"id":185,"depth":130,"text":186},{"id":249,"depth":130,"text":249},{"id":337,"depth":116,"text":338,"children":1306},[1307,1308,1309],{"id":341,"depth":130,"text":342},{"id":364,"depth":130,"text":365},{"id":553,"depth":130,"text":554},{"id":659,"depth":116,"text":659,"children":1311},[1312,1313],{"id":668,"depth":130,"text":668},{"id":690,"depth":130,"text":690},{"id":718,"depth":116,"text":718},{"id":737,"depth":116,"text":737,"children":1316},[1317],{"id":857,"depth":130,"text":857},{"id":958,"depth":116,"text":958,"children":1319},[1320,1321,1322,1323,1324,1325],{"id":961,"depth":130,"text":962},{"id":1004,"depth":130,"text":1005},{"id":1014,"depth":130,"text":1015},{"id":1024,"depth":130,"text":1025},{"id":1034,"depth":130,"text":1035},{"id":1046,"depth":130,"text":1047},{"id":1053,"depth":116,"text":1053,"children":1327},[1328],{"id":1117,"depth":130,"text":1117},{"id":1167,"depth":116,"text":1167,"children":1330},[1331,1332],{"id":1170,"depth":130,"text":1171},{"id":1180,"depth":130,"text":1181},{"id":1252,"depth":116,"text":1252},{"id":1278,"depth":116,"text":1278},null,"Claude Codeのモジュラールール機能について解説。大規模プロジェクトでルールファイルを分割・整理する方法を紹介","md",{},"/claude-code-modular-rules",false,"2025-12-11T00:00:00.000Z",{"title":5,"description":1336},"2025-12/2025-12-11/claude-code-modular-rules",[1345,1346,1347],"Claude Code","AI","設定","75ZT3YEcVVS1GjpTihVf96YODIWfueSTd_1U15yqK6Q",[],[1351,1355,1359,1363,1367],{"title":1352,"path":1353,"publishedAt":1354},"Claude Code 設定プロンプト完全ガイド","/claude-code-settings-guide","2025-12-16T00:00:00.000Z",{"title":1356,"path":1357,"publishedAt":1358},"誰がAXをできるのか。業務をコードに落とし込める人の条件","/who-can-do-ax","2026-07-16T00:00:00.000Z",{"title":1360,"path":1361,"publishedAt":1362},"「世界でAIを使っているのは800万人」は本当か — 公式発表の確認と10年後までのフェルミ推定","/ai-user-count-fermi-estimate","2026-07-15T00:00:00.000Z",{"title":1364,"path":1365,"publishedAt":1366},"「ALL Software をエージェントネイティブに」を疑う：CLI-Anything を開けて読んでみた","/cli-anything-doubt","2026-05-15T00:00:00.000Z",{"title":1368,"path":1369,"publishedAt":1370},"2026年3月11日の開発日記 - CF計算書メンタルモデルとAI時代の質問力","/2026-03-11-diary","2026-03-11T00:00:00.000Z","https://log.eurekapu.com/og/blog/claude-code-modular-rules.png?v=2025-12-11T00%3A00%3A00.000Z&title=Claude%20Code%20-%20Modular%20Rules%EF%BC%88%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%A9%E3%83%BC%E3%83%AB%E3%83%BC%E3%83%AB%EF%BC%89%E6%A9%9F%E8%83%BD%E3%81%BE%E3%81%A8%E3%82%81&author=Kei%20Komatsu&sig=9b7bb17117943473",1785654675247]