参加する
プルリクエストは歓迎で、待つべき招待はありません。 これは小さなプロジェクトです。 役に立つのはたいてい大きな機能ではなく、表の一行、翻訳の一句、 あるいは動けるだけ詳しいバグ報告です。
一番役に立つ貢献
モデル表の一行。 モデルを試すは固定の五分の課題です。 表が短いのは走らせたものしか載せていないからであり、 負の結果は正の結果と同じだけの値打ちがあります —— 動かなかったモデルのことは誰も投稿しないので、全員が発見し直します。
翻訳、あるいはその一行の修正。 十が同梱されています。どれも残りに触らずに一句ずつ 直せます —— 多言語を見てください。 新しい言語は JSON ファイル一つです。
四点そろったバグ報告。 モデルと供給元をそのままの名前で(Ollama の
qwen3-coder:30b、「ローカルのモデル」ではなく)、何を頼んだか、何が起きたか、
そして ~/.opencli/log の失敗前後の五十行。
貼る前に、そのログ行に鍵が入っていないか見てください。
あなたが実際にやりたかったことを教えてください。 同梱の部門とスキルは 人が何を必要とするかの推測から書かれています。 あなたが手を伸ばして見つからなかったものこそ、言える中で一番役に立つことです。
コードを書く前に
一箇所の修正より大きなものは、まず issue を開いてください。 関門としてではなく —— あなたが一晩を費やす前に、やり方を決めておけるようにです。 背後に issue のないまま来た PR も、ちゃんと読まれます。
環境
Rust と pnpm。ワークスペースは opencli-rs/、ウェブ画面は web/、
デスクトップの外殻は desktop/ です。
git clone https://github.com/ai-dashboad/opencli
cd opencli
pnpm install
cargo build -p opencli-cli
リポジトリのルートで just を使うとワークスペースの補助コマンドが走ります。
just help が一覧を出します。
PR を開く前に
just fmt
just fix -p <crate>
cargo test -p <crate>
素の cargo fmt を走らせないでください。 このツリーは imports_granularity=Item
で整形されており、それは nightly 限定のオプションです。stable ではその指定が
黙って無視されるので、cargo fmt はワークスペースのほぼ全ファイルの import 節を
書き換え、あなたの変更を数百の無関係な差分に埋めます。
just fmt が nightly を呼ぶのは、まさにそのためです。nightly のツールチェーンがなければ
(rustup toolchain install nightly)、触ったファイルだけを整形し、残りは CI に
確認させてください。
ウェブ画面を触ったなら、python3 scripts/i18n-check.py が
翻訳のために包まれていない英語を見つけます —— 行内タグで分断された文や、
取り込み時に組み立てられるラベルのような、見落としやすい場合も含めて。
合わせやすい PR とは
- 一件だけ。 無関係な修正は別の PR に。
- あなたの変更の前に落ち、あとで通るテスト。 全網羅ではなく —— そのバグを捕まえたであろう断言が一つあれば十分です。
- どの commit も構築できること。 それが review と巻き戻しを可能にします。
- 振る舞いが変わったなら文書も。 README、
opencli --help、 あるいはここの、いま間違いになったページ。 - 説明には 何を・なぜ・どうやって。なぜが、差分から読めない部分です。
CLA はありません
署名するものは何もありません。 貢献はツリーの他の部分と同じく Apache-2.0 のもとにあります。
脆弱性を報告する
安全上の不具合について、公開の issue を開かないでください。 GitHub の 非公開アドバイザリのフォーム を使ってください。何も公開せずに維持者に届きます。
最も見る値打ちのある場所:サンドボックスの方針、承認の経路、 そしてツール呼び出しが何に触れてよいかを決めているところすべて。 あなたのファイルを読み、あなたのマシンでコマンドを走らせるエージェントは面が広く、 それを見つけるのは他人よりあなたであるほうがよいのです。
まっとうにやる
人を敬意をもって扱ってください。 我々は Contributor Covenant に従います。 善意を前提に —— 文字でのやりとりは難しいので、寛容な側に倒してください。 何かが分かりにくいなら、それ自体が issue の値打ちがあります: 分かりにくい文書は、文書のバグです。