原文(日本語に翻訳)
プリントモード(claude -p)で条件付き .claude/rules/*.md ファイル(paths: フロントマター付き)とネストされた CLAUDE.md ファイルが読み込まれない問題を修正
原文(英語)
Fixed conditional .claude/rules/*.md files (with paths: frontmatter) and nested CLAUDE.md files not loading in print mode (claude -p)
概要
claude -p(プリントモード)で実行する際、paths: フロントマターを持つ条件付きルールファイルやサブディレクトリのネストされた CLAUDE.md ファイルが読み込まれないバグがありました。この修正により、プリントモードでも通常の対話モードと同じようにすべてのルールとコンテキストが正しく適用されます。
基本的な使い方
.claude/rules/ ディレクトリに条件付きルールを配置した場合、プリントモードでも正しく動作します。
bash
# プリントモードで実行(修正後は条件付きルールも適用される)
claude -p "このコードをレビューしてください"実践例
paths: フロントマターを持つ条件付きルール
markdown
<!-- .claude/rules/typescript-rules.md -->
---
paths:
- "**/*.ts"
- "**/*.tsx"
---
TypeScriptファイルを編集する際は必ず型注釈を追加してください。bash
# 修正前: -p モードではこのルールが無視されていた
# 修正後: TypeScriptファイルに対してルールが正しく適用される
claude -p "src/components/Button.tsx を改善してください"ネストされた CLAUDE.md の読み込み
project/
├── CLAUDE.md # プロジェクトルートのルール
├── src/
│ ├── CLAUDE.md # srcディレクトリのルール(修正前は-pで無視)
│ └── components/
│ └── CLAUDE.md # さらにネストされたルール(修正前は-pで無視)
└── tests/
└── CLAUDE.md # テストディレクトリのルールbash
# 修正後: -p モードでもすべての階層のCLAUDE.mdが読み込まれる
claude -p "src/components/Button.tsx にユニットテストを追加してください"CI/CDパイプラインでの利用
bash
# CI環境でのコードレビュー自動化
# 修正後は適切なルールが全て適用された状態でレビューされる
claude -p "このPRの変更内容をレビューして問題点を報告してください" \
--input-file changes.diff注意点
- この修正はプリントモード(
-p)専用の問題でした。通常の対話モードでは以前から正しく動作していました paths:フロントマターを持つルールは、指定されたパターンに一致するファイルに対してのみ適用されます- ネストされた
CLAUDE.mdはファイルの場所に応じて階層的に適用されます