ইউনিফাইড কনটেক্সট গ্রাফ
lean-ctx একটি ইউনিফাইড গ্রাফ তৈরি করে যা কোড, কমিট, টেস্ট, জ্ঞান এবং ইস্যু সংযুক্ত করে - টাস্ক-সচেতন কনটেক্সট প্রদান এবং গভীর প্রভাব বিশ্লেষণ সক্ষম করে।
নোড ধরন
গ্রাফে ৮টি নোড ধরন রয়েছে যা আপনার প্রকল্পের বিভিন্ন দিক উপস্থাপন করে:
File ইন্ডেক্সার দ্বারা ট্র্যাক করা সোর্স ফাইল
Symbol ফাংশন, ক্লাস, টাইপ এবং ভেরিয়েবল
Module লজিক্যাল গ্রুপিং (প্যাকেজ, ক্রেট, মডিউল)
Commit মেসেজ ও মেটাডেটা সহ Git কমিট
Test টেস্ট ফাংশন এবং টেস্ট ফাইল
CIRun CI/CD পাইপলাইন রান এবং ফলাফল
Knowledge ctx_session থেকে প্রকল্প জ্ঞান
Issue কোডের সাথে সংযুক্ত ইস্যু এবং টিকিট
এজ ধরন
এজ নোডের মধ্যে সম্পর্ক উপস্থাপন করে। lean-ctx ১১টি এজ ধরন ট্র্যাক করে:
| এজ ধরন | অর্থ | উদাহরণ |
|---|---|---|
Imports | ফাইল অন্য ফাইল ইম্পোর্ট করে | A.ts → B.ts |
Calls | ফাংশন অন্য ফাংশন কল করে | fn_a → fn_b |
Defines | মডিউল একটি সিম্বল সংজ্ঞায়িত করে | mod → fn |
TestedBy | ফাইল টেস্ট ফাইল দ্বারা পরীক্ষিত | utils.rs → test_utils.rs |
ChangedIn | কমিটে ফাইল পরিবর্তিত | file → commit |
MentionedIn | জ্ঞান তথ্যে ফাইল উল্লেখিত | file → knowledge |
Affects | ইস্যু ফাইলকে প্রভাবিত করে | issue → file |
Breaks | কমিট টেস্ট ভাঙে | commit → test |
গ্রাফ সমৃদ্ধকরণ
সমৃদ্ধকরণ Git, টেস্ট এবং জ্ঞানের ডেটা দিয়ে কোড গ্রাফ প্রসারিত করে।
Git ইতিহাস ইন্ডেক্সার
সাম্প্রতিক Git কমিট পার্স করে এবং Commit নোড তৈরি করে।
টেস্ট ইন্ডেক্সার
নামকরণ নিয়ম দ্বারা টেস্ট ফাইল সনাক্ত করে।
জ্ঞান সেতু
প্রকল্প জ্ঞান তথ্যকে ফাইলের সাথে সংযুক্ত করে।
MCP কমান্ড
ctx_graph enrich # Enrich graph with git, tests, knowledge
ctx_graph build # Index code structure
ctx_graph status # Show node/edge counts Community Detection (Louvain)
The Louvain algorithm clusters files into communities based on their dependency relationships. Files that frequently import each other or share transitive dependencies are grouped together, enabling smarter context preloading and relevance scoring for task-driven queries.
PageRank
Computes file importance scores based on the dependency graph structure. Files imported by many others (structural hubs) receive higher PageRank, which is used by Spectral Relevance and Boltzmann Allocation to prioritize high-impact files during context assembly.
কনটেক্সট কোয়েরি
গ্রাফ-ভিত্তিক কনটেক্সট কোয়েরি ব্যবহার করে সবচেয়ে প্রাসঙ্গিক ফাইল খুঁজুন।
ব্যবহার
ctx_graph context "fix auth bug" # Find relevant files for task
ctx_graph related src/auth.rs # Connected files
ctx_graph impact src/auth.rs # Blast radius analysis
ctx_graph symbol src/auth.rs::verify # Symbol definition/usages কিভাবে কাজ করে
- টাস্ক বিবরণ থেকে কীওয়ার্ড বের করে
- ফাইলের নাম এবং কমিট মেসেজের সাথে মিলায়
- গ্রাফ এজ দিয়ে ফলাফল প্রসারিত করে
- সম্পর্ক কনটেক্সট সহ প্রাসঙ্গিক ফাইলের তালিকা ফেরত দেয়
ইন্টারেক্টিভ HTML এক্সপোর্ট
আপনার ডিপেন্ডেন্সি গ্রাফকে একটি একক, স্বয়ংসম্পূর্ণ HTML ফাইল হিসেবে এক্সপোর্ট করুন। তৈরি হওয়া ফাইলটি সম্পূর্ণ অফলাইনে কাজ করে - যেকোনো ব্রাউজারে খুলে আপনার কোডবেস ভিজ্যুয়ালি এক্সপ্লোর করুন। কোনো সার্ভার নেই, কোনো ডিপেন্ডেন্সি নেই, শুধু একটি HTML ফাইল।
ব্যবহার
# Export full graph (all nodes)
lean-ctx graph export-html --out graph.html
# Limit to 100 most-connected nodes
lean-ctx graph export-html --out graph.html --max-nodes 100
# Custom project root
lean-ctx graph export-html --out graph.html --root /path/to/project ইন্টারেক্টিভ ফিচার
Search যেকোনো ফাইল পাথ সাবস্ট্রিং টাইপ করুন এবং মিলে যাওয়া নোডগুলো তাৎক্ষণিকভাবে হাইলাইট হবে
Pan & Zoom ক্লিক ও ড্র্যাগ করে প্যান করুন, স্ক্রোল করে জুম করুন। মানচিত্রের মতো কাজ করে।
Node Details যেকোনো নোডে ক্লিক করে সাইডবারে এর ইম্পোর্ট এবং ডিপেন্ডেন্ট দেখুন
Reverse Deps একটি নোডে রাইট-ক্লিক করে এর উপর নির্ভরশীল সব ফাইল হাইলাইট করুন (BFS ট্রাভার্সাল)
PNG Export এক ক্লিকে বর্তমান ক্যানভাস ভিউ PNG ইমেজ হিসেবে ডাউনলোড করুন
Offline কোনো বাহ্যিক ডিপেন্ডেন্সি নেই। সম্পূর্ণ অ্যাপ একটি HTML ফাইলে এমবেডেড।
টিপস
- বড় প্রজেক্টের ভিজ্যুয়ালাইজেশন পাঠযোগ্য রাখতে --max-nodes ব্যবহার করুন (50–200 ভালো রেঞ্জ)
- এক্সপোর্টের আগে graph build চালান যাতে ইন্ডেক্স আপডেট থাকে
- HTML ফাইলটি টিমমেটদের সাথে নিরাপদে শেয়ার করা যায় - এতে সোর্স কোড নেই, শুধু ফাইল পাথ এবং সম্পর্ক আছে
- রাইট-ক্লিক হাইলাইটিং সম্পূর্ণ রিভার্স-ডিপেন্ডেন্সি চেইন দেখায়, যা পরিবর্তনের প্রভাব মূল্যায়ন সহজ করে
ড্যাশবোর্ড API
| এন্ডপয়েন্ট | বিবরণ |
|---|---|
/api/graph/stats | নোড ও এজ সংখ্যা, ডেটাবেস পাথ |
/api/graph/enrich | সম্পূর্ণ গ্রাফ সমৃদ্ধকরণ ট্রিগার করুন |