প্রকল্প সম্পর্কে

Pacmon ডিপেন্ডেন্সি ম্যানিফেস্টে একটি "কেন" স্তর যোগ করে। package.json, Cargo.toml, pom.xml, build.gradle, mix.exs, build.zig.zon, go.mod এবং Python ম্যানিফেস্টের মতো ফাইল বলে কোন প্রজেক্ট কীসের উপর নির্ভর করে; Pacmon প্রতিটি সরাসরি ডিপেন্ডেন্সির সাথে একটি সংক্ষিপ্ত নোট রাখতে দেয় যা ব্যাখ্যা করে এটি কেন আছে, কী পরিবর্তন করা যাবে না, এবং আপগ্রেড করার আগে কী যাচাই করতে হবে। নোটগুলো প্লেইন Markdown ফাইল হিসেবে .pacmon/ ফোল্ডারে সংরক্ষিত থাকে, যে ম্যানিফেস্টের কথা তারা বর্ণনা করে তার পাশে। কোনো ডেটাবেস, সার্ভিস বা অ্যাকাউন্ট নেই: ফাইলগুলো অন্য যেকোনো রিপোজিটরি ফাইলের মতো পড়া, diff করা এবং commit করা যায়। ম্যানিফেস্টে ডিপেন্ডেন্সির উপর হোভার করলে একটি নোট দেখা যায়, এবং তার প্রথম লাইনটি ডিপেন্ডেন্সি লাইনের শেষে দেখানো হয়। প্রতিটি ডিপেন্ডেন্সির আগে একটি চিহ্ন নোট থাকলে ভরা থাকে এবং না থাকলে ফাঁকা থাকে। সমর্থিত ইকোসিস্টেম এবং তাদের নোট ফাইল: - 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, ডিপেন্ডেন্সি application atom-এর নামে সেকশন। - Zig: build.zig.zon, .pacmon/zig/DEPENDENCY-NOTES.md, সরাসরি ডিপেন্ডেন্সি ফিল্ডের নামে সেকশন। - Python: pyproject.toml এবং requirements ফাইল, .pacmon/python/DEPENDENCY-NOTES.md, স্বাভাবিক distribution নামে সেকশন। - Go: go.mod, .pacmon/go/DEPENDENCY-NOTES.md, module path-এর নামে সেকশন। Pacmon ম্যানিফেস্টকে টেক্সট হিসেবে পার্স করে এবং npm, Cargo, Maven, Gradle, Mix, Zig, Python, pip, Poetry, uv বা Go চালায় না। এটি ফাইলে লেখা সরাসরি ডিপেন্ডেন্সি চিনতে পারে, README-তে বর্ণিত ইকোসিস্টেম-নির্দিষ্ট সীমাবদ্ধতা সহ (যেমন, Maven dependencyManagement এবং plugin ডিপেন্ডেন্সি বাদ দেওয়া হয়; Gradle স্ক্রিপ্ট চালানো হয় না, তাই কোড-যোগ করা ডিপেন্ডেন্সি দেখা যায় না; Go replace, exclude, retract, go.work এবং vendor ডিপেন্ডেন্সি হিসেবে পড়া হয় না)। প্রতিটি ইকোসিস্টেম নিজের নোট ফাইল রাখে, এবং একটি ম্যানিফেস্টে সেটি না থাকলে একই ইকোসিস্টেমের জন্য তার উপরের নিকটতম নোট ফাইল ব্যবহার করে। নোট ফাইল প্রতিটি সরাসরি ডিপেন্ডেন্সির জন্য একটি ## সেকশন ব্যবহার করে। মানুষ হেডিংয়ের নিচে লেখে; AI কোডিং এজেন্টরা ### Agent notes সাবসেকশনের নিচে - key: value লাইন দিয়ে লেখে, যেমন purpose, constraint, verify, log এবং verified। এজেন্টদের প্রত্যাশা করা হয় যে তারা কোনো ডিপেন্ডেন্সি যোগ, আপগ্রেড বা সরানোর আগে তার সেকশন পড়বে এবং তারা কী করেছে তা রেকর্ড করবে। Pacmon এজেন্ট লাইন যাচাই করে এবং অজানা ফিল্ড বা খালি মান সম্পর্কে সতর্ক করে, এক-ক্লিক সমাধান দেয়। Pacmon নিজে কোনো AI সার্ভিস কল করে না; এটি ফাইল ও নিয়ম সরবরাহ করে, এবং একটি setup কমান্ড .pacmon/AGENT-RULES.md লেখে এবং AGENTS.md, CLAUDE.md, .cursor/rules/ এবং .github/copilot-instructions.md-এর মতো সাধারণ এজেন্ট নির্দেশনা ফাইলে পয়েন্টার যোগ করে। ফিচারগুলোর মধ্যে রয়েছে হোভার নোট, ইনলাইন প্রিভিউ, ডিপেন্ডেন্সি চিহ্ন, সাইড প্যানেল, peek editor বা input box-এর মাধ্যমে ম্যানিফেস্ট থেকে নোট লেখা, একটি Documentation Coverage ভিউ যা তালিকা করে কোন ডিপেন্ডেন্সির নোট আছে, এবং নোট ফাইলে সমস্যার জন্য সতর্কতা। সেটিংসে ইনলাইন হিন্ট স্টাইল, কোন স্তর প্রিভিউ সরবরাহ করে (human-first, ai-first, human-only, ai-only), নোট কীভাবে প্রবেশ করানো হয়, ক্লিকযোগ্য এন্ট্রি পয়েন্ট, এবং monorepo নোট-ফাইল রেজোলিউশন কভার করে। এক্সটেনশনটির জন্য VS Code 1.100+ বা একটি JetBrains IDE 2025.2+ প্রয়োজন, এবং কোনো ভাষা টুলচেইন ইনস্টল করা লাগে না। এটি VS Code for the Web, Remote-SSH, WSL এবং dev containers-এ কাজ করে। এটি একটি প্রাথমিক প্রিভিউ যা এখনও pull request গ্রহণ করে না; বাগ রিপোর্ট এবং ফিচার অনুরোধ GitHub issues-এ যায়। Apache 2.0-এর অধীনে লাইসেন্সপ্রাপ্ত, "Pacmon" এবং লোগো Kontra ট্রেডমার্ক হিসেবে।