लाइसेंस हेडर
DispatchAtlas में प्रत्येक टिप्पणी-योग्य स्रोत फ़ाइल एक एकल-पंक्ति
SPDX-License-Identifier: MIT हेडर वहन करती है; शेष सब कुछ REUSE.toml के एनोटेशन
ब्लॉकों और परियोजना LICENSE द्वारा आच्छादित है। यह पृष्ठ अनुमोदित नीति है; गेट जो मशीन
प्रक्षेपण उपभोग करता है वह tools/license_header.toml है, और tools/license_header.py
उसे प्रवर्तित करता है (check pre-commit व CI में विफल-होकर-बंद होता है, inject एक
अनुपस्थित हेडर को सही स्थान पर वैकल्पिक-निष्क्रिय रूप से जोड़ता है)।
इनलाइन हेडर रूप
| फ़ाइल वर्ग | हेडर पंक्ति | स्थान |
|---|---|---|
.py .toml .yml .yaml .sh .ps1 .cff .editorconfig .gitattributes .gitignore CODEOWNERS | # SPDX-License-Identifier: MIT | प्रथम पंक्ति; shebang होने पर उसके बाद |
.ts .tsx .mjs | // SPDX-License-Identifier: MIT | प्रथम पंक्ति |
.js | // SPDX-License-Identifier: MIT (ब्लॉक रूप /* SPDX-License-Identifier: MIT */ भी स्वीकार्य) | प्रथम पंक्ति |
.css | /* SPDX-License-Identifier: MIT */ | प्रथम पंक्ति |
.md | <!-- SPDX-License-Identifier: MIT --> | प्रथम पंक्ति, या समापन YAML frontmatter बाड़ के बाद प्रथम गैर-रिक्त पंक्ति |
.mdx | {/* SPDX-License-Identifier: MIT */} | समापन frontmatter बाड़ के बाद प्रथम गैर-रिक्त पंक्ति (HTML टिप्पणियाँ MDX निकायों में अमान्य) |
.xml | <!-- SPDX-License-Identifier: MIT --> | प्रथम पंक्ति, या <?xml …?> घोषणा के ठीक बाद |
समग्र-आच्छादित वर्ग
गैर-टिप्पणी-योग्य, डेटा, संपत्ति, lockfile, व मार्कर वर्ग कोई इनलाइन हेडर नहीं वहन करते;
REUSE.toml उनकी लाइसेंस व कॉपीराइट को केंद्रीय रूप से प्रतिज्ञापित करता है:
.json .svg .csv .gz .whl .ttf .woff2 .pdf .png .ico
.log .hash .map .tsbuildinfo .txt .html .lock .typed और pagefind
सूचकांक वर्ग, साथ ही आधार-नाम LICENSE, CNAME, .nojekyll, py.typed, व
.gitkeep।
उत्पन्न-आउटपुट वृक्ष
किसी उत्पन्न-आउटपुट वृक्ष के अंतर्गत प्रत्येक फ़ाइल मशीन-उत्सर्जित प्रमाण या निर्माण
आउटपुट है और विस्तार की परवाह किए बिना समग्र-आच्छादित है: site/out/ और प्रत्येक पैकेज
का dist/, साथ ही प्रयोग कार्यक्षेत्र की स्थानीय परतें। गेट वहाँ कभी इनलाइन हेडर अपेक्षित
नहीं करता न अंतःक्षेपित करता है।
छूट व कार्यक्षेत्र
LICENSES/ के अंतर्गत लाइसेंस पाठ स्वयं लाइसेंस हैं और कोई हेडर नहीं वहन करते। निर्भरता व
कैश वृक्ष (.venv/, node_modules/, बाइट-कोड व उपकरण कैश) नीति के बाहर हैं: वे
DispatchAtlas फ़ाइलें नहीं हैं। इस रजिस्ट्री से अनुपस्थित एक फ़ाइल वर्ग गेट द्वारा
अपंजीकृत के रूप में रिपोर्ट किया जाता है और जाँच विफल करता है — नए वर्ग भेजे जाने से पहले
यहाँ अनुमोदित किए जाते हैं।
गेट चलाना
uv run python tools/license_header.py check
uv run python tools/license_header.py injectcheck प्रत्येक वृक्ष — ट्रैक किया, निजी, व उत्पन्न — को चलता है और किसी भी अनुपस्थित या
अपंजीकृत निष्कर्ष पर गैर-शून्य से बाहर निकलता है। inject फ़ाइल के वर्ग के लिए प्रामाणिक
हेडर सही स्थान पर लिखता है और दूसरे रन पर कुछ नहीं बदलता।