76 lines
2.0 KiB
Org Mode
76 lines
2.0 KiB
Org Mode
#+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= となる。
|