コントリビュート
kodo への貢献に興味を持っていただきありがとうございます!
はじめに
前提条件
- Rust 1.93 以降
- mise によるツールチェーン管理(推奨)
ソースからビルド
テストの実行
開発ワークフロー
ブランチ命名規則
GitHub Flow を使用しています:
feature/*- 新機能fix/*- バグ修正docs/*- ドキュメント更新refactor/*- リファクタリングchore/*- メンテナンスタスク
コミットメッセージ
Conventional Commits を推奨しています:
プルリクエストのプロセス
mainからブランチを作成- 変更を加える
- すべてのテストが通ることを確認:
cargo test - コードがフォーマットされていることを確認:
cargo fmt - clippy の警告がないことを確認:
cargo clippy mainへのプルリクエストを作成- CI が通り、コードレビューを待つ
コードスタイル
フォーマットとリント
このプロジェクトでは以下を使用しています:
cargo fmtでコードフォーマットcargo clippyでリント- prek で pre-commit フック(mise 経由)
mise をインストールすると、pre-commit フックが自動的に設定されます:
ガイドライン
- Rust の命名規則に従う
- 公開 API にはドキュメントを記述
- 新機能にはテストを追加
- 関数は小さく、焦点を絞って書く
ブランチ保護
main ブランチは保護されています:
- すべての変更にはプルリクエストが必要
- マージ前に CI が通っている必要がある
mainへの直接プッシュは禁止
質問がありますか?
質問やヘルプが必要な場合は、issue を作成してください。