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

Pacmonは依存関係マニフェストに「なぜ」の層を追加します。package.json、Cargo.toml、pom.xml、build.gradle、mix.exs、build.zig.zon、go.mod、Pythonマニフェストなどのマニフェストは、プロジェクトが何に依存しているかを示します。Pacmonを使うと、各直接依存関係に、それがなぜ存在するのか、何を変更してはならないのか、アップグレード前に何を確認すべきかを説明する短いノートを付けられます。 ノートは、説明対象のマニフェストの隣にある.pacmon/配下にプレーンMarkdownファイルとして保存されます。データベース、サービス、アカウントは不要で、ファイルは他のリポジトリファイルと同様に読み取り、差分表示、コミットができます。ノートはマニフェスト内の依存関係にホバーすると表示され、その最初の行は依存関係の行の末尾に表示されます。各依存関係の前のマークは、ノートが存在する場合は塗りつぶされ、存在しない場合は中空になります。 対応エコシステムとそのノートファイル: - npm: package.json、.pacmon/DEPENDENCY-NOTES.md、パッケージ名のセクション(例: ## express)。 - Rust: Cargo.toml、.pacmon/cargo/DEPENDENCY-NOTES.md、依存関係キー名のセクション。 - Maven: pom.xml、.pacmon/maven/DEPENDENCY-NOTES.md、groupId:artifactId名のセクション。 - Gradle: build.gradleまたはbuild.gradle.kts、.pacmon/gradle/DEPENDENCY-NOTES.md、group:nameまたはカタログエイリアス名のセクション。 - Elixir/Mix: mix.exs、.pacmon/mix/DEPENDENCY-NOTES.md、依存関係アプリケーションatom名のセクション。 - Zig: build.zig.zon、.pacmon/zig/DEPENDENCY-NOTES.md、直接依存関係フィールド名のセクション。 - Python: pyproject.tomlおよびrequirementsファイル、.pacmon/python/DEPENDENCY-NOTES.md、正規化されたディストリビューション名のセクション。 - Go: go.mod、.pacmon/go/DEPENDENCY-NOTES.md、モジュールパス名のセクション。 Pacmonはマニフェストをテキストとして解析し、npm、Cargo、Maven、Gradle、Mix、Zig、Python、pip、Poetry、uv、Goを実行しません。ファイルに書かれた直接依存関係を認識し、エコシステム固有の制限はREADMEに記載されています(例: MavenのdependencyManagementとプラグイン依存関係は除外される。Gradleスクリプトは実行されないため、コードで追加された依存関係は認識されない。Goのreplace、exclude、retract、go.work、vendorは依存関係として読み取られない)。各エコシステムは独自のノートファイルを保持し、ノートファイルがないマニフェストは、同じエコシステムの上位にある最も近いノートファイルを使用します。 ノートファイルは直接依存関係ごとに1つの##セクションを使用します。人間は見出しの下に書き、AIコーディングエージェントは### Agent notesサブセクションの下にpurpose、constraint、verify、log、verifiedなどの- key: value行を書きます。エージェントは依存関係を追加、アップグレード、削除する前にそのセクションを読み、行った内容を記録することが期待されています。Pacmonはエージェント行を検証し、不明なフィールドや空の値について警告し、ワンクリック修正を提供します。Pacmon自体はAIサービスを呼び出しません。ファイルとルールを提供し、セットアップコマンドが.pacmon/AGENT-RULES.mdを書き込み、AGENTS.md、CLAUDE.md、.cursor/rules/、.github/copilot-instructions.mdなどの一般的なエージェント指示ファイルにポインタを追加します。 機能には、ホバーノート、インラインプレビュー、依存関係マーク、サイドパネル・ピークエディタ・入力ボックスによるマニフェストからのノート作成、ノートがある依存関係を一覧表示するDocumentation Coverageビュー、ノートファイルの問題に対する警告が含まれます。設定では、インラインヒントのスタイル、プレビューにどの層を表示するか(human-first、ai-first、human-only、ai-only)、ノートの入力方法、クリック可能なエントリポイント、モノレポのノートファイル解決をカバーします。 この拡張機能はVS Code 1.100+またはJetBrains IDE 2025.2+を必要とし、言語ツールチェーンのインストールは不要です。VS Code for the Web、Remote-SSH、WSL、dev containersで動作します。まだプルリクエストを受け付けていない早期プレビューです。バグ報告と機能リクエストはGitHub issuesへ。Apache 2.0の下でライセンスされ、「Pacmon」とロゴはKontraの商標です。