नया टूल अडैप्टर लिखना
नया Apothem टूल अडैप्टर लिखने और प्रकाशित करने के लिए रनबुक।
जब आप Apothem में फ़र्स्ट-पार्टी समावेश के लिए या किसी थर्ड-पार्टी पैकेज के रूप में नया टूल अडैप्टर लिख रहे हों, तब इस रनबुक का उपयोग करें।
पूर्वापेक्षाएँ
- HarnessAdapter प्रोटोकॉल से परिचय
- लक्ष्य टूल के कॉन्फ़िगरेशन प्रारूप की समझ
- Python 3.10+
चरण
1. अडैप्टर लागू करें
लक्ष्य टूल के लिए HarnessAdapter लागू करने हेतु
टूल अडैप्टर लिखना उदाहरण का अनुसरण करें।
यदि अडैप्टर mode: write_text और ownership_class: operator-owned के साथ कोई
सादा-पाठ टेम्पलेट (ऐसी फ़ाइल जो JSON या YAML नहीं है) लिखता है, तो uninstall
फ़ाइल को केवल तभी हटाता है जब वह Apothem द्वारा शिप किए गए किसी टेम्पलेट की
असंपादित प्रति हो। जब कोई बाद की रिलीज़ टेम्पलेट बदलती है, तो उसी बदलाव में पिछले
पाठ का SHA-256 डाइजेस्ट उस मैनिफ़ेस्ट प्रविष्टि की earlier_digests सूची में जोड़ें,
अन्यथा uninstall पिछली रिलीज़ द्वारा लिखी गई हर असंपादित प्रति को यथास्थान छोड़
देता है। नवीनतम रिलीज़ टैग पर पाठ का डाइजेस्ट
git show <tag>:<template path> | sha256sum से लें; टेम्पलेट में कोई
${...} पथ टोकन नहीं होना चाहिए। जब कोई शिप किया गया टेम्पलेट हिसाब में नहीं
होता, तो tests/unit/test_template_digests.py विफल हो जाता है।
2. दस्तावेज़ पृष्ठ लिखें
site/content/docs/harnesses/<slug>.mdx बनाएँ, जो निम्न को कवर करता हो:
- इंस्टॉलेशन प्रवाह
- प्रोफ़ाइल-से-नेटिव-कॉन्फ़िग मैपिंग
- संगतता संबंधी सावधानियाँ
- सत्यापन विधियाँ
- अपडेट और अनइंस्टॉल विधियाँ
- अनुरूपता गेट सतह
- समस्या-निवारण तालिका
- कॉन्फ़िगरेशन नॉब तालिका
3. परीक्षण लिखें
tests/packaging/test_<slug>_adapter.py
tests/unit/test_<slug>_adapter.pyन्यूनतम परीक्षण कवरेज:
test_install_creates_expected_filestest_verify_passes_after_installtest_uninstall_removes_files
4. स्थानीय रूप से सत्यापित करें
apothem install --harness <slug>
apothem verify --harness <slug>
python -m apothem.conformity.gate --all .5. पुल रिक्वेस्ट सबमिट करें
निम्न के साथ एक PR खोलें:
- अडैप्टर कार्यान्वयन
site/content/docs/harnesses/<slug>.mdxपर दस्तावेज़ पृष्ठ- टेस्ट
pyproject.tomlमें एंट्री-पॉइंट पंजीकरण,src/apothem/lib/harness_registry_data.pyमें एकHARNESS_REGISTRYप्रविष्टि (वहाँSUPPORTED_HARNESS_COUNTबढ़ाएँ), औरsrc/apothem/schemas/profile.schema.jsonकेharnessIdenum में ID- चेंजलॉग प्रविष्टि
प्रकाशक खाता सेटअप
@ahmed-g-gad/apothem के लिए npmjs.com विश्वसनीय प्रकाशक और GitHub-पक्ष की रिलीज़ पूर्वापेक्षाएँ कॉन्फ़िगर करें।
क्रॉस-मशीन सिंक सत्यापन चेकलिस्ट
पूर्ण पोर्टेबिलिटी जाँचों के साथ एक नए होस्ट पर Claude Code अडैप्टर के सही ढंग से इंस्टॉल, सत्यापित और अनइंस्टॉल होने की पुष्टि करने की सत्यापन प्रक्रिया।