Skip to di tin dɛn we de insay
Go bak to Nymbot

Di tin dɛn we pɔsin fɔ no bɔt Kɔd

Wok na wan git ripɔsitɔri

Pro kin wok insay wan di repozitori we yu get de fɔ wok lɛk wan koding agent — fɔ rid yu di fayo dɛn, ɛn fɔ mek wanit na dɛn, fɔ chanji dɛn.

Konekting wan ripositori

?git, ɔ de Git chip na di toolbar, i konnekt wit wan provayda: GitHub, GitLab, ɔ Gitea/Forgejo — we de kaba Codeberg ɔ di oda wan we yu de host kwae self. I tek wan scoped personal access token, wan repository, ɔ wan branch. Wan repository we en de anons imself pan Nostr yu kin pep am in as im adresi insted.

Yu nɔ nid fɔ taip di repozitɔri neim. Peist di tokin ɛn chooz. Lis wetin dis tokin kin riich: Nymbot de ask de forge wetin dat token de kan si, ɛn ɛ de sho di ansa as wan list we yu de mek check. Wɛn yu de check, ɛ de konɛkt ɛch wan wit ɛn de default branch we de ful ɛlredi, ɛn ɛ de put dem al in dis chat. Any ting we de konɛkt ɛlredi de sho am as so in stek de oda wan de ofa seken tɛm. Dat rɪkwɛst de go friom yu de dɛvays strait go to de forge — ɛ nɔ de go ɔbɔ di Nymbot wōkɛ — so de token nɔ de tɛvl ɔniwe we ɛ nɔ de go ɔlredɛ. Wan fɔːj we de ran na yu ɛn we de rɪfjuːz ɔs-ɔrɪdʒin rɪkwɛsts nɔ de kan de ɛlis; tɛp di rɪpɔsitori in na ɔnd, ɛn ɔl ɔda ting de wōk de seim.

Wans yu konnekt, di chip go sho di ripوزitori nem, an di mesij we dem sen wit a Pro modèl yu selekt run na dat repository kontekst. ?git disconnect E tek am ɔf. Kɔntɛkt am na di repository list forgets di token bɔt de kíp di repository de, we de mek im sho se e nɔ get token, so yu kin add en nɔ di ɔda wan laka.

Di Repositories modal, we GitHub, GitLab, or Gitea repository konɛkt to wan chat.
Yu de konekt wan repository. Di token de sync wit yu ɔda dipayis, ɛn ɔl fɔ sɛkya dɛn ɛnd-tu-ɛnd.

Repozitori dem we dem anɔns na Nostr

Sɔm repozitɔri de ɔnsaɔns demself na Nostr rader di wan de ɔnsaɔns demself na wan fɔj ɔnli, de yus NIP-34 — di protokol de biba ngit and gitworkshop. Di anonsment na Nostr ivɛnt we de kɛri di prɔʤɛkt nem, di pipul we de kɛ am, di rilay we de kɔlɛkt di pæʧis ɛnd isu, ɛnd di URL we yu de klōn am frɔm. A sɛkɔnd ivɛnt de se we ɛʧ brænʧ de pɔin ɛni taym.

Peyst an naddr ɔ bɛ nostr:// put di adres na di repository form en pres Lúk am ap. Nymbot ridi di anonsment na di relays en fìl in di fòm: di git host we in klon am fròm, di ripositori we de de, en di bran we di projek se na im de kɔrrent. Yu still go putin wan tokin fò di dat host, biko Nostr kàri di anonsment en di git serfa kàri di kɔd.

Di wan we dat min na di rule de na we i bin clon from. Wan repository we i clon URL de na GitHub, GitLab, Gitea ɔ Forgejo — inklud in se yu de host am de na yu wan — na di wan Nymbot kin rid. Di wan we i bin clon ɔl de na git:// or ssh has no HTTP API to read files through, and Nymbot says so rather than half-connecting. Where the host is self-hosted the provider is a guess from its name, and you can correct it before saving.

Yu de put repository de na dis wei, e go get badge 🎖️ ngit in di list, an di riplais kɔl am na di nem we i tok, rader di pep de na di mirɔ.

Wetin i kin do

Wan mesij na repo konteks ron olsem wan smol ejen rader dɛn wan single komplitin. Di model kin lisin di direktori, rid fael, ɛn sɔːt di tri, dɛn bin kin answe dɛn sɔːf de dɛn wan faund tru tru — so "wey di ritaray lup de gi ap ɛli" na yu kod de answe, nɔ de na wan gɛs abaut kod we luk olsem yu kod.

I de si di branch we yu konnekt, na in kurent hed.

Wit server di run Dis on fɔ di chat, e kin aks fɔ ran komand na yu kɔd, lɛk di tɛst, na wan Nymbot sɛrvə. Evri tɛm we e ran, e de wait fɔ yu fɔ lɛt am go.

Wan repository task na wan fon: Nymbot find wan bug an ɛ di patch ɛm ɛm as wan diff.
Wan repo task na wan fon, wit di patch ɛn wetin di run kos.

A de tɔn rait ɔn

?git writes on it add de pawa for commit fays, mek branс, an opun pul or merj ricyosɛs. E nɔ on by difɔlt, an yu gud fɔ liyɔ am ɔf til yu want am.

Wif writes on, ask fɔ ɛn ɛnje, ɛn yu go get ɛn bran ɔ ɛn pul rɪkwest fɔ yu rɪvju rader ɛn pɛtʃ dɛn pɛst ɛn tʃat: ɛɛch tɛsk wok ɔn an en de brench de na in onNɔtin pɔsh to yu difɔlt bran ɔns yu nɔ tɔn ɔf dat, di bran we yu konɛkt, ɛn yu as fɔ am.

Di edit we di run de mek dem de kam in wan single commit fɔ ɛch repository, ɛn di ɛn di run ɔ wen di model dekɛd se wan sɔm di wok don. If yu want si dem fɔs, tɔn am on. Aks bifo yu komit fɔ dat repository. Di run den hol di chenj dem bak, di riplay sho dem as dif, an Aplay dem de du am wen Trow am awat e de trows dem awos. To aply, e no de kos nating.

Wan branch fɔ ɛbi wan task

Wit Evel tɑsk de get in in de brent de on, wey de go fɔ ɛvri repository kas di yu tɔn am ɔf, wan tɑsk we de rrait kɔmit na in ɔn brænɔ, we de kɔl nymbot/ and wan smɔl ID. Nymbot mek am frɔm di hed di waka brinƆ wen di task mek in fɔst komit, so wan task we ɔnli rɛd nɔ mek ɛni brinƆ at ɔl. Di waka brinƆ de self nɔ tɔƆ, ɛn ɛn dat na di rɛzɔn we sɛvral task kin waka dɛn ɛn ɔnli rɛd/raɪt to di sem ripositori at de sɔm, in steṭap fɔ nɔ mek dɛn wait fɔ dɛn tɔːn.

Wɛn di wok don, Nymbot du wetin? Wɛn yu don finisht se. Opun wan pull request na di di fɔlt; Ofer wan merge pɔt mɔːn 'Merge' bɔtɔn ɔn de rip-lay; Liiwi di branċ im nɔ du nɔtin mɔ. Di default de set in Settings, an de aw de Wɛn wan task de bransh don, 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.

Di ansa sho di brench wit Opun PR, Join togeda ɛn Wipe am out, an de Tasks pane lis am wetin de de task. Wen de task de run stil, im kard, de Tasks pane, an de lisin wetin de run, de nem di branch as soon as i kɔm fɔst, na ɛvri dɛvays we don sign in to di akont. Wan task we de stɔp ɔ fɛl halfway stil gi in bransh bak, so di fɔ mɛj, dɛlit ɔ klini am ɔ laka ɛni ɔda wan. Wan mɛj na wan mɛj kɔmit mɔ di fɔjɔ di ɔn pul rɪkwɛst, pin to di kɔmit Nymbot rɛkɔdi, so di nyu kɔmits we de pɔsh de ɛn dɛn ɛn de mɛj nɔ de ɛvade de si. Nɔting nɔ de ɛvade fɔs-pɔsh. If di bransh kɔnflikt wetin di wọrkɪŋ bransh, di rɪplaɪ ɔfɔ di ansa Opun di PR fɔ resol ɔ Tell Nymbot mek e update di branch, we de merge di working branch ina am wit wan merge commit rader den rebase. GitHub ɛn Gitea ɔ Forgejo de du dat; GitLab nɔ get API fɔ am, so na dat de yu resolve am na di merge request.

Di chenj di du CI ɛn workflow faily stia we de wit yu rivyu, de mɔn de de de fɔ ɛm we i nɔ get in kɔm di ɔn branҫ.

Kleen-up de de

Yu debais remember di nymbot/ di brenchin we dis akont mek. Di nek task na dat ripositori, ɔ Klinap Nymbot branshyn na di repository list, e deel di wan we di pull request bin merge o kloz, ɔ di wan we don bin de fɔ seven days we nɔ get nɔting left fɔ merge. Di brensh na ɛn de di ɛk de klam se e stil de at di commit Nymbot bin rikɔːd, so if wan pɔsɔsen bin pus sɔmtin to am, e go de boku, ɛn nɔ go tɔːt ɛni ɔda brensh. E de rɔn fɔm yu diivays wit di tokin we e de send lɛn; di sɛvaf nɔ kip ɛni tokin fɔ du am lɛtā.

Tɔn di opchon ɔf fɔ kɔmit di wan dɛk na di wokink bran. Pan dat, wan task de get di ripositori fɔ am wan sɛf, ɛn di sɛkɔnd wan na di sɛm bran de ɔnli rɛd am tɛl di fɔst wan dɔn finis. Di ol difrɛn versịn fɔ di ap de wok pan dat di sɛm we.

Di wan we wan run don tich

Wan riplay we dem tɔt we de go to yu ripositori se wetin dem tɔt: di ripositori, di bran, ɛn evri fayl. Tek dis chenj bak put dem bak — ɛp wan di pat se ɔl di pat de rɛd at di kɔmit we di brench stʊd ɔn bifo di rɔn ɛn kɔmit am as i de. Wan tɑsk we wōk ɔn an apit we de na in in de bodi I luv de working branch wan, so nɔmɔ nɔtin de de to put bak: Wipe am out am kɔt ɔn in bran instɛd.

Dis na revert, no na rewrite. Nɔtin nɔ de sot, ɛn nɔ tink di history wan nɔmɔ di ɔfen: wetin Nymbot du de na di log, a ɛn de kɔmɔ di state di brench. Awanyman we pull am in betwin di tɛm de kiyop wetin de wok stil.

E nɔ kos nɔting. Un-doo nɔ tɔt ɔ nɔ kɔntɔk ɔ nɔ spɛnd ɔ kiredit — di aksɛs tokin tivɛl wit dat wan rikwest de mɛt ɔ de mɛt ɔ, ɛ nɔ nɔting ɔbot di tʃɛkpɔnt we de stɔ diwe ɛksɛp yu ɔn dɛvays.

Fayl nɔmɔ

Di branch ɔ pull request we yu opn lis di am an lof am wanwe de. Di kloz di pull request di wan bodi on in nem nɔ de kɔnt de, an di di-lit di branch we di oda pipul de fitch nɔ de kɔnt de fɔ de—do di wan dɛn de osɛf if yu want dem go.

Wetin wan repo task kost

Wan repo task de yuz up to siks model kɔl fɔ ɛvri mesij — luk, rid, sɔrt, ans— ɛvri wan de bil at di pin d model di Pro prais. Na di kɔl dem we de yuz aktʃɔli de kɔst, so wan kuestʃɔn we dem ansa frɔm wan fayl de kɔst ɔbout di sɛm ɔl tin we wan ɔdinari riplay de kɔst.

Di app de se di totol wetin di am de kɔnt an di namba di kɔl ɔf di namba ɔf kɔl ɔf pɔst ɛvri repo tɔsk.

Wɛn wan wok run outa spays

Di repository task na wan loop, ɛn nɔ na wan singul ansaw: di model go lisin wan directory, rid wan fil, sɔch di tri, rid ɔda wan, ɛn ɔnli den ɛn den go rit. Dat loop get wan alɔns — wan sɛm bifo di model go mek we di repli bin sav krizit fɔ — bikɔs wan agent we nɔ get limɪt na wan bil we nɔ get ɛn ɛn.

Wɛn wan task don am yu alawans bɛf de wok dɔn, Nymbot go stop, gi yu wɛt ɛm get, ɛ bɔ tɛl yu. Nɔmɔ oda tɔŋ ɛn nɔ go ɛkɔ di fɔ yu.

Yu kin let am go on den. Set wan continuation budget na Settings, den Nymbot go buy anotah allowance frɔm de sem balance wen wan task don finish, e go pikap eksakt na de plɛs we e stop rader den de go ridim de repository frɔm de bigin. E de go wan leg at a tɛm, ɛch leg de se wetin e kos, ɛn e go stop de mɔment de budget don finish, de task don finish, ɔ wen yu pres Stop. Sapos yu choz “antil mi balance ran aut”, dis na wan ceiling—na yu balance de rader den wan namba we yu tɛp.

Not

Di default na to stop den tell yu. Nɔtin de go on, ɛn nɔtin de spent pas di ansua we yu ask fɔ, ɛlɛs if yu don set bɔjɛt.

Normali yu dewise de sɛnd i ɛch lek, so wan wok de go on lɛn na de tɛm we di ap de op. Wit bak-graun run wen yu tɛn am on, di sɛrvā sɛn di nekst lɛgs itsɛlf wen di ap kɔs, na di sɛm bajiɛt, at mɔst 40 lɛgs ɛn 6 aawā, ɛn tɛl yu wan tɛm wen di tɑsk kɔm ɔn. Fɔ du dat, i kip di rīpɔzitori tōkɛn sild wit wan ki ɔnli it fɔ hol wen di tɑsk de wok, ɛn i dɛlɛt am wen di tɑsk ɛn, ɛn ɔlwey na wit-in 6 aawā. Wan bakgraun tɑsk rīt to in ɔn bransh lɛk ɛni ɔda tɑsk.

Bɔt da token de

Bɔt da token de

Di access token de kíp na yu dizayis and e de sync bɛtwɛn dem insayd yu end-to-end enkrip tɛd sɛtɪŋ, so di sɛrvɛ na de hold ɔnli wan sɛld kɔpi we e nɔ de kæn rɛd. E de wip na wan wipe di dipayz, de go to di Nymbot worker wit evri request, and dem neva de kip am in a way wey de mek wan oda wan de rid am na di server-side or put am out na di relays. Di onli tɛm we di server de kip am na e de seel, while wan bak-gron ran wetin yu turn on de wok, fɔ at mɔs 6 ɔa. Limat am to di wan repozi-tɔri we yu wan yuz, an tek am bak na yu provayda wen yu don.

Bikos e de sync, wan chat we de use di repository de wok na evri disвай we yu sign in na widisout yu no de konɛkt am ɛn na. If yu diskonɛkt di repository na wan disвай, e de klia di token na di ɔda dɛs too. Di token nɛva ɛntā a server rundi kanteina de.