Skip to content
Apothem
कैसे-करें नुस्खे

इंस्टॉलर पर्यावरण चर

पर्यावरण चरों से स्क्रिप्ट इंस्टॉलर (गंतव्य, स्रोत, हार्नेस, प्रोफ़ाइल, सत्यापन) को नियंत्रित करें।

लक्ष्य: स्क्रिप्ट को संपादित किए बिना, उसे चलाने से पहले पर्यावरण चर सेट करके install.sh / install.ps1 को निर्देशित करें।

पूर्वापेक्षाएँ

  • एक POSIX शेल (bash) या PowerShell 5.1+। नीचे के PowerShell उदाहरण pwsh (PowerShell 7+) चलाते हैं। Windows PowerShell 5.1 के अंतर्गत, इसके बजाय powershell -NoProfile -ExecutionPolicy Bypass -File install.ps1 चलाएँ।
  • चर इंस्टॉलर के शीर्ष पर एक बार पढ़े जाते हैं, इसलिए उन्हें उसी कमांड में सेट करें (या पहले उन्हें एक्सपोर्ट करें), फिर इंस्टॉलर चलाएँ।

इंस्टॉलर चर

चरनियंत्रित करता हैडिफ़ॉल्ट
APOTHEM_HOMEक्लोन किए गए स्रोत ट्री के लिए इंस्टॉल गंतव्य$HOME/.apothem
APOTHEM_REPOक्लोन करने के लिए Git रिमोटhttps://github.com/ahmed-g-gad/apothem
APOTHEM_REFचेक आउट करने के लिए Git ref; अनसेट होने पर नवीनतम हस्ताक्षरित vMAJOR.MINOR.PATCH टैग रिज़ॉल्व होता है, कोई टैग मान उसे पिन करता है, main चलती ब्रांच चुनता है। main जैसा गैर-टैग ref APOTHEM_ALLOW_UNVERIFIED=1 के बिना निरस्त हो जाता है।अनसेट (नवीनतम हस्ताक्षरित टैग)
APOTHEM_ALLOW_UNVERIFIED1 पर सेट होने पर टैग-हस्ताक्षर-सत्यापन की विफलता को घातक निरस्तीकरण के बजाय चेतावनी में घटाता है0 (सत्यापन, विफल होने पर बंद)
APOTHEM_VERIFYsignature रिलीज़ टैग के GPG हस्ताक्षर का सत्यापन करता है; checksum रिलीज़ का प्लेटफ़ॉर्म आर्काइव उसके SHA-256 को रिलीज़ के SHA256SUMS से मिलाने के बाद इंस्टॉल करता है (यह अखंडता की जाँच है, इस बात का प्रमाण नहीं कि उसे किसने प्रकाशित किया)signature
APOTHEM_RELEASE_BASEचेकसम मोड के लिए डाउनलोड आधार<APOTHEM_REPO>/releases/download
APOTHEM_SOURCEक्लोन करने के बजाय उपयोग करने के लिए स्पष्ट स्थानीय स्रोत ट्रीअनसेट (क्लोन)
APOTHEM_HARNESSइंस्टॉल करने के लिए उपयोगकर्ता-स्कोप हार्नेस (antigravity, claude-code, codex, hermes, open-claw, opencode, qwen-code)। इंस्टॉलर --project पास नहीं करता, इसलिए प्रोजेक्ट-स्कोप हार्नेस project.required के साथ विफल होता है; उन्हें बाद में apothem install --harness NAME --project PATH से इंस्टॉल करें।claude-code
APOTHEM_PROFILEसाझा प्रोफ़ाइल YAML का पथ$HOME/.config/apothem/profile.yaml
APOTHEM_SKIP_VERIFY1 पर सेट होने पर इंस्टॉल-पश्चात सत्यापन चरण छोड़ता है0 (सत्यापन चलता है)
APOTHEM_AUTO_INSTALL_DEPS1 पर सेट होने पर गायब click / rich पूर्वापेक्षाएँ बिना पूछे अपने-आप इंस्टॉल करता है0 (पूछता है, या गैर-इंटरैक्टिव पाइप में मना करता है)
APOTHEM_BIN_DIRरखे गए apothem कमांड शिम के लिए डायरेक्टरी$HOME/.local/bin (POSIX); %LOCALAPPDATA%\Microsoft\WindowsApps (Windows)
NO_COLORकिसी भी मान पर सेट होने पर रंगीन आउटपुट बंद करता है (no-color.org); जब भी आउटपुट टर्मिनल न हो (पाइप, फ़ाइल, CI लॉग), तब भी रंग बंद रहता हैअनसेट (रंग केवल इंटरैक्टिव टर्मिनल पर)

APOTHEM_SOURCE क्लोन पर प्राथमिकता लेता है: जब इसे ऐसे चेकआउट पर सेट किया जाता है जिसमें src/apothem हो, तो इंस्टॉलर उसका सीधे उपयोग करता है, APOTHEM_REPO / APOTHEM_REF को कभी नहीं छूता, और टैग रिज़ॉल्यूशन तथा हस्ताक्षर सत्यापन छोड़ देता है (सत्यापित करने के लिए कुछ भी फ़ेच नहीं किया जाता)।

जब APOTHEM_HOME किसी ऐसी मौजूदा डायरेक्टरी की ओर इंगित करता है जो git क्लोन नहीं है, तो इंस्टॉलर उसे हटाने से इनकार करता है: उसे किसी दूसरी जगह स्थानांतरित करें, APOTHEM_HOME को कहीं और इंगित करें, या प्रतिस्थापन को अधिकृत करने के लिए --yes (Windows पर -Yes) पास करें। एक पुरानी खाली डायरेक्टरी फ़्लैग के बिना प्रतिस्थापित कर दी जाती है।

विश्वास मॉडल

जब APOTHEM_REF सेट नहीं होता, तो इंस्टॉलर नवीनतम हस्ताक्षरित रिलीज़ टैग रिज़ॉल्व करता है और किसी भी कॉन्फ़िगरेशन को मूर्त रूप देने से पहले git verify-tag से उसके हस्ताक्षर का सत्यापन करता है; एक अहस्ताक्षरित या छेड़छाड़ किया गया टैग इंस्टॉल को निरस्त कर देता है। जिस हस्ताक्षरित टैग की अनुरक्षक सार्वजनिक कुंजी स्थानीय कीरिंग में नहीं है, वह इसके बजाय कुंजी-आयात मार्गदर्शन के साथ निरस्त होता है — कुंजी आयात करें और उसके फ़िंगरप्रिंट की जाँच SECURITY.md में प्रकाशित मान से करें। किसी ज्ञात रिलीज़ को APOTHEM_REF=<tag> से पिन करें, टैग रिलीज़ पृष्ठ से लें; पिन किया गया टैग उसी तरह सत्यापित होता है। चलती ब्रांच को APOTHEM_REF=main के साथ APOTHEM_ALLOW_UNVERIFIED=1 जोड़कर चुनें; वह इंस्टॉल असत्यापित होता है, और अकेला main इंस्टॉल को निरस्त कर देता है क्योंकि ब्रांच हस्ताक्षरित टैग नहीं होती। किसी सत्यापन विफलता से चेतावनी के साथ आगे बढ़ने के लिए APOTHEM_ALLOW_UNVERIFIED=1 को अकेले सेट करें (एयर-गैप्ड, स्थानीय, या पूर्व-हस्ताक्षरित रिलीज़ के उपयोग के लिए)।

Pinned, verified install
APOTHEM_REF=vMAJOR.MINOR.PATCH bash install.sh
Check the archive digest when the signing key is not imported
APOTHEM_VERIFY=checksum bash install.sh
Proceed without verification (interim / air-gapped)
APOTHEM_ALLOW_UNVERIFIED=1 bash install.sh

चरण (POSIX bash)

  1. एक गैर-डिफ़ॉल्ट उपयोगकर्ता-स्कोप हार्नेस इंस्टॉल करें:

    APOTHEM_HARNESS=codex bash install.sh
  2. इंस्टॉल गंतव्य पिन करें और चलती हुई main ब्रांच चुनें। ब्रांच हस्ताक्षरित टैग नहीं होती, इसलिए इंस्टॉलर को APOTHEM_ALLOW_UNVERIFIED=1 भी चाहिए:

    APOTHEM_REF=main APOTHEM_ALLOW_UNVERIFIED=1 APOTHEM_HOME=/opt/apothem bash install.sh
  3. सत्यापन छोड़ते हुए, एक स्थानीय चेकआउट और एक कस्टम प्रोफ़ाइल का उपयोग करें:

    APOTHEM_SOURCE=/work/apothem \
    APOTHEM_PROFILE=/work/profile.yaml \
    APOTHEM_SKIP_VERIFY=1 \
    bash install.sh

चरण (PowerShell)

इंस्टॉलर चलाने से पहले हर चर को $env: पर सेट करें:

$env:APOTHEM_HARNESS = 'codex'
pwsh -NoProfile -File install.ps1
$env:APOTHEM_ALLOW_UNVERIFIED = '1'
$env:APOTHEM_REF = 'main'
$env:APOTHEM_HOME = 'C:\opt\apothem'
pwsh -NoProfile -File install.ps1
$env:APOTHEM_SOURCE = 'C:\work\apothem'
$env:APOTHEM_PROFILE = 'C:\work\profile.yaml'
$env:APOTHEM_SKIP_VERIFY = '1'
pwsh -NoProfile -File install.ps1

सत्यापन

इंस्टॉलर ✓ Harness <name> installed प्रिंट करता है, फिर (जब तक APOTHEM_SKIP_VERIFY=1 न हो) ✓ verify passed। स्वतंत्र रूप से पुष्टि करें:

apothem verify --harness codex

Cursor जैसे प्रोजेक्ट-स्कोप हार्नेस के लिए, इंस्टॉलर के बाद इंस्टॉल और सत्यापन स्वयं --project के साथ चलाएँ:

apothem install --harness cursor --project /path/to/project
apothem verify --harness cursor --project /path/to/project

जब प्रोफ़ाइल अभी मौजूद नहीं थी, तो इंस्टॉलर उदाहरण से एक प्रोफ़ाइल बनाता है और उसी रन में इंस्टॉल और सत्यापन जारी रखता है। उदाहरण के पहचान फ़ील्ड प्लेसहोल्डर हैं, इसलिए इंस्टॉल एक नोट प्रिंट करता है; $APOTHEM_PROFILE संपादित करें, फिर अपनी पहचान लागू करने के लिए apothem update --harness <name> चलाएँ। बिना प्रोफ़ाइल के एक --dry-run उदाहरण को प्रोफ़ाइल की जगह रखकर पूर्वावलोकन करता है और कुछ भी नहीं लिखता।

संबंधित

On this page