profile
apothem profile कमांड समूह के लिए CLI संदर्भ।
साझा Apothem प्रोफ़ाइल का प्रबंधन करें।
profile चार सबकमांड वाला एक कमांड समूह है: init, show, set, और edit।
साझा प्रोफ़ाइल सत्य का एकमात्र स्रोत है जिसे हर हार्नेस अडैप्टर अपने नेटिव
कॉन्फ़िगरेशन में मटेरियलाइज़ करता है।
सारांश
apothem profile init [--profile PATH] [--force]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile show [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile set KEY VALUE
[--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile edit [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]सामान्य विकल्प
हर सबकमांड नीचे दिए गए साझा विकल्प स्वीकार करता है।
| विकल्प | विवरण |
|---|---|
--profile PATH | साझा प्रोफ़ाइल YAML का पथ (डिफ़ॉल्ट मानक प्रोफ़ाइल स्थान है)। |
--quiet, -q | सूचनात्मक आउटपुट दबाता है; केवल त्रुटियाँ उत्सर्जित होती हैं। |
--verbose, -v | अतिरिक्त निदान आउटपुट उत्सर्जित करता है। |
--format plain|json | आउटपुट प्रारूप (डिफ़ॉल्ट: plain)। |
--json | --format json का संक्षिप्त रूप। |
--no-color | आउटपुट में ANSI रंग कोड अक्षम करता है। |
-h, --help | सहायता दिखाता है और बाहर निकलता है। |
सबकमांड
profile init
~/.config/apothem/profile.yaml या --profile PATH पर एक स्कीमा-मान्य न्यूनतम
प्रोफ़ाइल स्कैफ़ोल्ड बनाएँ। मौजूदा फ़ाइलें संरक्षित रहती हैं, जब तक --force न
दिया जाए।
स्कैफ़ोल्ड की पहली पंक्ति एक yaml-language-server मोडलाइन है जो प्रोफ़ाइल
स्कीमा का $id,
https://apothem.ahmedgad.com/schemas/profile.schema.json, नामित करती है। साइट
उस पते पर पैकेज किया गया स्कीमा परोसती है, इसलिए YAML भाषा समर्थन वाला संपादक
प्रोफ़ाइल को आपके संपादित करते समय ही सत्यापित करता है। src/apothem/schemas/ के
अंतर्गत हर पैकेज किया गया स्कीमा इसी तरह
https://apothem.ahmedgad.com/schemas/<file> पर परोसा जाता है।
| विकल्प | विवरण |
|---|---|
--force | किसी मौजूदा प्रोफ़ाइल स्कैफ़ोल्ड को अधिलेखित करता है। |
profile show
सत्यापित, डिफ़ॉल्ट-विस्तारित साझा प्रोफ़ाइल प्रदर्शित करें। --json के साथ
दस्तावेज़ स्वयं प्रोफ़ाइल होता है, जिसकी शुरुआत schema_version से होती है: वह
प्रोफ़ाइल स्कीमा संस्करण जिसके रूप में इंजन ने उसे पढ़ा (देखें
JSON आउटपुट अनुबंध)।
profile set KEY VALUE
साझा प्रोफ़ाइल में एक कुंजी सेट करें। KEY एक बिंदु-युक्त पथ है जो नेस्टेड
प्रोफ़ाइल में नीचे उतरता है (identity.name, preferences.style, enforcement.sprints,
harnesses.<harness>.preferences.style); बिना बिंदु वाली एकल कुंजी एक
शीर्ष-स्तरीय नोड सेट करती है। VALUE एक शाब्दिक स्ट्रिंग के रूप में संग्रहीत
होता है — सादे शब्दों का प्रकार-रूपांतरण नहीं किया जाता (no "no" ही रहता है,
2024-01-01 और 1.0 स्ट्रिंग ही रहते हैं) — सिवाय true/false (बूलियन
प्रवर्तन फ़्लैग) और स्पष्ट [...]/{...} सूची/मैप इनपुट के। पूरी तरह संयोजित
प्रोफ़ाइल को लिखने से पहले स्कीमा के विरुद्ध सत्यापित किया जाता है; अमान्य सेट
ऑपरेशन अस्वीकार कर दिया जाता है और डिस्क पर प्रोफ़ाइल अपरिवर्तित रहती है।
| आर्ग्युमेंट | विवरण |
|---|---|
KEY | प्रोफ़ाइल में सेट किया जाने वाला बिंदु-युक्त पथ (आवश्यक)। |
VALUE | असाइन किया जाने वाला शाब्दिक मान; लिखने से पहले सत्यापित किया जाता है (आवश्यक)। |
profile edit
सिस्टम संपादक में साझा प्रोफ़ाइल खोलें।
सत्यापन त्रुटियाँ
प्रोफ़ाइल पढ़ने वाला हर कमांड उसे पैकेज किए गए स्कीमा के विरुद्ध सत्यापित करता है और एक ही पास में मिली हर समस्या की रिपोर्ट करता है, ताकि एक ही संपादन उन सभी को ठीक कर सके:
- सादा आउटपुट पहली समस्या को पूरा नामित करता है (
Field,Reason,Fix, औरOffending value (redacted): वह इनपुट जो विफल हुआ, जिसमें सीक्रेट-आकार के मान<redacted>से बदले गए होते हैं; यह कभी कोई सुझाया गया प्रतिस्थापन नहीं होता), फिरOther problemsके अंतर्गत दस और तक सूचीबद्ध करता है। - JSON आउटपुट पहली समस्या को
errorऑब्जेक्ट के शीर्ष-स्तरीय फ़ील्ड में रखता है और एकerrorsऐरे जोड़ता है जिसमें हर समस्या होती है (code,field,reason,fix,safe_value)। - अज्ञात कुंजियाँ केवल अप्रत्याशित कुंजी और उसका छिपाया गया मान दोहराती हैं, पूरी प्रोफ़ाइल नहीं।
- प्रबंधित-ब्लॉक मार्कर। किसी भी कुंजी या टेक्स्ट मान में
<!-- BEGIN APOTHEM MANAGED BLOCK -->या<!-- END APOTHEM MANAGED BLOCK -->नहीं हो सकता। Apothem निर्देश फ़ाइलों में अपने द्वारा प्रबंधित ब्लॉक के चारों ओर ये मार्कर लिखता है, और प्रोफ़ाइल टेक्स्ट उसी ब्लॉक के भीतर पहुँचता है, इसलिए उसमें कोई मार्कर ब्लॉक को विभाजित कर देगा। ऐसा हर फ़ील्डprofile.managed_block_markerके साथ विफल होता है:fieldउसका बिंदु-युक्त पथ होता है (उदाहरण के लिएrules.2याmcp_servers.search.env.SEARCH_MODE) औरreasonमार्कर को नामित करता है। मान स्वयं कभी दोहराया नहीं जाता (safe_valuenullहोता है), क्योंकि वह कोई क्रेडेंशियल हो सकता है।
profile init (और प्रोफ़ाइल स्कैफ़ोल्ड करने वाला हर अन्य कमांड)
schema_version: 1 लिखता है। schema_version के बिना प्रोफ़ाइल को संस्करण 1 के
रूप में पढ़ा जाता है।
उदाहरण
apothem profile init
apothem profile init --profile ./profile.yaml --force --json
apothem profile show
apothem profile show --json
apothem profile set seriousness SHARED
apothem profile set rules '["Use fake placeholders in examples."]'
apothem profile editनिकास कोड
| कोड | अर्थ |
|---|---|
| 0 | सफलता (या, edit के लिए, संपादक सामान्य रूप से बाहर निकला) |
| 1 | प्रोफ़ाइल लुप्त है, अमान्य है, --force के बिना पहले से मौजूद है, या लिखी नहीं जा सकती |
| 64 | उपयोग त्रुटि: कोई अज्ञात विकल्प या कमांड, या कोई लुप्त या अमान्य विकल्प मान। --json के अंतर्गत त्रुटि cli.usage कोड वाला एक JSON एनवेलप होती है। |
यह भी देखें
- apothem install — प्रोफ़ाइल को किसी हार्नेस में मटेरियलाइज़ करें
- apothem doctor — सिस्टम-व्यापी इंस्टॉल निदान चलाएँ