इस प्रोजेक्ट के बारे में

Pacmon निर्भरता मैनिफ़ेस्ट में एक “क्यों” परत जोड़ता है। package.json, Cargo.toml, pom.xml, build.gradle, mix.exs, build.zig.zon, go.mod और Python मैनिफ़ेस्ट जैसे मैनिफ़ेस्ट बताते हैं कि प्रोजेक्ट किस पर निर्भर है; Pacmon प्रत्येक प्रत्यक्ष निर्भरता के साथ एक संक्षिप्त नोट जोड़ने देता है, जिसमें बताया जाता है कि वह वहाँ क्यों है, क्या नहीं बदलना चाहिए, और अपग्रेड करने से पहले क्या जाँचना चाहिए। नोट्स .pacmon/ के अंतर्गत सादी मार्कडाउन फ़ाइलों के रूप में, उस मैनिफ़ेस्ट के पास संग्रहीत होते हैं जिसका वे वर्णन करते हैं। कोई डेटाबेस, सेवा या खाता नहीं है: फ़ाइलों को किसी अन्य रिपॉज़िटरी फ़ाइल की तरह पढ़ा, डिफ़ किया और कमिट किया जा सकता है। मैनिफ़ेस्ट में निर्भरता पर होवर करने पर नोट दिखाई देता है, और उसकी पहली पंक्ति निर्भरता पंक्ति के अंत में दिखाई जाती है। प्रत्येक निर्भरता से पहले एक चिह्न होता है, जो नोट मौजूद होने पर भरा हुआ और न होने पर खोखला होता है। समर्थित पारिस्थितिकियाँ और उनकी नोट्स फ़ाइलें: - 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 या catalog alias के नाम वाले सेक्शन। - Elixir/Mix: mix.exs, .pacmon/mix/DEPENDENCY-NOTES.md, निर्भरता एप्लिकेशन एटम के नाम वाले सेक्शन। - 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 को निर्भरता के रूप में नहीं पढ़ा जाता)। प्रत्येक पारिस्थितिकी अपनी नोट्स फ़ाइल रखती है, और बिना नोट्स फ़ाइल वाला मैनिफ़ेस्ट उसी पारिस्थितिकी के लिए अपने ऊपर निकटतम नोट्स फ़ाइल का उपयोग करता है। नोट्स फ़ाइलें प्रति प्रत्यक्ष निर्भरता एक ## सेक्शन उपयोग करती हैं। लोग हेडिंग के नीचे लिखते हैं; एआई कोडिंग एजेंट ### Agent notes उपसेक्शन के अंतर्गत - key: value पंक्तियों का उपयोग करके लिखते हैं, जैसे purpose, constraint, verify, log और verified। एजेंटों से अपेक्षा की जाती है कि वे किसी निर्भरता को जोड़ने, अपग्रेड करने या हटाने से पहले उसका सेक्शन पढ़ें और जो किया उसे दर्ज करें। Pacmon एजेंट पंक्तियों को मान्य करता है और अज्ञात फ़ील्ड या रिक्त मानों के बारे में चेतावनी देता है, तथा एक-क्लिक सुधार प्रस्तुत करता है। Pacmon स्वयं किसी एआई सेवा को कॉल नहीं करता; वह फ़ाइलें और नियम प्रदान करता है, और एक सेटअप कमांड .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 के ट्रेडमार्क हैं।