AMBITGRAPH

הגרף, ואיך המיפוי עובד.

המפה היא קריאה פשוטה של הקוד שלך. היא מציירת את הקשרים שהיא יכולה להוכיח, ולא אומרת כלום על אלה שהיא לא.

קובץ אחד עם הקבצים שמייבאים אותו בצד
          אחד והקבצים שהוא מגיע אליהם בצד השני.
Lanes. מה מייבא את הקובץ בצד אחד, ולאן הוא מגיע בצד השני. התצוגה לשאלה "איפה זה יושב".
אותו קובץ במרכז טבעות, עם מה שהוא
          נוגע בו מסודר לפי חוזק הקשר.
Orbit. הקובץ במרכז, וכל מה שהוא נוגע בו על טבעות לפי חוזק. התצוגה לשאלה "מה הכי קרוב".
כל הריפו מצויר כאזורים
          צבעוניים של קבצים מקושרים.
איים. כל תיקייה בריפו בבת אחת, כדי לראות את הצורה שלו לפני שאתה מכיר אפילו שם אחד.
המפה בזום, עם שמות
          קבצים קריאים והקשרים של קובץ אחד מודגשים.
שכונות. מקרוב, לקבצים יש שם, והקשרים של קובץ אחד נדלקים על פני כל התמונה.

מה סריקה באמת עושה

היא מפרסרת כל קובץ, מוצאת מה יש בו — מודולים, מחלקות, פונקציות, ייבואים, קריאות, טבלאות בבסיס הנתונים — ורושמת איזה קובץ מגיע לאיזה. כל קו על המפה הוא אחד מהקשרים האלה.

שני כללים שומרים על זה כן. קשר נאמר פעם אחת, לא פעם אחת לכל שורה, כך שקובץ שמייבא אחר עשר פעמים הוא קשר אחד עם מונה, לא עשרה קווים של רעש. וקובץ שכלום לא מצביע עליו אומר את זה במפורש במקום להיעלם בשקט — המפה מדווחת שאין שום דבר שהסריקה יכולה להוכיח שמצביע לכאן, וזאת עובדה על הקוד שלך ששווה לראות.

שום מודל לא רץ בכל זה. זאת קריאה, לא הסקה.

חמש דרכים להסתכל על קובץ אחד

בוחרים קובץ והגרף יצייר אותו בחמש צורות. כולן מראות את אותם קשרים מפוענחים, מסודרים לשאלות שונות. Lanes ו‑Orbit מופיעות בתמונות בראש העמוד, מאותו קובץ כדי שאפשר יהיה להשוות. שלוש האחרות:

Fan

עוקב אחרי כיוון אחד החוצה, למעקב אחרי לאן שינוי היה מגיע.

Radial

מסדר לפי עומק, כדי לראות כמה רחוק ההגעה באמת מגיעה.

Table

אותם קשרים כשורות שאפשר לקרוא ולמיין — התצוגה שמראה שהמפה היא נתונים, לא קישוט.

המפה השלמה

מעבר לקובץ אחד יש את כל הריפו בבת אחת. תיקיות הופכות לאזורים צבעוניים; קבצים הופכים לנקודות בגודל שמשקף כמה הם מקושרים. מתקרבים וזה מתחדד — אזורים הופכים לשכונות, שכונות הופכות לקבצים עם שם.

עד כמה כל שפה נקראת

לא כל השפות נקראות באותו עומק, והמפה לא מעמידה פנים אחרת.

נקראות במלואן

Python, JavaScript, TypeScript, Java, JSP, Ruby, C, C++‎, Swift ו‑Go. הסריקה קוראת את הדקדוק ומפענחת ייבואים, הכללות וקריאות בין קבצים.

נקראות ברמת הקשרים

SQL ו‑shell נקראים לפי מה שהם מתחברים אליו — הטבלאות והקבצים שהם מגיעים אליהם — ולא מפורסרים כדקדוק מלא.

פריימוורקים שהוא מכיר בשם

FastAPI, Flask, Next.js ו‑Express לראוטים שלך, ו‑Supabase לטבלאות שלך. הכרת הפריימוורק היא מה שמאפשר למפה להבדיל בין ראוט לפונקציה רגילה.

כששפה לא מכוסה

אותה מפה, כשהשפות שהקורא הרגיל לא מפרסר מטופלות על ידי הסוכן שלך. המנוי שלך, המודל שלך, המחשב שלך. היא נפתחת באותה דרך ונסגרת באותה דרך.

$ python -m ambitgraph mapllm "<the folder with your code>"