このプロジェクトについて

# PARTHA プライベートかつ進化するコードベースのためのリポジトリインテリジェンス。 ## 概要 PARTHAはリポジトリのリビジョン(ZIP/TARアーカイブまたは公開GitHubリポジトリとしてインポート)を取り込み、その構造の永続的で不変のスナップショットを構築します。その1つのスナップショットから以下の情報を提供します: - **アーキテクチャ** — モジュールと解決された関係性のインタラクティブグラフ;対応するPython/FastAPIパターンに対する証拠を引用した説明 - **依存関係グラフ** — `package.json`、`pyproject.toml`、`requirements.txt`からの宣言、2種類のロックファイルフォーマットの解決済みピンが別々に記録される - **エンジニアリングレビュー** — 各発見が保存された証拠スパンによって裏付けられます;未評価のカテゴリは可視状態を保ちます;集計スコアや健康度のパーセントはありません - **リポジトリインサイト** — スナップショットのみからのカウント、比率、診断、カバレッジ - **リポジトリリンページ** — 同じリポジトリとブランチの繰り返しインポートが耐久履歴にグループ化される - **ドキュメントとエクスポート** — 構造化ドキュメント、およびReview/Documentation/Architecture/DependenciesをJSON、Markdown、HTML、PDFでエクスポート - **オプションのAIコンテキスト** — 利用者ごとのプロバイダ設定、暗号鍵、デプロイメント所有のエグレス許可リスト;プロバイダに渡されるのは構造的事実と観測されたパスのみで、ソースバイトや行スパンは渡されない 契約は[capability matrix](docs/CAPABILITIES.md)に形式化され、コードから生成されCIでドリフトチェックされます。対応する事実は分析済みリビジョン内の正確なソース位置に紐づく証拠とproveanceを保持します。 ## 動作原理 ``` インポート → 分析 → 探索 → エクスポート ``` 1. **インポート** — アーカイブをアップロードするか、HTTPS経由で公開GitHubリポジトリをインポートします。PARTHAはファイル目録とリビジョンIDを保存します。 2. **分析** — 永続的で取消可能なバックグラウンドジョブが、対応するPythonおよびTypeScript/JavaScriptの構成、マニフェスト、ロックファイル、サービス間相互作用、Docker Composeのための有界抽出パイプラインを実行します。 3. **探索** — アーキテクチャ、依存関係、エンジニアリングレビュー、インサイト、証拠、リンページを検索できます。欠落または期限切れのスナップショットは推定解釈にフォールバックするのではなく、利用不可を表示します。 4. **エクスポート** — 構造化ドキュメントを生成するか、JSON/Markdown/HTML/PDFパイプラインを通じて結果をエクスポートします。 中間成果物は`ri.v1`——バージョン付きの密封済みスナップショットで、事実、証拠、診断、以及 canonical hashを含みます。すべての製品サーフェスは共有モデルから読み取り、どの消費者もコードを独立して再解析しません。AIはリポジトリインテリジェンスのダウンストリーム消費者であり、独立した解釈者ではありません。 ## テクストアック - **バックエンド**: Python 3.12–3.13、FastAPI - **フロントエンド**: Node.js 22、React - **データベース**: SQLite(開発環境) - **ワーカー**: インプロセスデーモンスレッド(1ジョブずつ) - **AIプロバイダ**: オプション、Fernet暗号化鍵およびDNS固定エグレス許可リストで設定可能 ## クイックスタート ```bash git clone https://github.com/Second-Origin/PARTHA.git cd PARTHA # バックエンド — http://localhost:8000(OpenAPI at /docs) cd apps/backend python3.13 -m venv .venv && source .venv/bin/activate pip install -e . cd ../.. && npm run dev:backend # フロントエンド — http://localhost:5173 cd apps/frontend npm ci npm run dev ``` ローカル開発にはコンテナランタイムまたは外部データベースは不要です。.envファイルも不要です。 ## 現在の制限 - 信頼された環境での利用のみ——広範な共有またはマルチテナントホスティング向けにはハードニングされていません。 - 深層セマンティック抽出はPythonおよびTypeScript/JavaScriptに限定され、他の言語はファイル目録のみを提供します。 - 依存関係カバー:3つのマニフェストフォーマットと2つのロックファイルフォーマット;推移的解決は行わず、脆弱性や古いバージョンのスキャンもありません。 - 実行ごと全体のレポジトリ分析——増分再分析はありません。 - リンページはリビジョン履歴を保持しますが、スナップショットの差分計算、rename/moveの検出、歴史的ブラスト半径の算出は行いません。 - オプションAIは外部プロバイダを呼び出せます;ローカルプロバイダのみがすべてをホスト上に保持します。[egress policy](docs/security/AI_PROVIDER_EGRESS.md)を参照してください。 ## ドキュメント - [システム概要](docs/architecture/SYSTEM_OVERVIEW.md) - [リポジトリインテリジェンス](docs/architecture/REPOSITORY_INTELLIGENCE.md) - [RFC-0001 — ri.v1契約](docs/architecture/REPOSITORY_INTELLIGENCE_V1_RFC.md) - [RFC-0002 — リポジトリリンページ](docs/architecture/REPOSITORY_LINEAGE_RFC.md) - [キャパビリティマトリクス](docs/CAPABILITIES.md) - [開発ガイド](docs/DEVELOPMENT.md) - [AIプロバイダセットアップ](docs/operations/AI_PROVIDER_SETUP.md) - [セキュリティポリシー](SECURITY.md) ## ライセンス Apache License 2.0 ## コミュニティ - [Discord](https://discord.gg/qvk9DcxDA) - [Issues](https://github.com/Second-Origin/PARTHA/issues)