इंस्टॉलर पर्यावरण चर
पर्यावरण चरों से स्क्रिप्ट इंस्टॉलर (गंतव्य, स्रोत, हार्नेस, प्रोफ़ाइल, सत्यापन) को नियंत्रित करें।
लक्ष्य: स्क्रिप्ट को संपादित किए बिना, उसे चलाने से पहले पर्यावरण चर सेट करके
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_UNVERIFIED | 1 पर सेट होने पर टैग-हस्ताक्षर-सत्यापन की विफलता को घातक निरस्तीकरण के बजाय चेतावनी में घटाता है | 0 (सत्यापन, विफल होने पर बंद) |
APOTHEM_VERIFY | signature रिलीज़ टैग के 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_VERIFY | 1 पर सेट होने पर इंस्टॉल-पश्चात सत्यापन चरण छोड़ता है | 0 (सत्यापन चलता है) |
APOTHEM_AUTO_INSTALL_DEPS | 1 पर सेट होने पर गायब 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 को
अकेले सेट करें (एयर-गैप्ड, स्थानीय, या पूर्व-हस्ताक्षरित रिलीज़ के उपयोग के लिए)।
APOTHEM_REF=vMAJOR.MINOR.PATCH bash install.shAPOTHEM_VERIFY=checksum bash install.shAPOTHEM_ALLOW_UNVERIFIED=1 bash install.shचरण (POSIX bash)
-
एक गैर-डिफ़ॉल्ट उपयोगकर्ता-स्कोप हार्नेस इंस्टॉल करें:
APOTHEM_HARNESS=codex bash install.sh -
इंस्टॉल गंतव्य पिन करें और चलती हुई
mainब्रांच चुनें। ब्रांच हस्ताक्षरित टैग नहीं होती, इसलिए इंस्टॉलर कोAPOTHEM_ALLOW_UNVERIFIED=1भी चाहिए:APOTHEM_REF=main APOTHEM_ALLOW_UNVERIFIED=1 APOTHEM_HOME=/opt/apothem bash install.sh -
सत्यापन छोड़ते हुए, एक स्थानीय चेकआउट और एक कस्टम प्रोफ़ाइल का उपयोग करें:
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 codexCursor जैसे प्रोजेक्ट-स्कोप हार्नेस के लिए, इंस्टॉलर के बाद इंस्टॉल और सत्यापन
स्वयं --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 उदाहरण को प्रोफ़ाइल की जगह रखकर पूर्वावलोकन करता है और कुछ भी नहीं
लिखता।
संबंधित
- इंस्टॉल करना एक-शॉट नेटवर्क इंस्टॉल को कवर करता है।
- एक हार्नेस जोड़ें पहले इंस्टॉल के बाद CLI के माध्यम से हार्नेस जोड़ने को कवर करता है।
एक टूल जोड़ें
किसी टूल अडैप्टर को सक्षम करें ताकि उसकी नेटिव कॉन्फ़िगरेशन साझा प्रोफ़ाइल से मटेरियलाइज़ हो।
Run the behavioural evals
Measure whether Apothem's commands and subagents fire on the right requests, whether each pipeline stage produces its artifact, and whether a rule changes behaviour, with a cost-capped eval run.