# CLAUDE.md — research vault
研究ノートの Obsidian vault。**既存ノートを温存する一次レイヤー**(`papers/` `research/` `structures/` `notes/` ほか)と、`claude-obsidian` の **LLM wiki レイヤー**(`wiki/`)を、新規ソースのみ・独立共存方針で運用する。
## まず読む
- このファイルを Claude Code と Codex の共通指示として扱う。
- Codex 向けの [`AGENTS.md`](AGENTS.md) は、このファイルへ誘導するための薄い入口として残す。
- **`wiki/` を操作する前に必ず**: [`wiki/CLAUDE.md`](wiki/CLAUDE.md)(wiki レイヤー運用ガイド)、[`wiki/meta/conventions.md`](wiki/meta/conventions.md)(ページ細則)、存在する場合は [`wiki/hot.md`](wiki/hot.md) を読む。
## 共通作業原則
- 応答は日本語で行う。
- 適切な層に文書化する。Code は How、Tests は What、Commits は Why、Comments は Why not を担う。
- コード変更に合わせて文書を更新する。
- 安易な解より単純な解を優先する。
- 設定を追い回すより、体系的な問題解決を優先する。
- 小から中規模で自己完結した作業にはサブエージェントを使う。
- 作業を委譲するときは、手順と目標を明示する。
- 終わりが開いている作業はメイン文脈に残す。
- 独立した作業だけを並列化する。
## プロジェクト構造とノート配置
- 中核ノート: `notes/`。ドメインページ: `pages/`。研究入力: `papers/`。ハイライト: `Clippings/`。書籍: `books/`。
- 取り込み口: 粗いアイデアは `00_inbox/` に置き、後で適切な場所へ移す。
- 定期ノート: `z95_periodic-notes/`。日誌: `journals/`。
- テンプレート: `z98_templates/`。図: `Excalidraw/`。
- 添付ファイル: 画像と PDF は `Attachments/` に置く。埋め込みは `![[file.png]]` または `` を使う。
## 作業コマンド
- 検索: `rg -n "keyword" notes/ papers/`
- 作成・移動: `git mv 00_inbox/idea.md notes/topic/idea.md`
- 同期: `git add -A && git commit -m "notes: add X" && git push`
- Publish を使う場合のスタイルとスクリプト: `publish.css`、`publish.js`
## Markdown と命名
- メタデータが役立つ場合は YAML frontmatter を使う。
```yaml
---
title: Short Title
tags: [topic, project]
---
```
- 見出しは 1 ファイルにつき 1 つの `#` タイトルから始め、節は `##` を使う。
- 内部リンクは `[[Note Title]]` を優先し、外部リンクは完全な URL を使う。
- 日付つきエントリは `YYYY-MM-DD-title.md`、恒久ノートは `kebab-case.md` を使う。
## テンプレートと再利用
- 新規ノートは `z98_templates/` のテンプレートから始める。例: `research-note.md`、`paper-summary.md`。
- 共有する再利用可能な断片やプロンプトは `copilot-custom-prompts/` に置く。
## 鉄則(レイヤーをまたぐ事故防止)
- **既存ノートを wiki ツールで書き換えない**。`papers/` `research/` `structures/` `notes/` は温存。wiki からは**一方向参照**でのみつなぐ。MOC への逆リンク追記は人間承認時のみ 1 件単位。
- **wiki 化のスコープは新規ソースのみ**。既存ノートは ingest 対象外。新規素材だけを `.raw/` に投入して wiki 化する。
- `.raw/` 配下の原本は**不変**(`.manifest.json` のみ wiki-ingest が更新)。`wiki/log.md` は**先頭に追記**し過去エントリは編集しない。
## 日本語の文章スタイル(整文)
vault 全体のノート(`wiki/`・`research/`・`notes/`・`papers/` ほか)を**新規作成・更新するたびに最初からこの方針で書く**(後追いの整文を不要にする)。
- 常体(だ・である調)。和文中に英単語が素のまま混ざる**コードスイッチングを避ける**。英語表現は「原語のまま残す/カタカナにする/漢語に訳す」のいずれかに寄せる。
- 既定は**カタカナ**(agent→エージェント, telemetry→テレメトリ, overhead→オーバーヘッド 等)。fault→障害, localization→箇所特定, detection→検知, mitigation→緩和 など**定着した漢語は漢語**。**略語・固有名詞・数式・コード・wikilink は原語のまま**。初出の専門用語は「和訳(原語)」併記が望ましい。
- 詳細な keep/変換ポリシーと用語集は [`wiki/meta/japanese-style.md`](wiki/meta/japanese-style.md) を参照。
## Maps of Content (MOC)
- **概念**: MOC は他のノートを整理するリンクベースの索引であり、成長するノート群を柔軟に編成する。
- **参照**: [Obsidian Rocks: Maps of Content](https://obsidian.rocks/maps-of-content-effortless-organization-for-notes/) に基づく。
- **Project MOC**: この vault の中心入口は [`structures/000 Index.md`](structures/000%20Index.md)。
## 素材 → skill のルーティング
- **論文** → `wiki-ingest-paper`(`.raw/papers/*.pdf` + `wiki/{sources,entities,concepts}/`)。`create-paper-note` は使わない。
- **会議トーク** → `create-conference-note`(`research/conferences/`)
- **技術記事** → `create-tech-note`(`notes/`)
- **論文以外の複数ソース横断** → `wiki-ingest` / `autoresearch`(`wiki/{sources,entities,concepts}/`)
- wiki への質問 → `wiki-query` / 健全性チェック → `wiki-lint`
> 詳細な判断基準と典型フローは [`wiki/CLAUDE.md`](wiki/CLAUDE.md) を参照。
## セキュリティと設定
- 機微な内容は `z99_private/` に置き、公開ブランチに秘密情報を含めない。
- 大きなバイナリは `Attachments/` に置く。サイズが増える場合は Git LFS を検討する。
- Obsidian のプラグインと設定は `.obsidian/` を参照し、複数環境で一貫させる。
## コミット
- メッセージは `<area>: <imperative>` とする。例: `notes: add reactive systems summary`。
- area は `notes|papers|books|Clippings|pages|structures|z95|wiki` などを使う。
- PR には短い説明、主要リンク(`[[refs]]` または URL)、視覚変更がある場合は前後のスクリーンショットを含める。
- plugin 同梱の auto-commit hook は**無効**。Claude Code がコミットする場合は意味のある作業区切りにする(1 コミット = 1 まとまり)。`Claude Code: ... (auto)` 形式の自動文言は使わない。
- force push・履歴改変・リモート push などの破壊的/外向き操作は明示確認する。
## エージェント別の補足
- Claude Code と Codex は、どちらもこのファイルを実質的な共通指示として扱う。
- Codex は `AGENTS.md` を入口として読み、このファイルへ従う。
- Claude Code 固有の自動化や hook に関する注意は Claude Code にのみ適用する。
- wiki 操作では、インストール済みの `claude-obsidian` 系 Agent Skills を優先する。既存ノート層(`papers/`、`research/`、`structures/`、`notes/` など)を wiki tooling で書き換えない。