Repo-Verse

أفلت مجلد مشروع وشاهده يتحول إلى نظام شمسي ثلاثي الأبعاد: كل ملف كوكب بحجم بايتاته، وكل مجلد نظام، وكل اعتماد خطوة في عرض زمني. تُقرأ شيفرتك محليًا عبر واجهة File System Access ولا تُرفع أبدًا.

واجهة الأداة نفسها باللغة الإنجليزية حاليًا، وتعمل بالكامل داخل متصفحك.

جارٍ تحميل الأداة…

كيف يتحول مجلد إلى نظام شمسي

التحويل حساب لا زخرفة. فحجم الملف يحدد نصف قطر الكوكب على منحنى لوغاريتمي، clamp(1 + log10(bytes + 1) × 0.5, 0.3, 5)، فتبدو وحدة بحجم 40 كيلوبايت أكبر بوضوح من أخرى بحجم 2 كيلوبايت دون أن يبتلع ملف بحجم 2 ميغابايت الشاشة. وعمق المجلد يحدد المسافة المدارية، فيصبح شكل التداخل لديك شكل النظام. وامتداد الملف يختار اللون ونوع الكوكب: JavaScript تتوهج بأصفر النجوم، وPython عالم جليدي أزرق، وRust صخر ملتهب، وGo محيط، وMarkdown أخضر الغابات، وJSON بلّوري. والتعقيد المقدّر يمنح الملف حلقة، والمجلدات تصبح عمالقة غازية تدور حولها أبناؤها.

وقراءة المجلد عمل المتصفح نفسه. فالدالة window.showDirectoryPicker() تعطي الصفحة مقبضًا للمجلد، وتمشي الأداة فيه تكراريًا، فتقرأ الأحجام وأوقات التعديل، ومحتويات الملفات النصية الأصغر من نصف ميغابايت لعدّ الأسطر وتقدير التعقيد وجمع تعليمات الاستيراد لرسم الاعتماديات. وتُتجاهل افتراضيًا الملفات داخل node_modules و.git وdist وbuild وأشباهها، وقائمة التجاهل قابلة للتعديل.

والمستودعات الكبيرة لا تُقلَّص عشوائيًا. فبعد نحو ألف جرم، تحتفظ الملفات الأقل عمقًا والأكبر حجمًا بكواكبها ويصبح الباقي حزام كويكبات ملونًا، فيدور مستودع ضخم من عشرين ألف ملف بمعدل إطارات كامل، وتخبرك الشاشة بالضبط كم ملفًا صار غبارًا.

فيمَ يفيد فعلًا

البنية التي تراها بنية تستطيع النقاش حولها. فعرض الشجرة يخبرك بالأسماء؛ أما عرض النظام فيخبرك بالنسب: أن مجلدًا واحدًا يحمل ثلثي الكتلة، وأن الاختبارات تدور بعيدًا وبشكل متفرق، وأن ملفًا واحدًا تضخم إلى عملاق غازي لم يقصده أحد. وهذا مفيد على الشاشة أثناء نقاش إعادة هيكلة أو جلسة تعريف لموظف جديد أو مراجعة معمارية.

ونقطة الخصوصية ليست عرضية. فالشيفرة المصدرية هي الشيء الوحيد الذي لا يستطيع معظم المطورين لصقه في أداة ويب عشوائية: إنها عادةً ملكية فكرية لأحدهم، وكثيرًا ما تحتوي بيانات اعتماد. ليس لـ Repo-Verse نقطة رفع ولا مكوّن خادم. يُقرأ المجلد عبر واجهة متصفح محمية بإذن، والتحليل والعرض ثلاثي الأبعاد يجريان على جهازك، وإذا عدّلت ملفًا في محرر Monaco المدمج يُكتب مباشرة إلى القرص عبر مقبض الملف نفسه، دون المرور بأي خادم.

للاستفادة أكثر

  • استخدم زر «فتح مجلد» بدل «اختيار مجلد» حين يدعمه متصفحك: فواجهة File System Access وحدها تتيح الحفظ المباشر والوصول إلى .git للخط الزمني.
  • إذا بدا المشهد متفرقًا، فافحص قائمة التجاهل في الإعدادات؛ فمجلدات البناء والاعتماديات مستبعدة افتراضيًا ويمكن إعادة تضمينها.
  • انقر نقرًا مزدوجًا على كوكب لتركّز الكاميرا عليه وتفتح الملف في فاحص الشيفرة معًا.
  • عرض الرسم البياني يحل الاستيرادات النسبية بين ملفاتك. واستيرادات الحزم مستبعدة عمدًا، فما تراه هو الترابط الداخلي لا شجرة الاعتماديات.
  • عرض الخط الزمني يحتاج إلى مجلد .git حقيقي. يقرأ حتى ثمانين اعتمادًا بمكتبة isomorphic-git ولا يكتب في المستودع أبدًا.
  • اخفض الحد الأقصى للأجرام إلى 400 ونسبة البكسل إلى 1× في الإعدادات إذا كنت على معالج رسوميات حاسوب محمول وتقطّع المشهد.

طريقة الاستخدام

  1. افتح مجلد مشروع، أو اسحبه إلى المشهد، أو حمّل أرشيف .zip له. وهناك أيضًا مشروع تجريبي إن أردت التجول فقط.
  2. دوّر بالسحب بالزر الأيسر، وحرّك بالسحب بالزر الأيمن، وكبّر بالعجلة، وانقر نقرًا مزدوجًا على جرم للتركيز عليه.
  3. اضغط أي كوكب لترى حجمه وعدد أسطره وعمقه وتعقيده ولغته في لوحة المعلومات.
  4. بدّل بين العروض الشمسي والمجرّي والرسم البياني والخط الزمني والإحصاءات بالأزرار أو بالأرقام 1 إلى 5.
  5. عدّل ملفًا في الفاحص واضغط Ctrl+S لكتابته إلى القرص، أو صدّر صورة PNG أو فيديو WebM أو ملف JSON أو CSV أو تقرير Markdown.

أدوات ذات صلة: فاحص الملفات لتحديد ملف واحد مجهول، ومنسّق فروق الشيفرة لمقارنة نسختين من ملف مصدري، وفك ضغط ZIP لفك أرشيف قبل استكشافه.

التحويل حساب لا زخرفة

لا شيء هنا تنسيق اعتباطي. كل خاصية بصرية دالة على شيء حقيقي في الملف:

خاصية الملف الخاصية الفلكية
الحجم بالبايت نصف قطر الكوكب: clamp(1 + log10(bytes + 1) × 0.5, 0.3, 5)
عمق المجلد المسافة المدارية عن المركز
الامتداد اللون ونوع الكوكب
عدد الأسطر يُجمع في كتلة المجلد
التعقيد المقدّر حلقات حول الكوكب
آخر تعديل الحداثة تظهر في لوحة المعلومات

ومنحنى الحجم اللوغاريتمي أهم مما يبدو. فالقياس الخطي يعني أن ملفًا واحدًا بحجم 2 ميغابايت يجعل كل ملف مصدري ذرة غير مرئية؛ أما المنحنى اللوغاريتمي فيُبقي وحدة بحجم 40 كيلوبايت أكبر بوضوح من أخرى بحجم 2 كيلوبايت، مع ترك الملفات الضخمة فعلًا تهيمن.

والامتدادات تختار نوع الكوكب، فتظهر اللغة كملمس ولون. والملامس تُرسم إجرائيًا على لوحات رسم صغيرة عند التحميل؛ فلا حزمة ملامس لتنزيلها.

قراءة مجلد دون رفعه

الشيفرة المصدرية هي الشيء الوحيد الذي لا يستطيع معظم المطورين لصقه في أداة إنترنت عشوائية. فهي عادةً ملكية فكرية لأحدهم، وتحتوي بانتظام مفاتيح API ونصوص اتصال وأسماء خوادم داخلية. وأي أداة عرض تتطلب الرفع غير قابلة للاستخدام في العمل لهذا السبب بالذات.

لا يرفع Repo-Verse شيئًا أبدًا، لأنه لا مكان لديه ليرفع إليه. وهناك ثلاث طرق للإدخال، مرتبة من الأقدر إلى الأقل:

  • فتح مجلد (واجهة File System Access، في Chrome وEdge): قراءة كاملة مع حفظ مباشر، ووصول إلى .git.
  • اختيار مجلد (حقل webkitdirectory الأقدم): يقرأ كل شيء، لكن التعديلات تُنزّل كنسخة بدل الحفظ في مكانها.
  • أرشيف: ملف .zip يُفك في المتصفح بمكتبة JSZip، مفيد لمستودع أرسله لك أحدهم.

وتُتجاهل افتراضيًا مجلدات مثل node_modules و.git وdist وbuild وtarget و__pycache__ و.venv، وقائمة التجاهل مربع نص قابل للتعديل لا قاعدة مثبتة في الشيفرة.

جعل مستودع من عشرين ألف ملف يعمل بسلاسة

رسم كرة لكل ملف بسذاجة ينهار عند بضعة آلاف من أوامر الرسم. لذا يرتّب Repo-Verse العقد بحسب العمق والحجم، ويعطي أعلى نحو 1,200 منها هندسة حقيقية، ويحوّل الباقي إلى سحابة نقاط ملونة واحدة، حزام كويكبات من الملفات الصغيرة. ولا يُحذف شيء بصمت: تخبرك الشاشة كم ملفًا صار غبار الحزام، وتبقى موجودة في شجرة الملفات والمقاييس والصادرات.

الضغط على كوكب يفتح الملف

تحديد جرم يُظهر مساره وحجمه وعدد أسطره وعمقه وتعقيده ولغته ونوع كوكبه وتاريخ تعديله. والنقر المزدوج يركّز الكاميرا عليه ويفتحه في محرر Monaco مضمّن، وهو قلب المحرر نفسه الذي تستخدمه VS Code، في لوحة زجاجية قابلة للسحب فوق المشهد.

وإذا دخل المشروع عبر واجهة File System Access، فالمحرر قابل للكتابة. اضغط Ctrl+S فيطلب المتصفح إذن القراءة والكتابة في المرة الأولى، ويُكتب الملف إلى القرص مباشرة. وإذا جاء المشروع من أرشيف أو من المنتقي البديل، يبقى المحرر للقراءة فقط وينزّل الحفظ الملف المعدّل بدلًا من ذلك. ولملفات Markdown وHTML زر معاينة، مع عرض HTML داخل إطار معزول بالكامل.

مشاهدة تطور المستودع

إذا احتوى المجلد على مجلد .git، يقرأ Repo-Verse سجل الاعتمادات بمكتبة isomorphic-git ويضع شريط تمرير أسفل المشهد. اسحبه فتظهر الكواكب وتختفي كلما دخلت الملفات الشجرة أو خرجت منها؛ واضغط تشغيل فيبني المستودع نفسه أمامك اعتمادًا تلو الآخر. والمستودع يُفتح للقراءة فقط بحكم البناء لا بحكم السياسة: فنصف الكتابة من واجهة الملفات مطبّق كدوال ترمي خطأً، فلا مسار في الشيفرة يستطيع تغيير تاريخك.

خمس طرق للنظر إلى المشروع نفسه

  • النظام الشمسي: الافتراضي؛ مشروع واحد كنظام كواكب.
  • المجرة: كل المشاريع المحمّلة معًا، لمقارنة شيفرتين جنبًا إلى جنب.
  • الرسم البياني: تخطيط ثلاثي الأبعاد للملفات مربوطة باستيراداتها الداخلية.
  • الخط الزمني: الرحلة عبر تاريخ git الموصوفة أعلاه.
  • الإحصاءات: لوحة ببطاقات ملخص ومخطط دائري للغات ومخطط أعمدة للامتدادات وخريطة شجرية للأحجام.

وكل شيء قابل للتصدير: لقطة PNG أو عرض بدقة مضاعفة، وفيديو WebM لدورة مدتها ثماني ثوانٍ، وملف JSON للشجرة كلها ومقاييسها، وملف CSV لكل ملف، وتقرير Markdown تضعه مباشرة في صفحة ويكي.

ما الذي يخبرك به عن شيفرتك

حمّل مشروعًا تعرفه جيدًا. فالأشياء التي تبرز نادرًا ما تكون ما كنت ستتوقعه: مجلد الإعدادات الذي صار بطريقة ما ثالث أكبر نظام، والملف الواحد الذي أصبح عملاقًا غازيًا، والوحدة المحاطة بحلقات التعقيد التي يتجنبها الجميع، والزاوية في الرسم البياني حيث تستورد أربعة ملفات بعضها في عقدة.

لا شيء من ذلك معلومة جديدة؛ كله كان في قائمة المجلد. لكنه لم يكن مرئيًا حتى رُسم الحجم والعمق والترابط كمسافة وكتلة وضوء.

أدوات أخرى من أدوات المطورين

تصفح جميع أدوات المطورين ←