عن المشروع
يضيف Pacmon طبقة "السبب" إلى ملفات تعريف التبعيات. توضح ملفات مثل package.json وCargo.toml وpom.xml وbuild.gradle وmix.exs وbuild.zig.zon وgo.mod وملفات Python ما يعتمد عليه المشروع؛ ويتيح Pacmon لكل تبعية مباشرة أن تحمل ملاحظة قصيرة تشرح سبب وجودها، وما يجب ألا يتغير، وما يجب التحقق منه قبل الترقية.
تُخزَّن الملاحظات كملفات Markdown عادية تحت .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 أو اسم مستعار في الكتالوج.
- 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 (على سبيل المثال، تُستبعد dependencyManagement وتبعيات الإضافات في Maven؛ ولا تُنفَّذ نصوص Gradle، لذا لا تُرى التبعيات المضافة برمجيًا؛ ولا تُقرأ replace وexclude وretract وgo.work وvendor في Go كتبعيات). ويحتفظ كل نظام بيئي بملف ملاحظات خاص به، والملف الذي لا يوجد له ملف ملاحظات يستخدم أقرب ملف ملاحظات فوقه للنظام البيئي نفسه.
تستخدم ملفات الملاحظات قسم ## واحدًا لكل تبعية مباشرة. يكتب الأشخاص تحت العنوان؛ ويكتب وكلاء البرمجة بالذكاء الاصطناعي تحت قسم فرعي ### 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.
تشمل الميزات ملاحظات التمرير، والمعاينات داخل السطر، وعلامات التبعيات، وكتابة الملاحظات من الملف عبر لوحة جانبية أو محرر peek أو مربع إدخال، وعرض 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 وحاويات التطوير. وهو معاينة مبكرة لا تقبل طلبات السحب بعد؛ وتُوجَّه تقارير الأخطاء وطلبات الميزات إلى قضايا GitHub. مرخّص بموجب Apache 2.0، مع "Pacmon" والشعار كعلامتين تجاريتين لـ Kontra.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.