paper_db_common
概要
複数分野の論文データベースで共有するコード一式である。 各DBプロジェクトは任意の場所に配置できる。
共通側には次を置く。
paper_db_common/ ├── CLAUDE.md ├── new_project.py ├── paperdb_config.py ├── project_loader.py ├── publish.py ├── scripts/ └── templates/
各DB側には分野固有の設定とデータだけを置く。
wglass_db/ ├── config.py ├── papers.db ├── papers.org ├── papers.publish.db ├── logs/ └── tmp/
各DB側に CLAUDE.md は不要である。
run_ai.py が共通側の CLAUDE.md を読み込み、
分野固有の条件は config.py からプロンプトへ追加する。
新規DBの作成
/path/to/paper_db_common/new_project.py /path/to/new_db
既存の空でないディレクトリへ作成する場合だけ
--force を指定する。
実行モード
publish.py は実行モードの指定を必須とする。
-
process - PDF抽出、AI解析、JSON登録によるDB更新
-
sync - PDFパス更新、DB検証、papers.org出力
-
publish - PDF同期、公開用DB作成、リモート反映
-
all - process、sync、publishを順番に実行
cd /path/to/new_db
/path/to/paper_db_common/publish.py process
/path/to/paper_db_common/publish.py sync
/path/to/paper_db_common/publish.py publish
/path/to/paper_db_common/publish.py all
別の場所から実行する場合は --config を指定する。
/path/to/paper_db_common/publish.py process \
--config /path/to/new_db/config.py
パスの扱い
各DBの config.py に共通コードの絶対パスや
COMMON_ROOT=、=sys.path 操作を書く必要はない。
共通側は __file__ から自身の位置を決定する。
config.py のディレクトリが project_root となる。