メインコンテンツへスキップ
バグ報告と機能要望は GitHub Issues で受け付けています。プルリクエストを作成できるのは、招待されたコラボレーターだけです。

プルリクエストではなく Issue を作成する

検出ルール、設定の変更、ドキュメントの訂正、小さなバグ修正も、すべて Issue から始めます。提案が受け入れられても、それだけでプルリクエストが認められるわけではありません。メンテナーはコーディングエージェントを使って修正を実装しているため、依頼のないパッチより、再現手順を添えた詳細な Issue のほうが早く問題を解決できます。 CC Safety Net が目指すのは 1 つだけです。rm -rf ~/ や git reset --hard のように、コーディングエージェントのうっかりした誤操作でデータが失われるのを防ぐことです。汎用のセキュリティ強化ツールや攻撃防止ツールではありません。

バグを報告する

Issue のほとんどはコーディングエージェントが書いています。ソースリポジトリの AGENTS.md は、Issue を作成する前に CONTRIBUTING.md を読むようエージェントに指示しています。エージェントでも人でも、次のルールに従ってください。
  • まず既存の Issue を検索してください(gh issue list --search "<keywords>" --state all)。すでに報告されている問題なら、新しい Issue を立てずに、その Issue に新たな根拠を追加してください。
  • 1 つの Issue で報告する問題は 1 件だけにしてください。
  • 問題は最新リリースで再現してください。書くのは実際に実行した再現手順だけです。実行できなかった場合はそう明記してください。
  • 冒頭に問題と根拠を書いてください。何をして、何を期待し、何が起きたかです。報告は簡潔にまとめてください。
  • CC Safety Net のバージョン、OS、コーディングエージェントまたは CLI とそのバージョン、CC Safety Net のインストール方法を記載してください。npx cc-safety-net doctor --json でほとんどが揃い、カスタムルールが関係しているかどうかも分かります。
  • 原因の分析は歓迎します。根拠の後ろに置き、テストやトレースで確認できていない場合は仮説と明記してください。
  • パッチや差分は添付しないでください。提案する修正は文章で説明してください。
  • 提出する前に、作業を依頼した人に Issue を確認してもらってください。
破壊的なコマンドが許可された、安全なコマンドがブロックされたなど、コマンドの判定が誤っている場合は、次の情報も記載してください。
  • コマンド全体。マッチしたセグメントだけでなく、チェーン全体を記載してください。
  • 作業ディレクトリと安全レベル。
  • npx cc-safety-net explain --cwd <dir> "<command>" の出力。
  • すでに起きたブロックについては、npx cc-safety-net logs のエントリ(npx cc-safety-net logs --id <id> --json)。
  • 判定がどうあるべきだったか、その理由。
破壊的コマンドの見落としは、脆弱性ではなく公開のバグです。非公開で報告すべき少数の問題は、セキュリティポリシーにまとめています。 提出する前に、トレースを共有する前にを読んでください。プライベートなディレクトリ名は <project> と ~ に置き換え、コマンドが再現できるようにパスの構造は残してください。

機能を要望する

解決したい問題、望む挙動、それが役立つ具体的な場面を説明してください。上記のルールも当てはまります。まず検索すること、1 つの Issue で扱う要望は 1 件だけにすること、パッチを添付しないことです。

CC Safety Net を開発する

開発環境のセットアップ、bun run check によるチェック、ローカルプラグインのテスト、コード規約、招待されたコラボレーター向けのプルリクエストの手順は、ソースリポジトリの CONTRIBUTING.md にあります。
最終更新日 2026年10月22日