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