diff --git a/.claude/rules/lab-pc-operation.md b/.claude/rules/lab-pc-operation.md index 42e8895..cb802e5 100644 --- a/.claude/rules/lab-pc-operation.md +++ b/.claude/rules/lab-pc-operation.md @@ -21,3 +21,18 @@ - 研究室 PC の uv は絶対パス(`C:\Users\Papin\.local\bin\uv.exe`)で呼ぶ - 出力が文字化けしたら手元で `iconv -f cp932 -t utf-8` を通す - コマンドにデータのパスを書かない(`tiasdata` は設定ファイルで付けた名前で指定する) + +## 使い捨てのスクリプト (One-off Scripts) + +一度きりの調査・整理のスクリプトは,**研究室 PC にコピーせず,SSH の標準入力で流して実行する**(研究室 PC にファイルを残さず,後始末を不要にするため.2026-10-03 のユーザー判断). + +```bash +ssh labpc "set PYTHONIOENCODING=utf-8&& C:\Users\Papin\.local\bin\uv.exe run --no-project --python 3.12 --with <パッケージ> python -" < script.py +``` + +- スクリプトは手元の一時フォルダ(スクラッチパッド)に置き,`scp` で研究室 PC に置かない.標準入力を使うので `ssh -n` は付けない.引数は `python - --apply` のように `-` の後に渡す +- データのパス(日本語を含む)はスクリプトの中に書く(UTF-8 のまま渡せることを確認済み) +- 途中の結果(患者 ID を含む対応表等)をファイルに書き出さない.1 回の実行の中で照合から処理までを済ませ,結果はメモリ上だけで持つ.どうしても残す必要がある場合は,残す場所と削除の手順をユーザーに示して承認を得る +- 出力は件数・番号・種類名等に限る(上記「禁止」) +- 移動・削除を伴うスクリプトは,既定を試走(ファイルに触らず件数だけを出す)にし,本番(`--apply` 等)はユーザーが `!` で実行する +- 繰り返し使う処理(点検・集計・取り込み等)は使い捨てのスクリプトにせず,`tiasdata` CLI のコマンドとして実装する