貢献

SSH-Frontièreへの貢献

人工知能による支援や生成を含むあらゆる貢献を歓迎します。SSH-Frontière自体がClaude Codeエージェントによって開発されています。

始める前に

提案する変更についてイシューを作成してください。不要な作業を避け、アプローチを検証するためです。

プロセス

1. イシュー    → 変更について議論
2. フォーク    → git checkout -b feature/my-contribution
3. TDD        → RED(失敗するテスト)→ GREEN(最小限のコード)→ リファクタリング
4. 検証       → make lint && make test && make audit
5. プルリクエスト → 記述し、イシューを参照し、CIがグリーンであること

品質要件

SSH-Frontièreはセキュリティコンポーネントです。要件は厳格です:

ルール詳細
テストカバレッジ追加コードに対して最低90%
unwrap()禁止expect()// INVARIANT:、または? / map_err()を使用
unsafe禁止#[deny(unsafe_code)]により禁止
最大800行ソースファイルごと
最大60行関数ごと
フォーマットcargo fmt必須
lintcargo clippy -- -D warnings(ペダンティック)

依存関係

不要な依存関係ゼロ。 新しい依存関係を提案する前に:

  1. Rust標準ライブラリでニーズを満たせないか確認
  2. 依存関係マトリックスで評価(最低スコア3.5/5)
  3. 評価をdocs/searches/に文書化

現在許可されている依存関係:serdeserde_jsontoml

コミット規約

メッセージは英語、フォーマットはtype(scope): description

タイプ:featfixrefactortestdocs

AIによる貢献

AIによって生成された貢献は、人間の貢献と同じ条件で受け入れられます:

セキュリティ

脆弱性の報告

公開イシューで脆弱性を報告しないでください。 責任ある開示のために、メンテナーに直接連絡してください。

強化されたレビュー

以下のファイルに影響するPRは、強化されたセキュリティレビューを受けます:

最初の貢献に適したもの

ライセンス

SSH-FrontièreはEUPL-1.2の下で配布されています。プルリクエストを提出することで、あなたの貢献がこのライセンスの条件の下で配布されることに同意したものとみなされます。

詳細については、リポジトリ内のCONTRIBUTING.mdファイルを参照してください。