背景 / 目的
開発者向けの定型タスク(テスト・PTYテスト・corpus回帰・eval・ベンチ)がREADMEやCI定義に散在しており、コントリビュータが「何をどう実行すべきか」を毎回探す必要がある。justfile(タスクランナー定義)とdevcontainer(再現可能な開発環境)を整備する。
現状
- Makefile / justfile 無し。定型コマンドは
.github/workflows/ci.yml と README にのみ存在。
- CIで実行されるもの:
cargo test --all-targets(RUSTFLAGS="-D warnings")、cargo test --test corpus_regression、--test generality_guardrails、--test conformance、Python 3.10 での evalゴールデンテスト(python3 -m unittest tests/eval/test_*.py)。
- ローカル限定のテスト:
ANVIL_PTY_TESTS=1 cargo test --test tui_pty、live provider テスト(ANVIL_LIVE_PROVIDER_TESTS、tests/live_provider.rs)。
- eval/ベンチ:
scripts/bench.sh、scripts/eval-run.py ほか(Python 3 必要)。
- Dockerfile / devcontainer 無し。
要求仕様(受け入れ基準)
1. justfile
2. devcontainer
実装ガイド
- justfileのレシピはCI定義からのコピペで開始し、将来CIをjustfile呼び出しに寄せるかは本Issueでは判断しない(コメントで両案併記可)。
- devcontainerはGitHub Codespacesでも動く標準構成にする。
テスト / 検証
スコープ外
- CI定義自体の再構成 / リリースワークフロー(配布Issue)/ Ollamaを含むフル環境のコンテナ化
背景 / 目的
開発者向けの定型タスク(テスト・PTYテスト・corpus回帰・eval・ベンチ)がREADMEやCI定義に散在しており、コントリビュータが「何をどう実行すべきか」を毎回探す必要がある。justfile(タスクランナー定義)とdevcontainer(再現可能な開発環境)を整備する。
現状
.github/workflows/ci.ymlと README にのみ存在。cargo test --all-targets(RUSTFLAGS="-D warnings")、cargo test --test corpus_regression、--test generality_guardrails、--test conformance、Python 3.10 での evalゴールデンテスト(python3 -m unittest tests/eval/test_*.py)。ANVIL_PTY_TESTS=1 cargo test --test tui_pty、live provider テスト(ANVIL_LIVE_PROVIDER_TESTS、tests/live_provider.rs)。scripts/bench.sh、scripts/eval-run.pyほか(Python 3 必要)。要求仕様(受け入れ基準)
1. justfile
justfileを新設し、最低限以下のレシピを定義する(CIと同一のコマンド・フラグにすること。乖離させない):build/build-releasetest(=RUSTFLAGS="-D warnings" cargo test --all-targets)test-corpus/test-guardrails/test-conformance(CIの各ステップと同一)test-pty(=ANVIL_PTY_TESTS=1 cargo test --test tui_pty)test-eval(= CIのpython unittest 3本)ci(上記CI相当を一括実行)bench(scripts/bench.shへの薄いラッパー、引数透過)run(開発用の代表的な起動例。モデル等は環境変数で上書き可能に)just --listの説明文(# comment)を全レシピに付けるjust未導入者のために、CONTRIBUTING(または README のDevelopment節)へ導入1行と「justはオプション、生コマンドはCI定義参照」の注記を追加2. devcontainer
.devcontainer/devcontainer.json(+必要なら Dockerfile)を新設: Rust(Cargo.tomlの rust-version 以上のstable)、Node.js LTS(インタラクションプローブ用)、Python 3.10+(eval用)、just、shellcheckを含むjust ciが通ること(corpus・conformance含む。ネットワーク不要のテストのみで完結することを確認)--ollama-host http://host.docker.internal:11434等)をdevcontainer READMEコメントに記載実装ガイド
テスト / 検証
just ciがCIと同じ結果になることjust ci通過をスクリーンショット/ログでPRに添付cargo test --quiet全通過(リポジトリのRustコードに変更が無いこと)スコープ外