# CLAUDE.md
このファイルは、Claude Code (claude.ai/code) がこのリポジトリで作業する際のガイダンスを提供します。
## プロジェクト概要
このプロジェクトは統計解析とデータサイエンスに特化したObsidianボルトです。RとStataプログラミングの包括的なチュートリアルを含んでおり、内容は主に日本語で書かれ、学術・医学分野の学生や研究者を対象としています。
## 開発環境
### Claude Codeの起動
提供されているスタートアップスクリプトを使用:
```bash
./_start_claude.command
```
このスクリプトは大学ネットワークのプロキシ検出を処理し、作業ディレクトリを適切に設定します。
### 主要コマンド
- 従来のビルド/テストコマンドはありません - これはドキュメントリポジトリです
- Obsidianインターフェースを通じたコンテンツ管理
- 画像アセットはマークダウンファイルと一緒にルートディレクトリに保存
### Stata実行環境
Claude Codeは`stata-mp`コマンドを使用してStataコードを実行できます:
#### Stataコードの実行
```bash
# do-fileの実行(バッチモード)
stata-mp -b do filename.do
# 単一コマンドの実行
stata-mp -e "sysuse auto; describe"
```
#### 出力ファイル
- **ログファイル**: `filename.log` - 実行結果とエラーメッセージ
- **結果ファイル**: 実行後はログファイルを読み取って結果を確認
#### 実行例
```bash
cd "/Users/tadashi/Obsidian/statcode"
stata-mp -b do example.do
# example.logファイルを読み取って結果を確認
```
## アーキテクチャと構造
### コンテンツ構成
- **ルートレベル**: 60以上の統計チュートリアルのマークダウンファイルと画像アセット
- **命名規則**: `[ツール] - [トピック/機能]` 形式(例:「R - カプランマイヤー法をマスターしよう」)
- **主要カテゴリ**:
  - 統計理論と研究デザイン
  - Rプログラミング(初級から上級まで)
  - Stataプログラミングと解析
  - 一般的な研究ツールとワークフロー
### 設定システム
- **`.obsidian/`**: Claude統合用のMCP Toolsプラグイン(v0.2.27)を含むボルト設定
- **`.claude/`**: 制限コマンドリストを含むセキュリティ設定
- **`.smart-env/`**: TaylorAI/bge-micro-v2埋め込みモデルを使用したAI駆動のセマンティック検索設定
## 開発パターン
### コンテンツ構造
- 基本的なインストールから高度な統計技術までの段階的な学習パス
- ステップバイステップの説明を含む実践的なコード例
- ルートディレクトリにPNGファイルとして保存されるビジュアルエイド(スクリーンショット、プロット)
- Obsidianの内部リンクシステムによる相互参照
### ファイル管理
- `statcode.md`で維持されるメインインデックス
- 作業中コンテンツの適切なマーキング
- バージョン管理のための更新履歴追跡
- 説明的な画像名(例:`tertile_plot.png`、`scatter_plot.png`)
## 特別な考慮事項
### ネットワーク設定
- 福井大学のプロキシ設定をサポート
- スタートアップスクリプトでの自動プロキシ検出
- 機関のネットワーク制限に適応する開発環境
### AI統合
- MCP Toolsプラグインによる直接的なClaude Codeボルトアクセス
- Smart Environmentによるコンテンツ全体のセマンティック検索
- ローカルAIチャット機能のためのOllama統合
### コンテンツガイドライン
- バイリンガルアプローチ(日本語メイン、英語の技術用語)
- 実践的な応用を重視した学術・医学研究フォーカス
- 実行可能で十分に文書化されたコード例
- 統計概念の説明に不可欠な視覚的要素
## 数式記述について
ObsidianではLaTeX記法を使用して数式を記述できます:
### 基本的な記法
- **インライン数式**:`$数式
 で囲む(例:`$f(x) = x^2
 → $f(x) = x^2$)
- **ディスプレイ数式**:`$数式$` で囲む
```
$
y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \varepsilon
$
```
### よく使用する記号
- ギリシャ文字:`\beta`, `\alpha`, `\sigma`, `\varepsilon`
- 添字:`x_1`, `\beta_2`
- 上付き:`x^2`
- 分数:`\frac{分子}{分母}`
- 和記号:`\sum`, `\prod`
- 省略記号:`\cdots`, `\ldots`
### 統計で使用する記法例
```latex
$\hat{y} = \hat{\beta_0} + \hat{\beta_1} x$
$R^2 = 1 - \frac{SSR}{SST}$
$H_0: \beta_1 = 0 \text{ vs } H_1: \beta_1 \neq 0$
```
数式を多用する記事では、可読性向上のためLaTeX記法を積極的に活用してください。
## このリポジトリでの作業
### メインインデックス管理
- `statcode.md`がメインインデックス/トップページとして機能
- 新しい記事を作成する際は、`statcode.md`にリンクを追加
- `statcode.md`の更新履歴セクションにエントリを追加
### コンテンツガイドライン
コンテンツを追加または変更する際は:
1. 一貫性を保つため既存の命名規則に従う
2. 明確な説明を含む実践的なコード例を含める
3. 統計概念をサポートする関連画像を追加
4. 新しいコンテンツを追加する際はメインインデックス(`statcode.md`)を更新
5. トピック領域内で段階的な学習構造を維持
6. 数式が含まれる場合はLaTeX記法を使用して可読性を向上させる
7. 感情表現や強調の感嘆符は使用せず、淡々とした説明スタイルを維持する
### 画像の埋め込み方法
Obsidianでの画像埋め込みは以下の形式を使用:
- 基本形式:`![[ファイル名.png]]`
- 幅指定:`![[ファイル名.png|400]]` (400px幅で表示)
- HTMLタグではなく、Obsidian独自の記法を使用すること
### 実践的なコード例の作成
Stataチュートリアル記事を作成する際のベストプラクティス:
#### データセットの選択
- **標準データの優先使用**: 練習用データを一から作成する代わりに`sysuse auto`などの標準データセットを活用する
- **理由**: 
  - 読者がすぐにコードを実行できる
  - データ生成コードが不要で記事がシンプルになる
  - Stataユーザーに馴染みのあるデータで理解しやすい
#### コード実行と出力例の追加
- **実行可能なコード**: 記事内のすべてのコード例は実際に動作することを確認する
- **実際の出力例**: `list`コマンドなどの実行結果を記事に含める
  ```stata
  * do-fileで実行例を作成
  sysuse auto, clear
  list make price in 1/10
  ```
- **出力の整形**: Stataの実際の出力をそのままコードブロックで表示する
- **検証プロセス**: Claude Codeの`stata-mp`コマンドで実際に実行して出力を確認してから記事に掲載する
#### 段階的な学習構造
- **基本から応用へ**: 単純な例から複雑な条件指定まで段階的に説明
- **実用的な例**: 読者が実際の研究で使用しそうな条件や操作を含める
- **複数のアプローチ**: 同じ結果を得る複数の方法(GUIとコマンドライン)を紹介