सामग्रीं प्रति गच्छन्तु
Back to Nymbot

ज्ञानाधारः सङ्केतः।

git भण्डारे कार्यं कुर्वन्

प्रो इत्येषः भवतः एकस्मिन् रिपोजिटरी-मध्ये तथैव कार्यं कर्तुं शक्नोति यथा कोडिंग्-अभिकर्तुः करोति-भवतः वास्तविक-सञ्चिकानां पठनं, लेखनं प्रवर्तयित्वा, परिवर्तनं च।

भण्डारस्य संयोजनं कुर्वन् अस्ति।

?git, अथ वा गीत् तुलिकापट्टे (toolbar) स्थितः चिपः, प्रदातारं योजयति: GitHub, GitLab, अथवा Gitea/Forgejo — यत् Codeberg तथा स्व-सञ्चालित-प्रतिस्थानानि (self-hosted instances) अपि समाहितं करोति। सः एकं परिसीमितं व्यक्तिगत-अधिकार-चिह्नकानम् (scoped personal access token), एकं कोशागारम् (repository) तथा एकं शाखां (branch) गृह्णाति। कोशागारं यत् announces itself on Nostr तस्य स्थाने तस्य सङ्केतरूपेण पेस्ट् कर्तुं शक्यते।

भवन्तः रिपोजिटरी इत्यस्य नाम न टङ्कयेयुः। टोकन् पेस्ट् कृत्वा चिनोतु। एतत् टोकन् कियत् प्राप्तुं शक्नोति इति सूचयतु।: Nymbot asks the forge what that token can see and shows the answer as a list you check. Checking connects each one with its default branch already filled in, and puts them all in this chat. Anything already connected is shown as such rather than offered a second time. That request goes from your device straight to the forge — not through the Nymbot worker — so the token does not travel anywhere it does not already go. A self-hosted forge that refuses cross-origin requests simply cannot be listed; type the repository in by hand and everything else works the same.

यदा संयोज्यते, तदा चिपः रिपॉजिटोरिइ-नामं तथा च प्रेषितान् सन्देशान् दर्शयति 🪪 प्रो-माडेल् तस्य रिपोजिटरी इत्यस्य सन्दर्भे चिनोतु। ?git disconnect तत् अपसारयतु। विच्छेदयतु रिपोजिटरी-सूच्यां टोकन् विस्मरति परन्तु रिपोजिटरी तत्र स्थापयति, यत्र टोकन् नास्ति इति चिह्नितं भवति, येन भवान् पश्चात् नूतनं योजयितुं शक्नोति।

रिपोजिटरीस्-माडल्, यत्र गिट्हब्, गिट्लैब् अथवा गिटिया रिपोजिटरी च चाट् इत्यनेन सह सम्बद्धम् अस्ति।
रिपोजिटरी संयोजयति। सङ्केतः भवतः अन्यैः उपकरणैः सह समन्वयं करोति, अन्ततः अन्तं यावत् मुद्रितः भवति।

Nostr मध्ये घोषितानि कोशस्थानि

कतिपयकोशाः केवलं Forge मध्ये न सन्दर्शयन्तः Nostr मञ्चे स्वस्य उद्घोषणां कुर्वन्ति, प्रयुज्यते एन्. ऐ. पि.-34 - पृष्ठतः प्रोटोकाल् अस्ति। एन्. जि. ऐ. टि. चै तथा gitworkshop। घोषणाः एकः Nostr घटना अस्ति यस्यां प्रकल्पस्य नाम, तस्य रक्षकवृन्दाः, तस्य सुधारैः (patches) समस्याभिः (issues) च संकलितं रिले-सेतु-समूहः (relays), तथा तस्य प्रतिलिपि-संकेताः (URLs) भवेयुः। द्वितीयः सन्देशः वदति यत् प्रत्येकं शाखा (branch) अधुना कुत्र 指स्यूः।

अ पेस्ट् कुरु। naddr अथवा अ nostr:// रिपोजिटरी-प्रपत्रे सङ्केतं कृत्वा प्रेस् कुर्वन्तु। तत्र अन्वेषणं कुरु।. Nymbot रिले-यन्त्रेभ्यः उद्घोषणां पठति ततः च प्रपत्रं पूरयति: यस्मात्ै: git-host-en तत् क्लोन-कृतम्, तत्र स्थितं repository, तथा च प्रकल्पः स्वयं यत् शाखा (branch) वर्तमानं कथयति। भवान् तस्य host-अस्य कृते token-ं योजयति, यतः Nostr उद्घोषणां वहति तथा च git-server कूटं (code) वहति।

यस्य अर्थः अस्ति यत् नियमः केवलं यतः तत् प्रतिलिपिकृतं (clone) जातमस्ति। यस्य प्रतिलिपिकरण-URL GitHub, GitLab, Gitea अथवा Forgejo (स्वयम्-स्थापितं समेतम्) माले अस्ति, तस्य सङ्ग्रहं (repository) Nymbot पठितुं शक्नोति। केवलं तस्य प्रतिलिपिः... git:// किन्तु ssh इत्यस्य файल्ान् पठितुं न कोऽपि HTTP API अस्ति, अतः Nymbot अर्ध-सङ्घटनं (half-connecting) न कृत्वा तत् कथयति। यत्र host स्व-सञ्चालितः (self-hosted) अस्ति, तत्र प्रदाता (provider) तस्य नाम्ना अनुमानितः भवति, तथा च भवान् रक्षणस्य पूर्वं तत् सुधारितुं शक्नोति।

एवं प्रकारेण सङ्ग्रहात्मकः (repository) योजितः चिह्नितः भवति। एन्. जि. ऐ. टि. सूच्यां, प्रत्युत्तरेषु च दर्पणे तस्य मार्गस्य अपेक्षया तस्य घोषिते नाम्ना आह्वयन्ति।

किं कर्तुं शक्नोति?

कोशानां सन्दर्भे एकः सन्देशः एकल-पूर्णतां (single completion) प्राप्तुं न भवेत्, अपितु एकं लघु-एजेण्टं (small agent) रूपेण कार्यं करोति। एषः प्रतिरूपः (model) निर्देशिकानां सूचनं कर्तुं, файलानां पठितुं, वृक्षस्य अन्वेषणं च कर्तुं शक्नोति, ततः यत् वास्तविकतया प्राप्तं तस्मात् उत्तरं ददाति — अतः "पुनरावृत्ति-चक्रं (retry loop) शीघ्रमेव किमर्थं त्यजति" इति प्रश्नस्य उत्तरं तव कोडतः प्राप्यते, तव कोडसत्यानुकरणं कृत्वा अनुमानतः न।

भवान् यया शाखां संयोजितवान् तत् तस्य वर्तमान-शीर्षे दृश्यते।

तेन सह। सेवरः चलति संवादात् तावत् सक्रियम्, एतत् तव कोडस्य उपरि कश्चन आदेशं चालयितुं प्रार्थनां कर्तुं शक्नोति, यथा परीक्षणानि, Nymbot सर्वरस्य उपरि। प्रत्येकं निष्पादनं तव अनुमतिं प्रतीक्षते।

A repository task on a phone: Nymbot finds a bug and shows the patch as a diff.
दूरवाण्या एकं रेपो-कार्यम्, प्याच् इत्यनेन सह, धावने कियत् व्ययः अभवत् इति च।

टर्निङ्ग्-रैट्स् आन् अस्ति।

?git writes on फलकानि संग्रहितुं, शाखाः निर्मातुं, तथा च 'पुल' अथवा 'मर्ज' विनियोजनानि उद्घाटयितुं सामर्थ्यं प्रदाति। एतत् स्वभावेन निरुद्धं भवति, अतः यतः पर्यन्तं भवतः इच्छा न भवति ततः पर्यन्तं निरुद्धं सवितुं समुचितम् अस्ति।

रैट्-आन् इत्यनेन सह, परिवर्तनं पृच्छतु, ततः भवान् वार्तालापे पेच् इत्यस्य स्थाने समीक्षार्थं शाखां तथा पुल्-रिक्वेस्ट् च प्राप्स्यति, प्रत्येकं कार्यम् अनुवर्तते। स्वकीया शाखायदि भवान् तदेव न निरुद्धवान् तर्हि भवतः default शाखायां किमपि न प्रेषितम्, सा भवती शाखा यस्याः भवान् सम्बन्धनं कृतवान्, तथा च भवान् तस्य अभ्यर्थना कृतवान्।

रन्स् इत्यस्य सम्पादनानि प्रति-रिपोजिटरी प्रति-कमिट्-रूपेण गच्छन्ति, रन्स् इत्यस्य अन्ते अथ वा यदा माडेल् कार्यस्य खण्डं निर्णीयते। यदि भवान् तान् प्रथमं द्रष्टुम् इच्छति तर्हि सक्रियं करोतु। प्रतिबद्धतायाः पूर्वं पृच्छतु। तस्य भण्डारस्य कृते। ततः धावनं स्वपरिवर्तनं प्रतिधारणं करोति, प्रत्युत्तरं तान् भिन्नरूपेण दर्शयति, तथा आवेदनं करोतु। यदा तेषाम् प्रतिज्ञां करोति विसर्जयतु। तान् अपसारयति। आवेदनार्थं किमपि न व्ययः भवति।

प्रत्येकस्य कार्यस्य कृते एकं शाखां प्रति

तेन सह। प्रत्येकं कार्यस्य स्वकीया शाखा भवति। यत् प्रत्येकस्य भण्डारस्य कृते अस्ति, यदि भवान् तत् निष्क्रियं न करोति, यत् कार्यम् लिखति तत् स्वकीयां शाखां प्रति प्रतिबद्धं भवति, यस्य नाम अस्ति। nymbot/ and a short id. Nymbot makes it from the head of the working branch when the task makes its first commit, so a task that only reads makes no branch at all. The working branch itself is not touched, which is why several tasks can write to the same repository at once instead of waiting their turn.

When the task is done, Nymbot does what यदा समाप्तं भवति वदति। पुल्-रिक्वेस्ट् उद्घाटयतु। पूर्वनिर्धारितम् अस्ति; सङ्गमस्य प्रस्तावं ददातु प्रत्युत्तरे मर्ज इति बटन् स्थापयति। शाखां वदतु। इतोऽपि किमपि न करोति। पूर्वनिर्धारितं सेट्टिङ्ग्स् मध्ये स्थापितं भवति, अधः। यदा कार्यस्य शाखा सम्पन्ना भवति।, and each repository can choose differently in its own form. If the forge has no API for pull requests Nymbot can use, or it refuses one, the branch is left as it is and the reply says so.

उत्तरं शाखां दर्शयति यस्याः... PR उद्घाटयतु, विलीनं करोतु। तथा निष्कासय।, तथा कार्यपट्टिका (Tasks pane) तत्र कार्यसहितं सूचीबद्धं करोति। यदा कार्यं प्रचलति, तदा तस्य पत्रकम्, कार्यपट्टिका, प्रचलनानां च सूची शाखायाः उद्भवकालमेव नामं सूचयन्ति, यत् एतस्य खाते प्रविष्टस्य प्रत्येकस्य उपस्करस्य उपरि। यत् कार्यं स्थगितं वा अर्धपथे विफलम् वा भवति, तत् अपि स्वशाखां पुनः समर्पयति, येन अन्यकार्यवत् तस्याः सम्मिश्रणम्, विलोपनम् वा स्वच्छता कार्यम् कर्तुं शक्येत। सम्मिश्रणं (merge) तु forge इत्यस्य स्वकीये pull request माध्यमेन एकं merge commit अस्ति, यत् Nymbot द्वारा अभिलेखितस्य commit इत्यस्य उपरि स्थिरं भवति, येन तस्मिन् समये तत्र प्रेषितानां नूतन-commit इत्यस्य अदृश्य-सम्मिश्रणं कदापि न भवति। किमपि कदापि force-push न क्रियते। यदि शाखा कार्यशील-शाखाया (working branch) सह संघर्षं करोति, तर्हि उत्तरं प्रदाति परिहर्तुं पी. आर् उद्घाटयतु। अथवा Nymbot प्रति शाखाम् अद्यतनं कर्तुं पृच्छतु।यत् कार्यकारि-शाखां पुनस्संयोजनस्य अपेक्षया मर्जर्-कमिट् इत्यनेन सह विलीनीकर्तुम् अर्हति। गिट्हब् तथा गितेया अथवा फ़ोर्जेजो इत्येताभ्यां तत् कर्तुं शक्यते; गिट्लैब् इत्यत्र तस्य कृते ए. पि. ऐ. नास्ति, अतः तत्र भवान् मर्जर्-रिक्वैस्ट् इत्यस्मिन् तस्य निराकरणं करोति।

CI तथा कार्यप्रवाह-फलकानां परिवर्तनानि अद्यापि भवतः समीक्षायाः प्रतीक्षां कुर्वन्ति, यथा ते स्वकीयाशाखायाः विना कुर्वन्ति।

शुचीकरणं करोतु।

भवतः यन्त्रं स्मर्यते। nymbot/ अस्य लेखायाः शाखाः निर्मिताः। तस्य भण्डारस्य अग्रिमं कार्यं, अथवा Nymbot-शाखाः शुद्धं कुरु। in the repository list, deletes the ones whose pull request is merged or closed, or that are seven days old with nothing left to merge. A branch is only deleted if it still ends at the commit Nymbot recorded, so one somebody has pushed to since is left alone, and no other branch is ever touched. It runs from your device with the token it already sends; the server keeps no token to do it later.

साक्षात् कार्यशाखां प्रति प्रतिबद्धतां कर्तुं विकल्पं निष्क्रियं करोतु। ततः एकस्मिन् कार्ये एव रिपोजिटरी भवति, तस्मिन् एव शाखायां द्वितीयः केवलं प्रथमं समाप्तं यावत् पठति। आप् इत्यस्य पुरातनानि संस्करणानि अपि तथैव कार्यं कुर्वन्ति।

प्रचालनेन परिवर्तितस्य प्रतिवर्तनम्

भवतः रिपोजिटरी इत्यत्र लिखितं उत्तरं यत् स्पर्शितं तत् वदति-रिपोजिटरी, शाखा, प्रत्येकं संचिका च। एतानि परिवर्तनानि पूर्ववत् कुरु। तान् पुनः स्थापयति-तेषु प्रत्येकः मार्गः कमिट् इत्यत्र पठ्यते, यस्यां शाखायां धावनात् पूर्वं स्थित्वा पूर्ववत् प्रतिबद्धः आसीत्। एकं कार्यम् यत् कार्यम् अकरोत्। स्वकीया शाखा कार्यशाखां परित्यक्तवान्, अतः पुनः स्थापयितुं किमपि नास्ति। निष्कासय। तस्य स्थाने तस्य शाखां निष्कासयति।

एतत् पुनरावर्तनम् अस्ति, पुनर्लेखनम् न। किमपि न मेटितम् न च किमपि इतिहासं पुनर्लिखितम्: यत् Nymbot कृतवान् तत् दैनन्दिनीपुस्तिकायां तिष्ठति, तत् केवलं शाखायाः वर्तमानदशा नास्ति। यः मध्ये तत्र तत्र आगच्छन् सः कार्यं कर्तुं शक्नोति इति सुनिश्चितं भवति।

एतस्य किमपि मूल्यं नास्ति। विमोचनं किमपि प्रतिरूपं (model) स्पर्शं न करोति, अतः तत् किमपि ऋणकम् (credits) व्ययायते — प्रवेश-चिह्नकम् (access token) अन्यतथा यथा अन्यैः प्रतिवेदनेषु भवति, तदेव तस्मिन् एकस्मिन् प्रतिवेदने अपि गच्छति, तत्रैव चेकपॉइण्ट् (checkpoint) तव स्वयम् उपकरणे अन्यत्र किमपि न संचितं भवति।

केवलं प्रलेखाः

यत् शाखा (branch) वा पुल-अनुरोधः (pull request) प्रचालितः अभवत्, तस्य सूचीकरणं तथा तत्रैव स्थायितं भवति। कस्यचित् अन्यस्य पुल-अनुरोधं तस्य स्थानेन समापयितुं (closing) न कदापि पूर्वकार्यस्य निवारणम् (undo) इति मन्यते, तथा अन्यैः दत्तानां शाखानां विलोपनं (deleting) अपि पूर्वकार्यस्य निवारणम् न अस्ति — यदि भवान् तान् लोपयितुम् इच्छति तर्हि स्वयमेव तानि करोतु।

रेपो-कार्यस्य मूल्यं किम्?

एकः रिपो-कार्यः प्रतिसन्देशम् एकषट्पर्यन्तं प्रारूप-आह्वानान् उपयुञ्जते — पश्यति, पठति, अन्विष्यति, उत्तरयति — येषां प्रत्येकस्य शुल्कं नियत-प्रारूपस्य... प्रो-मूल्यंकेवलं प्रयुक्ताः एव आह्वनाः प्रभारिताः भवन्ति, अतः एकस्मिन् файल्-तन्त्रात् उत्तराणां प्राप्तं प्रश्नं तादृशं मूल्यं ददाति यथा सामान्यं उत्तरं भवति।

प्रत्येकस्य रेपो-कार्यस्य अनन्तरं आहत्य आहूतानां सङ्ख्याः च आप् निवेदयति।

यदा कार्यस्य अवकाशः समाप्तः भवति।

रिपोजिटरी-कार्यम् एकं लूप् भवति, न तु एकं उत्तरम्-प्रतिरूपं निर्देशिकां सूचयति, एकं संचिकां पठति, वृक्षं अन्वेषयति, अन्यं पठति, ततः एव लिखति। तस्य लूप् कृते अनुमतिः अस्ति-अनेके प्रतिरूपाणि उत्तरस्य आरक्षित-श्रेण्याः कृते आह्वयन्ति-यतः सीमाहीन-अभिकर्ता सीमाहीन-मुद्रा अस्ति।

When a task uses its allowance with work still to do, Nymbot stops, gives you what it has, and says so. Nothing further is charged.

त्वं तस्य निरन्तरं संचरणं कर्तुं अपि अनुमतिं दातुं शक्नोषि। Settings इत्यत्र एकं निरन्तरता-बजटं (continuation budget) नियतवत् कुरु, तदा कार्यं समाप्तं भवात् Nymbot तन्मूलतः एव पुनः न पठति, अपितु यत्र तस्य कार्यं समाप्तं तत्रैव पुनः आरभते, तथा च तथैव स्मृति-भण्डारात् (balance) पुनः अनुमतिं क्रीणाति। सः एकैकं चरणं क्रमेण गच्छति, प्रत्येकं चरणं तस्य व्ययस्य विवरणं ददाति, तथा च यदा बजेटं समाप्तं भवति, कार्यं पूर्णं भवति, वा त्वं 'Stop' इति ददासि, तदैव सः समाप्यते। “यत्र पर्यन्तं मम शेषराशिः (balance) नश्यामि” इति चयनेन अपि एकं सीमा (ceiling) एव नियता भवति — एषा तव शेषराशिः अस्ति, न तु त्वया लिखितं किमपि संख्या।

टीका

स्वाभाविकरूपेण विरामः तव प्रति वदति च। किमपि निरन्तरं न भवति, तथा च त्वया प्रार्थितस्य प्रत्युत्तरस्य अतिरिक्तं किमपि व्ययितुं न भवति, यदि त्वया व्ययसीमा न निर्धारिता।

सामान्यतया भवतः यन्त्रं प्रत्येकं पादं प्रेषयति, अतः कार्यम् केवलं यावत् आप् उद्घाटितं भवति तावत् एव प्रवर्तते। पृष्ठभूमौ चालयति। सक्रियं भवति चेत्, सर्वर् अग्रिमपादान् एव प्रेषयति, यावत् आप्-इत्यस्य बन्धनं भवति, तस्मिन् एव आयव्ययिकस्य अन्तरे, अधिकतमं 40 पादानि, 6 घण्टाः च यावत्, तथा च कार्यस्य समाप्तेः समये एकवारं भवन्तं सूचयति। एवं कर्तुं सः रिपोजिटरी-टोकन् इतीदं केवलं कार्यस्य समाप्तेः समये एव की इत्यनेन मुद्रितं स्थापयति, तथा च कार्यस्य समाप्तेः समये तथा सर्वदा 6 घण्टाणाम् अन्तरे च निष्कासयति। पृष्ठभूमिकार्यं अन्यस्य कार्यस्य इव स्वशाखां लिखति।

तस्य टोकनस्य विषये

तस्य टोकनस्य विषये

अभिगमचिह्नम् भवतः उपकरणेषु स्थाप्यते तथा च भवतः एन्ड-टु-एण्ड्-एन्क्रिप्टेड्-सेट्टिङ्ग्स् मध्ये तेषां मध्ये समन्वयं करोति, अतः सर्वर् केवलं मुद्रितं प्रतिलिपिं एव धारयति यत् सः पठितुं न शक्नोति। तत् एकं मुद्रितं प्रतिलिपिं धारयति येन सः पठितुं न शक्नोति। यन्त्रस्य विलोपनम्, travels to the Nymbot worker with each request, and is never stored readable server-side or published to relays. The only time the server keeps it is sealed, while a पृष्ठभूमौ चालयतु। भवान् यत् सक्रियं करोति तत् अधिकतमं 6 घण्टा यावत् कार्यं करोति। यत् एकं रिपोजिटरी भवान् उपयोक्तुम् इच्छति तस्यां विस्तारं कुर्वन्तु, तथा च यदा समाप्तं भवति तदा स्वप्रदातृभ्यः तत् प्रत्याहरन्तु।

यतो हि तत् समन्वयं करोति, अतः रिपोजिटरी उपयुज्यमानः संवादः भवतः प्रत्येकस्मिन् यन्त्रे पुनः सम्पर्कं विना कार्यं करोति। एकस्मिन् यन्त्रे रिपोजिटरी विच्छेद्य अन्यस्मिन् अपि टोकन् निष्कासयति। टोकन् कदापि एकं न प्रविशति। सर्वरः सञ्चालयतुतस्य पात्रम्।