pyscn-bot に戻る

pyscn-bot の仕組み

静的解析とAIエージェントによる、信頼できる正確なレビュー

AIコーディング時代のコード品質

CopilotやClaudeなどのAIツールが、かつてないほど大量のコードを生成しています。開発は加速していますが、コードベースを誰が見守っていますか?

技術的負債は静かに蓄積します。複雑な関数、デッドコード、重複ロジックがPRレビューをすり抜け、少しずつ積み重なっていきます。

PRをレビューするだけでなく、コードベース全体を継続的に監視する。そんな自律的にメンテナンスする仕組みが求められています。

pyscn-bot:自律的コードメンテナンス

pyscn-botはプルリクエストを待ちません。スケジュールに従ってコードベース全体を能動的にスキャンし、アーキテクチャの問題を発見し、深刻化する前に報告します。

コード監査

週次〜日次

リポジトリ全体を毎週スキャン。複雑度のホットスポット、デッドコード、重複、アーキテクチャの問題を特定。ヘルススコアと優先度付きの改善提案をGitHub Issueとして作成。

PRコードレビュー

変更時

プルリクエストを自動でレビュー。新しいコードの問題をマージ前にキャッチ。週次監査をリアルタイムのフィードバックで補完。

Python専用設計

pyscn-botはPython専用に設計された静的解析ツールpyscnを使用。ASTを解析してコードを深く理解します。単なるパターンマッチングではありません。

Python固有の問題

変更されるデフォルト引数、循環インポート、未使用のインスタンス変数

正確な解析

ASTベースの解析で変数スコープと関数呼び出しを正確に追跡

具体的な数値

「複雑そう」ではなく「複雑度18」。行動につながる数字

レビュー例

PRに投稿されるpyscn-botのコメント
⚠️

高複雑度の関数

validate_and_process()の循環的複雑度は18です(閾値: 15)。複雑な関数はテストが困難で、バグが発生しやすくなります。

Suggestion: validate_schema()validate_constraints()process_validated()に分割してください。

PRに投稿されるpyscn-botのコメント
⚠️

同じコードが2箇所に

user.pyの45-62行目と、admin.pyの23-40行目に、ほぼ同じコードがあります(87%一致)。

Suggestion: 共通の処理をutils/validation.pyに移動してください。同じバグを2箇所で直す必要がなくなります。

AIエージェントがコードを分析する流れ

結果を見ながら、次に使うツールを判断

単純なLLMラッパーとは異なり、pyscn-botのAIエージェントは考えてから行動します。結果を見て、次に何を調べるべきか判断し、適切なツールを呼び出します。人間のレビュアーと同じです。

例:複雑な関数を分析する

"まずは複雑度をチェックしよう"

pyscn complexity ./src

→ utils.pyに複雑度18の関数がある

"複雑度が高い。コードを読んでみよう"

read_file("src/utils.py")

→ validate_and_process()という関数が80行ある

"似たような処理がありそう。重複をチェック"

pyscn clones ./src

→ admin.pyにも同じコードがある(87%一致)

"問題が分かった。提案をまとめよう"

レビューコメントを生成

validate_and_process()は複雑度18で、admin.pyにも同じ処理があります。共通部分をutils/validation.pyに移動しましょう。

なぜこのやり方?

AIエージェントは1回の分析で終わりません。結果を見て「次に何を調べるべきか」を考え、必要なツールを呼び出します。

人間のレビュアーと同じように、コードを読みながら問題を深掘りしていきます。

pyscnの分析ツール

複雑度 関数の循環的複雑度を計測
デッドコード 使われていない関数、変数、importを検出
コードクローン コピペされたコードを発見
結合度 モジュール間の依存関係を分析
アーキテクチャ モジュールの依存関係を可視化し、循環インポートを検出

コードは安全です

セキュリティへの懸念は理解しています。コードがどう扱われるか、正確にお伝えします:

Claude APIに送信

コードはAnthropicのClaude APIに送信されて解析されます。Anthropicは API データをモデルの学習に使用しません。

保存しません

私たちはコードを保存しません。レビューが生成されGitHubに投稿されたら、コードは破棄されます。

GitHub権限

pyscn-botは必要な権限のみ要求します:コードの読み取り、PRコメントの書き込み、監査レポート用のIssue作成。

プライバシーポリシー全文を読む

あなたのリポジトリで試してください

pyscn-botをインストールしてPRを作成。最初のレビューで違いを実感してください。

無料でインストール