इस प्रोजेक्ट के बारे में

dotfiles-web, dotgibson dotfiles सिस्टम के लिए सार्वजनिक शोकेस और डॉक्यूमेंटेशन हब है, जिसे README में ग्यारह-रेपो, तीन-परत वाले टर्मिनल वातावरण (Core → OS-native → Role) के रूप में वर्णित किया गया है। यह उस सिस्टम का दस्तावेजीकरण करता है न कि किसी मशीन को कॉन्फ़िगर करता है, इसलिए यह स्पष्ट रूप से तीन परतों में से एक नहीं है। यह साइट Astro के साथ बनाई गई है, Tokyo Night थीम में है, और GitHub Pages पर तैनात है। संरचना README पांच मुख्य रूट सूचीबद्ध करता है: एक लैंडिंग पेज जिसमें हीरो, तीन-परत मॉडल, रेपो मैप और इंस्टाल निर्देश हैं; एक गेटिंग-स्टार्टेड पेज जिसमें प्लेटफॉर्म-वार इंस्टाल मार्गदर्शन है; एक आर्किटेक्चर पेज जिसमें लेयर मॉडल, सबट्री तर्क, लोडर और डीप डाइव शामिल हैं; एक डॉक्स हब जिसमें कॉन्सेप्ट्स, गाइड्स, रेफरेंस और प्रति रिपॉजिटरी एक जनरेटेड पेज है; और एक चेंजलॉग जो प्रत्येक रेपो के CHANGELOG.md को प्रतिबिंबित करता है। डेटा-संचालित सामग्री साइट खुद को डेटा-संचालित और काफी हद तक स्रोत-व्युत्पन्न बताती है: शोकेस कार्ड, प्रति-रेपो डॉक्स पेज, "बाय द नंबर्स" स्ट्रिप और चेंजलॉग src/data के तहत फाइलों और सिबलिंग रेपो से आते हैं, ताकि डॉक्स उस कोड से अलग न हों जिसका वे वर्णन करते हैं। संपादन योग्य इनपुट में src/data/site.ts (साइट का नाम, मालिक, नेविगेशन, GitHub लिंक), src/data/repos.ts (रिपॉजिटरी मैप और प्रति-रेपो गद्य और स्थिति), src/data/install.ts (प्लेटफॉर्म-वार इंस्टाल स्टेप्स) और src/content/docs के तहत मार्कडाउन पेज शामिल हैं। scripts/ के तहत चार कलेक्टर्स सिबलिंग रेपो से जनरेटेड डेटा प्राप्त करते हैं: collect-metrics.mjs ग्यारह dotfiles रेपो से generated.json बनाता है; collect-snippets.mjs छह रेपो की आठ क्यूरेटेड फाइलों से snippets.json बनाता है; collect-corpus.mjs htpx से corpus.json बनाता है; और collect-coverage.mjs dotfiles-Defense से coverage.json बनाता है। सख्ती और प्रोवेनेंस गार्ड्स npm run data को पब्लिश पाथ के रूप में वर्णित किया गया है और यह सख्त है: एक गायब रेपो, या फीचर ब्रांच पर रखा गया सिबलिंग, या किसी ऐसी फाइल में अनकमिटेड एडिट्स जिसे कलेक्टर्स पढ़ते हैं, रन को विफल कर देता है। README बताता है कि यह जांच इसलिए मौजूद है क्योंकि एक बार फीचर ब्रांच पर चेक आउट किए गए dotfiles-core ने एक चेंजलॉग एंट्री पब्लिश कर दी थी जो Core के main पर मौजूद नहीं थी। व्यक्तिगत कलेक्टर्स और npm run data:lenient खोजपूर्ण रन के लिए उदार रहते हैं; README एक हानिरहित मामले (स्रोत रेपो अनुपस्थित — कमिटेड फाइल अछूती, exit 0) और एक ऐसे मामले के बीच अंतर करता है जो अभी भी दूषित डेटा लिखता है (फ्लीट मौजूद है लेकिन अनक्लीन, stamped generatedFrom.clean: false)। दो गार्ड्स उस प्रोवेनेंस फैसले को पढ़ते हैं: npm install या npm run hooks:install द्वारा इंस्टॉल किया गया एक प्री-कमिट हुक (एक मशीन, generated.json और snippets.json को कवर करता है) और data-freshness.yml में एक committed-data-provenance CI जॉब (प्रत्येक PR)। हुक तब जोर से स्किप करता है जब core.hooksPath सेट होता है और इसे DOTFILES_ALLOW_DIRTY_DATA=1 या --no-verify के साथ बायपास किया जा सकता है; CI जॉब ऐसा नहीं कर सकता। ऑटोमेशन fleet-sync.yml साप्ताहिक रूप से चारों कलेक्टर्स को चलाता है और आउटपुट में बदलाव होने पर एक PR खोलता है। data-freshness.yml CI को विफल कर देता है जब चारों कमिटेड फाइलों में से कोई भी अपने स्रोत से मेल नहीं खाती, और इसके अतिरिक्त जब generated.json का Core वर्जन नवीनतम dotfiles-core रिलीज से पीछे होता है। main पर पुश करने से deploy.yml (Astro build → GitHub Pages) ट्रिगर होता है, और स्रोत रेपो docs/WEBHOOK-SETUP.md में वर्णित शॉर्ट-लिव्ड GitHub App टोकन के माध्यम से प्रमाणित होकर repository_dispatch के जरिए रीबिल्ड का अनुरोध कर सकते हैं। डेवलपमेंट पूर्वापेक्षाएँ npm के साथ Node.js हैं; यह प्रोजेक्ट एक मानक Astro प्रोजेक्ट है। कमांड्स में npm run dev (लोकल डेव सर्वर), npm run build (dist/ में प्रोडक्शन बिल्ड), npm run preview और npm run check (Astro टाइप और कंटेंट-कलेक्शन चेक) शामिल हैं। योगदान मार्गदर्शन योगदानकर्ताओं से अनुरोध करता है कि वे सोर्स-ऑफ-ट्रुथ रेपो को आधिकारिक मानें, सामग्री को पेजों में हार्ड-कोड करने के बजाय डेटा फाइलों में रखें, और पुश करने से पहले npm run check और npm run build पास करें। एक MIT लाइसेंस का उल्लेख किया गया है।