`rpj` は、[[R]] と [[Quarto]] を [[renv]] で隔離した分析プロジェクトの作成と [[Positron]] での起動を 1 コマンドにまとめた自作の zsh スクリプトである。スクリプト本体は [tanuuuuuuu/dotfiles/bin/rpj](https://github.com/tanuuuuuuu/dotfiles/blob/main/bin/rpj) で公開している。
## 前提要件
- R 本体がインストール済みで、`R` と `Rscript` が PATH 上にある
- Positron 本体がインストール済みで、`positron` コマンドが PATH 上にある
- Quarto 本体がインストール済みで、`quarto` コマンドが PATH 上にある
- R のグローバルライブラリに renv パッケージが入っている
- `git` コマンドが使える
- `fd` コマンドが使える
- `fzf` コマンドが使える
## 振る舞い
| 呼び出し | 動作 |
| ------------------------ | --------------------------------------------------------------- |
| `rpj` | `$HOME` 配下の renv プロジェクトを fzf 選択して Positron で開く |
| `rpj {{ NEW_DIR }}` | カレント基準で新規作成・初期化して Positron で開く |
| `rpj {{ EXISTING_DIR }}` | そのまま Positron で開く |
新規作成時のディレクトリ構成は次の通り。
```
{{ PROJECT_NAME }}/
├── index.qmd # Quarto プロトタイプ(フロントマター + セットアップチャンク)
├── _quarto.yml # Quarto プロジェクト設定
├── data/ # 入力データ
├── R/ # ヘルパー関数
├── output/ # 手動エクスポート(ggsave, write_csv 等)
├── .gitignore
├── .Renviron.example # 環境変数の雛形(API キー・認証情報など)
├── .Rprofile # renv 有効化スクリプト
├── renv.lock # 依存パッケージのロックファイル
└── renv/ # 隔離ライブラリ・内部ファイル
```
## 関連ノート
- **[前提]** [[R はツールをグローバルにインストールし、分析ライブラリは renv で管理する]]: rpj はこの分離方針 (ツールはグローバル、分析ライブラリは renv) を自動化したもの
- **[派生]** [[tibble の print 表示の見切れを width で回避する]]: rpj が作成する Quarto プロジェクトの setup チャンクに置くと、HTML 出力時の tibble の見切れを抑えられる