このファイルは、Claude CodeがEpisodicRAGプラグインを開発・操作する際のガイドラインです。
人間の開発者向け: CONTRIBUTING.md を参照してください。
概要
アーキテクチャ 5. Clean Architecture 6. Single Source of Truth (SSoT)
EpisodicRAGは、会話ログ(Loopファイル)を階層的にダイジェスト化し、長期記憶として構造化・継承するシステムです。8階層(Weekly → Centurial、約108年分)の記憶を自動管理します。
バージョン: version.py 参照 ファイルフォーマット: 1.0
| コマンド | 用途 |
|---|---|
/digest |
新規Loop検出・分析(記憶定着) |
/digest weekly |
Weekly Digest確定 |
/digest monthly |
Monthly Digest確定 |
📖 詳細: commands/digest.md
| スキル | 用途 |
|---|---|
@digest-auto |
システム状態診断・推奨アクション |
@digest-setup |
初期セットアップ |
@digest-config |
設定変更 |
@wakeup |
claude.ai セッション開始時の記憶ロード+人格ディレクティブ適用(claude.ai 専用) |
| エージェント | 用途 |
|---|---|
DigestAnalyzer |
Loop/Digestの並列分析 |
Loop追加 → /digest → Loop追加 → /digest → ...
この「記憶定着サイクル」を守ることで、AIは全てのLoopを記憶できます。
📖 詳細: 用語集 - 記憶定着サイクル
EpisodicRAG/
├── .claude-plugin/ # プラグインメタデータ・設定
├── agents/ # AIエージェント仕様
├── commands/ # スラッシュコマンド仕様
├── docs/ # ドキュメント
│ ├── README.md # AI向け技術仕様ハブ(docs/の入口)
│ ├── dev/ # 開発者向け(ARCHITECTURE, API等)
│ └── user/ # ユーザー向け(GUIDE, FAQ等)
├── scripts/ # Python/Bash実装(Clean Architecture)
│ ├── README.md # Python実装リファレンス(層別の索引)
│ ├── domain/ # コアビジネスロジック
│ ├── infrastructure/ # 外部関心事
│ ├── application/ # ユースケース
│ ├── interfaces/ # エントリーポイント・CLI
│ ├── tools/ # 開発ツール (v4.1.0+)
│ └── test/ # ユニットテスト
├── skills/ # スキル仕様
│ ├── digest-auto/ # @digest-auto(健全性診断・階層推奨)
│ ├── digest-config/ # @digest-config(設定変更・対話的)
│ ├── digest-setup/ # @digest-setup(初期セットアップ・対話的)
│ ├── shared/ # 共有コンポーネント(SSoT)
│ └── wakeup/ # @wakeup(claude.ai向け記憶ロード)
├── CHANGELOG.md # バージョン履歴
└── CONTRIBUTING.md # 開発者ガイド
設定ファイルとデータは永続化パスに保存されます。プラグイン更新時も設定は保持されます。
~/.claude/plugins/.episodicrag/
├── config.json # 設定ファイル(必須)
├── Loops/ # Loopファイル(config.jsonで変更可)
├── Digests/ # Digestファイル(config.jsonで変更可)
└── Identities/ # Identityファイル(config.jsonで変更可)
# 永続化パスの取得(推奨)
from infrastructure.config import get_persistent_config_dir
config_dir = get_persistent_config_dir() # ~/.claude/plugins/.episodicrag/
# 設定ファイルパスの取得
from infrastructure.config import get_config_path
config_path = get_config_path() # ~/.claude/plugins/.episodicrag/config.jsonexport EPISODICRAG_CONFIG_DIR=/tmp/test-episodicrag
python -m pytest test/ -v📖 詳細は infrastructure.md を参照
スクリプトは4層アーキテクチャで構成されています。v4.0.0でconfig層を3つのサブレイヤーに分解しました。
| 層 | ディレクトリ | 役割 |
|---|---|---|
| Domain | scripts/domain/ |
コアビジネスロジック(定数、型、例外) |
| ├ config | scripts/domain/config/ |
設定定数・バリデーション |
| Infrastructure | scripts/infrastructure/ |
外部関心事(JSON操作、ファイルスキャン) |
| ├ config | scripts/infrastructure/config/ |
設定ファイルI/O・パス解決 |
| Application | scripts/application/ |
ユースケース(Shadow管理、GrandDigest管理) |
| ├ config | scripts/application/config/ |
DigestConfig(Facade) |
| Interfaces | scripts/interfaces/ |
エントリーポイント・CLI |
# Domain層
from domain import LEVEL_CONFIG, __version__
from domain.config import REQUIRED_CONFIG_KEYS
# Infrastructure層
from infrastructure import load_json, save_json
# Domain層(バリデーション)
from domain.validators import validate_type, is_valid_dict
from application.config import DigestConfig
# Interfaces層
from interfaces import DigestFinalizerFromShadow📖 詳細は ARCHITECTURE.md を参照
用語・共通概念は GLOSSARY.md(用語集・リファレンス)で定義されています。他のドキュメントでは参照リンクを使用してください:
| 概念 | SSoTの場所 | 参照形式 |
|---|---|---|
| まだらボケ | GLOSSARY.md#まだらボケ |
> 📖 詳細: [用語集](../../GLOSSARY.md#まだらボケ) |
| 記憶定着サイクル | GLOSSARY.md#記憶定着サイクル |
同上 |
| 8階層構造 | GLOSSARY.md#8階層構造 |
同上 |
| 基本概念(パス用語) | GLOSSARY.md#基本概念 |
同上 |
実装に関する共通ルールは skills/shared/_implementation-notes.md で定義されています:
- UIメッセージの出力形式
- config.pyへの依存
- エラーハンドリングパターン
- 階層順序の維持
- 関連するテストを確認:
scripts/test/ - 変更を実装
- テスト実行:
python -m pytest scripts/test/ -v - 動作確認(以下のいずれか):
- スキル経由:
/plugin uninstall→/plugin install→@digest-auto - CLI直接実行:
python -m interfaces.digest_auto
- スキル経由:
- 概念の追加・変更: まず
GLOSSARY.md(用語集・リファレンス)を更新 - 参照の更新: 関連ドキュメントの参照リンクを確認
- breadcrumbの維持:
docs/配下のファイルは breadcrumb を含める
[Home](../README.md) > [Docs](README.md) > [ファイル名]- PEP 8 準拠
DigestConfig経由でパス情報を取得load_or_create()パターンでデータファイル管理
- 日本語メイン、技術用語は英語可
- コードブロックには言語指定
- 内部リンクは相対パス
| 用語 | 表記 | 説明 |
|---|---|---|
| Loop | 大文字 | 会話ログファイル |
| Digest | 大文字 | ダイジェストファイル/概念 |
| GrandDigest | スペースなし | 統合データファイル |
| ShadowGrandDigest | スペースなし | 未確定データファイル |
| 目的 | ファイル |
|---|---|
| ドキュメント一覧 | INDEX.md |
| API仕様 | docs/dev/API_REFERENCE.md |
| アーキテクチャ | docs/dev/ARCHITECTURE.md |
| トラブルシューティング | docs/user/TROUBLESHOOTING.md |
| 用語集 | GLOSSARY.md |
| 開発者ガイド | CONTRIBUTING.md |
GLOSSARY.md(用語集)の内容を他のファイルにコピーする(参照リンクを使用)config.pyをバイパスしてパスを直接指定する- テストを無効化してコミットする
- 新機能は
CHANGELOG.mdに記録 - 3回試行して失敗したら別のアプローチを検討
- 既存パターンに従う(CONTRIBUTING.md参照)
EpisodicRAG by Weave | GitHub