Huruw kɔ emu nsɛm no so
San kɔ Nymbot

Nimdeɛ a wɔde gyina so Kɔdi

Adwumayɛ wɔ git akorae mu

Pro bɛtumi ayɛ adwuma wɔ wo mmoa mma (repositories) mu bi wɔ kɔmputa adwuma dwamfo (coding agent) bi te sɛ — ɛbɛtumi akyerɛ wo nokorɛ files no, na ɛbɛtumi asakra wɔ hɔn mu.

Akura nkitahodie bi nkamfo nkamfo

?git, anaa no Git chip wɔ toolbar no mu no, ɛhyia provider bi: GitHub, GitLab, anaa Gitea/Forgejo — a ɛkyerɛ Codeberg ne self-hosted instances biara. Ɛfa scoped personal access token, repository bi ne branch bi. Repository a ɛbɔ ne ho n'anim wɔ Nostr so wɔfa no sɛ ne kɔmɔ nkyɛn wɔ hɔ a ɛbɛyɛ a.

Ɛnyɛ sɛ wopɛ sɛ wotwerɛ repository no din. Fa token no hyɛ mu na ton nso Fa kyerɛ nea saa token yi bɛtumi aka.Nymbot bɛbisa forge no sɛnea saa token no bɛtumi hwɛ na ɛbɛkyerɛ mmuae no sɛ kɔtɔ a wopɛ sɛ wotiri so. Sɛ wotiri so a, ɛbɛhyɛ nea ɛda hɔ biara nkabom na ɛahyɛ nea ɛda hɔ kwan (branch) no mu, na ɛbɛhyɛ wɔn nyinaa wɔ saa chat yi mu. Nea ɛda hɔ ase no bɛkyerɛ no sɛ ɛda hɔ no, na ɛnsɛe sɛ wobɛhyɛ no foforɔ. Saa asɛm (request) no firi wo device no kɔ forge no nkyɛn kɔtɛɛ — ɛnyɛ Nymbot worker no so — enti token no nnkomfa kɔ baabi a ɛnyɛ hɔ. Forge a obi hyɛ aseɛ (self-hosted) a ɛne cross-origin request nni nkabom no, ɛnyɛ possible sɛ wɔbɛkyerɛ no wɔ list no mu; ɛbɛyɛ sɛ wode repository no hyɛ wo nsa na nea ɛda hɔ nyinaa bɛyɛ sɛnea ɛyɛɛ no.

Ɛneɛ a wode de hyɛɛ mu a, chip no bɛkyerɛ repository no din, ne ntoma a wɔatuma ne a Pro model deɛ wɔpanini wɔ saa repository no mu kɔntekst no mu. ?git disconnect ɛtwa bi. Twa nkabom wɔ repository list no mu token no wɔn werɛ ka no nanso wɔda repository no hɔ no ara, na wɔkyerɛ sɛ ɛnyɛ token biara nni ho, sɛnea wubetumi de foforɔ bi hyɛ mu anɔpa.

Repositories modal no, baabi a GitHub, GitLab anaa Gitea repository bi hyia chat bi.
Kɔm bo kɔ adwumayɛbea (repository) bi mu. Token no bɔ ne ho mu ne wo nneɛma a ɛwɔ wo fie nneɛma foforɔ mu, na ne ho hyɛ mu kɔm kɔ mpaeɛ mu (end to end).

Adeɛ a wɔatoto so a wɔbɔɔ amanneɛ wɔ Nostr so

Abasobɔnten bi a wɔwɔ hɔ no, wɔhyɛ wɔn ho nsɛm wɔ Nostr ansa na wɔaka no wɔ forge biara so rekyerɛ, wɔde uży NIP-34 — kwan a ɛwɔ ɛda ho ngit na gitworkshop. Anndane no yɛ Nostr asɛm bi a ɛka ne dwumadie din, ne nidifoɔ, nkabom a wɔsian ne nneɛma ne nsɛnnennen no, ne URL a wɔbɛfa mu kɔsi no. Awieɛ a ɛtɔ so mmienu no kyerɛ sɛ branch biara kɔ he bi wɔ mpɛn yi mu.

Fa bi hyɛ mu naddr ansi sɛnea nostr:// address no hyɛ repository form no mu na hwe dua Hwɛ ne ho asɛm. Nymbot sesa anidasoɔ no afiri relays no mu na ɔto form no mu: ɛfiri git host a wɔacrɔn no, repository a ɛwɔ hɔ no, ne branch a adwuma no ankasa kyerɛ sɛ ɛyɛ nea ɛwɔ nnɛ no. Wo bɛtoto token bi ma saa host no, ɛfiri sɛ Nostr na ɛgye anidasoɔ no na git server no na ɛgye code no.

Ɛkyerɛ sɛ kwan no yɛ sɛ ɛfiri hefoɔ na wɔato nkyɛn. Repository a ne clone URL wɔ GitHub, GitLab, Gitea anaa Forgejo so — nea wɔahyɛ aseɛ nso — ne nea Nymbot bɛtumi akenkan. Nea wɔato nkyɛn wɔ... git:// na yɛn ssh nni HTTP API bi a yɛbɛfa so akenkan files, na Nymbot nso ka saa asɛm yi ase ansa na ɔadi dwuma kɛkɛ. Berɛ a ɔhoɔfɔ no yɛ ade a wɔayɛ wɔ wɔn nkyɛn no a, ɔhoɔfɔ no yɛ adidi kɛkɛ fi ne din mu, na wubetumi asiesie no ansa na woasie.

Sɛ wɔde wo de kɔ sukuu mu saa kwan yi so a, wɔde nkyerɛkyerɛmu (badge) hyɛ no. ngit wɔ list no mu, na nnyigyei no fr no berɛ a ɛnam ne din so na ɛbɔ ne ho asɛm na ɛnyɛ sɛ ɛda mirror no so kwan so.

Ɛbɛtumi ayɛ dɛn

Adwuma a ɛwɔ repo mu nkyerɛkyerɛmu no, ɛyɛ nindee kɛseɛ bi ansa na ɛnyɛ nkyerɛkyerɛmu koro. Model no bɛtumi aka mfonini mu nneɛma, ahia file, na sesa mfonini mu nneɛma no mu, na ɛnkuase wɔ nea ɛhyɛɛ no kwan — enti sɛ "adwuma a ɛretumi mpa mpa biara no nti adwuma no asɛe ntɛm" a, ɛbɛyɛ sɛ ɛyɛ wo code mu nneɛma nti, ɛnyɛ sɛ ɛde adwuma a ɛkyerɛ wo code no bɔ ne ho adi.

Ɛhunu kwan a wode hyɛɛ no nsuo no, ne nkyekyɛm a ɛwɔ hɔ nnɛ no so.

Ne ho server bɔɔ mmɔden ɛhyɛ aseɛ ama asɛmbisa no, ɛtumi asɛe sɛ ɛnkɔ de asɛm bi bɔ wo code no ho, te sɛ nhyehyɛe no, wɔ Nymbot server so. Ɔkɔtwe biara te mmirika sɛ wobɛma no.

Adwuma a ɛwɔ repository wɔ fon bi so: Nymbot huu mpaeɛ bi na ɔkyerɛ saa mpaeɛ no sɛ diff.
Adwuma a ɛwɔ repo wɔ fon bi so, ne patch no ne nea ɛtɔɔ no anosɛ.

M'atwerɛ kɔm de aka no kɔ so

?git writes on ɛma wo tumi de files to mu, ntentan (branches) hyɛ aseɛ ne pull anaa merge requests mu. Ɛnyɛ ne sɛ ɛwɔ hɔ ara, na ɛyɛ mma sɛ ɛnyɛ wo pɛ sɛ wopɛ sɛ wode kɔ so.

Sɛ n'akwan a wɔatwerɛ no awɔ a, sɛ wopɛ sɛ wosese biribi a, wubetumi ahu branch ne pull request a wubesusuase no, na ɛnyɛ patch a wɔatwerɛ no wɔ chat mu: adwuma biara kɔ so wɔ biako nua ne ne hoƐnyɛ adeɛ biara a wode hyɛ wo default branch mu a wanya saa adeɛ no asɛm, ɛno ne branch a wopuee no, na wopɛɛ sɛ ɛyɛ saa.

A run's edits kyere wɔ asɛm koro mu sɛ commit wɔ repository biara mu, wɔ run no awieeɛ anaa sɛ model no tua sɛ adwuma bi awie. Sɛ wopɛ sɛ woyɛ saa adwuma yi ansa na ɛnyɛ saa a, hyɛ ne on: Bisabe asekyerɛ ansa na woahyɛ wo ho mu adeɛ a ɛwɔ saa repository no mu no. Ɛnna ɛtumi nkyɛ ne nsɛm a ɛtwam wɔ hɔ no, adeɛ a wɔde bue no kyerɛ wɔn no kyerɛ wɔn sɛ ɛyɛ diff, na Fa so nea wɔde ma wɔn berɛ a Fa ɛkyɛn kɔ ɔtwe wɔn twa. Sɛ wode de wo ho bɔ mu a, ɛnyɛ sika kɔ.

Adwuma biara nti nkyekyɛmu biako

Ne ho Adwuma biara nya ne nkamfoTententen ne ne ho. nea ɛyɛ ama repository biara sɛ woampata no adi sɛ ohia, adwuma a ɛkyerɛw commits wɔ ne nkyekyɛmu tiawa bi mu, a wɔfrɛ no nymbot/ na ɛnyɛ nkyɛn kɔkɔɔ bi. Nymbot ɛyɛ no fi adwuma nkyekyɛmu (working branch) no ti mu berɛ a adwuma no ma nea ɛdi kan commit no, enti adwuma a ɛhoro mpo biara nnyɛ nkyekyɛmu (branch). Adwuma nkyekyɛmu (working branch) no nko ara nni hɔ, ɛno nti adwuma pii bɛtumi ayɛ adwuma wɔ repository akoɔso bi mu mmerɛ a ɛmma wɔatwɛn wɔn n'ebɔ, mmerɛ a ɛmma wɔatwɛn wɔn n'ebɔ.

Adwuma no awie a, Nymbot yɛ dɛn Sɛ woyɛɛ no awieɛ no ka. Ma pull request bi mu ɛno ne ɛda biara; Hyɛ awɔ de kɔ kɔmɔ mma nnyɛ biara. ɛgye "Merge" button bi wɔ nkyerɛkyerɛ no so; Fi nkyɛn mmea no animma biara nnye nnyɛ bio. Wo Settings mu na wɔahyɛ no ase, wie wɔ Sɛ adwuma bi nneɛma nnyina a, na edwuma kwan biara bɛtumi ayɛ ne ho sɛnea ɛsɛ. Sɛ forge no nni API bi a Nymbot bɛtumi akɔdi dwumadie akɔ pull requests ho no, anaa sɛ ɛpɛ sɛ ɛde bi ma a, na wɔatwa n'anim, n'asɛm no bɛtena ne ho ɛsɛɛ sɛ ɛwɔ na mmuae no nso bɛka saa asɛm no.

Abasɛm no kyerɛ mframa no a ɛwɔ Fa PR Toɔ, Fa mu kɔ biako ne Twam mu, na Tasks pane no kyerɛ no ne dwumadie no mu. Berɛ a dwumadie no reyɛ no da, ne card no, Tasks pane no ne nea ɛrekyerɛw no nyinaa frɛ branch no sɛnea ɛbɛyɛ a ɛwɔ hɔ, wɔ fieɛ biara a wɔahyɛ akontae no mu. Dwumadie a wɔagyae anaa ɛnyɛɛ nea ɛsɛ sɛ ɛyɛ no de ne branch no hyɛ n'anim bio, na mmom wɔatumi ayɛ mu aduane, ayɛ no ase anaa atow no sɛnea wɔyɛ dwumadie biara. Merge yɛ merge commit kɔ fieɛ no pull request mu, a ɛhɔ hyɛ Nymbot a ɔrekɔre n'anim commit no nti, na mmom eɛn nti sɛnea wɔahyɛe foforɔ a ɛwɔ hɔ no, ɛbɛyɛ a wɔbɛhunu no ansa na wɔayɛ merge no. Wammɔ nneɛma biara kɔ fieɛ kɔ mpanim. Sɛ branch no bɔ ne nneɛma a ɛwɔ dwumadie no mu kwan mu a, mbu no no ma obi nnya Hyɛ PR no ase sɛ ɛbɛboa ma ayɛ ayɛ annaa Kasa kyerɛ Nymbot sɛ ɛnyɛ branch no nso ase, a ɛfa adwuma dwumadie (working branch) no kɔ mu kɔ ne mu wɔ merge commit bi asi anwa rebase. GitHub ne Gitea anaa Forgejo bɛtumi ayɛ saa; GitLab nni API bi a ɛbɛtumi ayɛ saa, enti ɛhɔ no woyɛ biara wɔ merge request no mu.

Sɛnea ɛteɛ no, nneɛma a wopɛ sɛ wosesa CI ne workflow files no nso ahinahina sɛ woasusu ho, sɛnea ɛteɛ no sɛnea ɛteɛ wɔ nnyinasoɔ biara a wɔn nnyinasoɔ nni hɔ no.

Siesie adeɛ ho

Wo adeɛ no kae... nymbot/ akwan a saa akontu yi kɔɔ so. Adeɛ a ɛreba bio wɔ saa repository no so, anaa Fa Nymbot nkyekyɛmu no faɛ. wɔ repository list no mu, ɔsɛe afa a wɔahyɛ wɔn pull request no ase anaa wɔahyɛ no ase, anaa afa a ɛwɔ nnɔkra nson mu bi a ɛnyɛ hwee koraa a ɛwɔ sɛ wɔbɛhyɛ mu. Wɔde afa biara nko ara si sɛ ɛda Nymbot de kɔmmit (commit) a ɔkyerɛɛ no no nti, enti sɛ obi bɛhyɛ biribi anaa nnyinasoɔ biara nni hɔ a wɔbɛsesa no. Ɛyɛ adwuma firi wo nhoma (device) no mu ne token a ɛretu no anadwo; server no nnye token biara sɛ ɛbɛyɛ adwuma no deɛ.

Twere option no mu sɛnea wubetumi de kɔ so kɔ working branch no so da adi. Ɛno ma adwuma bi nya repository no ne ne ho pɛ, na adwuma a ɛtɔ so mmienu wɔ branch no ara so no, ɔbɛkenkan kɛkɛ kɔsi sɛ nea ɛdi kan no awie. App no nkyerɛkyerɛmu a ɛda hɔ tete no nso yɛ saa kwan no so.

Ɛde biribi a run sɛe kɔɔ bi adi ano kɔɔ mpo

Adeɛ a wɔtwe nkyerɛasee kɔ wo repository ho kyerɛ sɛnea wɔtɔɔ nea wɔtɔɔ no: repository no, branch no, ne adeɛ biara a wɔtɔɔ no. Fa saa nsese yi ase hyɛ wɔn deɛ wɔde hyɛɛ wɔn mu bio — ɛnyinaa wɔn kwan no biara twerɛ wɔ commit a branch no si so ansa na ɛyɛeɛ no na wɔde a ɛwɔ saa kwan no mu de commitii. Adwuma a ɛyɛeɛ wɔ ne nnam deɛ Meehyɛ adwuma dwumadie kwan no nkoaa, enti ɛnyɛ hwee a wɔbɛfa mma hɔ: Twam mu ɛsesa ne nkamfo no nyaa deɛ.

Ɛyɛ deɛ wɔasɛe no, ɛnyɛ deɛ wɔasɛrew no. Ɛhwee biara nni hɔ a wɔate ase ase na istory biara nni hɔ a wɔasɛrew: deɛ Nymbot yɛɛ no wɔ asɛm no mu wɔ mu, na ɛnyɛ deɛ wɔasɛrew no: ɛnyɛ deɛ ɛbɛyɛ branch no state bio. Obi a ɔfaa ne nneɛma wɔ mfinimfini no mu no, ne deɛ ɔfaa no bɛtena hɔ na ɛbɛtumi ayɛ adwuma.

Ɛnyɛ sika na ɛdi ne bo. Ɛnyɛ model biara na ɛgye wo ahoɔden, enti ɛnyɛ credits na ɛdi ne bo — access token no fa ne mpaebɔ no kɔ ne nkyɛn te sɛ nea ɛyɛ biara bi, na ɛnyɛ biribiara wɔ checkpoint no mu a wɔde kura w’adwene anaa w’akwan biara so, mmom wo din mu nko ara.

Nneɛma a ɛwɔ files mu nkoaa

Wofiri anaa pull request a wɔtee no no, wɔkyerɛ no na wɔayi no hɔ kɔ ɛba hɔ a ɔwɔ no. Sɛ wosi obi pull request no wɔ ne nneɛma mu a, ɛnyɛ sika kɔ ɛnyɛ asɛm a ɛtumi kɔ anim koraa, na sɛ wesi branch a afoforɔ aka no nso a, ɛnyɛ saa — yɛ ma wo adi dwuma no sɛ wopɛ sɛ ɛyɛ bi.

Sɛ repo adwuma bi nya sika sɛn

Repo task bi de model calls nwɔtwe nka mfomsoɔ biara — hwɛ, kenkan, hwehwɛ, mmuaeɛ — ne biara nsesaeɛ no wɔ model a wɔasii no so no... Pro no dueƐnyɛ wɔde dwom biara de di dwuma no na wɔsika so, enti sɛnea wahu nsɛmmisa bi firi nwoma baako mu no, ɛyɛ sɛ ɛyɛ sɛnea nkyerɛkyerɛmu a ɛte sɛ bi wɔ dwom biara mu no.

App no kyerɛ nnɔ total no ne nsesaeɛ dwumadie adidi adidi mmerɛw mmerɛw a ɛda repo task biara a ɛwɔ hɔ akyi.

Berɛ a adwuma bi nsa mpanin dɔɔso a

Repository dwuma yɛ ntenten anaa loop, ɛnyɛ mmuae baako kɛkɛ: model no kɔtwerɛ directory bi, tware file bi, hwehwɛ wɔ tree no mu, tware foforɔ bi, na ɛno akyi na ɔtwerɛ. Saa loop no wɔ mmoa bi a ɛwɔ mu — ɛyɛ model calls a nkyerɛkyerɛmu no ayɛdeɛ — ɛfiti sɛ agent a ne mmoa nni anisoɔ no bɛma akontaabu mu nnyigyei ayɛ kɛse.

Berɛ a adwuma bi adi ne nkabom awie na adwuma da nkyɛ da no, Nymbot gyina, ɔma wo nea ɔwɔ no, na ɔka no adi. Wubetumi amyɛ biara bio.

Wobetua sɛ ɛnyɛ kwan biara mma ɛkɔ so. Set kwan bi wɔ Settings mu na Nymbot tɔ bio firi ɛno mu pɛ sɛ adwuma biara nni hɔ, ɛde ɛrei a ɛgyee no kɔ so kɔ so mma nnye repository no mfi ase. Ɛkɔ so kɔ kwan kɔkan, kwan biara kyerɛ ne boɔ, na ɛgya mpo sɛ sika no awie, adwuma no awie, anaa wopue Stop. Sɛ wopɛ “until my balance runs out” a, ɛyɛ kɛseɛ bi ara — ɛyɛ wo sika a ɛwɔ wo mu na ɛnyɛ namba a wopennu no.

Hyɛ nso

Ɛnyinsɛnsɛn no ne sɛ wobɛtena na wɔaka no kyerɛ wo. Ɛnyɛ biribiara na ɛkɔ so, na ɛnyɛ biribiara na wɔdi dwuma a ɛwɔ Ɛbɔdeɛ a wopɛeɛ no akyi, sɛ wopɛ sɛ wode sika bɔ bi a.

Anɔpadewa, wosakyereɛfoɔ adeɛ no kɔma kɔkɔɔ biara, enti adwuma biara kɔ no sɛ app no asi mu regyina. Nea ɛwɔ... asɛm a ɛkɔ so wɔ mmerɛ a obi nni hɔ wɔahyɛ no adi, server no de nea ɛreba no kɔ so ɛnara sɛ app no awo mpo a, wɔhyehyɛ mu wɔ budget no mu, ɛtɔ mmia ɛnu nan (40) anadwo ne nnɔnnsia (6) nnɔnhwere, na ɛbɛka kyerɛ wo ɛbaako sɛ adwuma no awie. Sɛ ɛyɛ saa a, ɛhwɛ sɛ ɛde repository token no hyɛ mu fa kɔsi sɛ ɛbɛfa ne kɔkɔɔ (key) a ɛnka biara mpo na ɛwɔ no, na ɛde si wɔ adwuma no akyi na ɛyɛ no wɔ nnɔnnsia (6) nnɔnhwere mu da biara. Background task bi na ɛkyerɛw ne nneɛma wɔ ne nkyekyem (branch) mu te sɛ adwuma biara.

Ɛfa saa token no ho

Ɛfa saa token no ho

Wɔ hwɛ access token no wɔ wo meameame mu na ɛyɛ sync wɔ mu wɔ wo end-to-end encrypted settings mu no, enti server no wɔ mpaeɛ mu akopi bi a ɔntumi mmua no nko ara. Wɔfa no ase wɔ deɛ ɛwɔ mfonini no nyinaa hwɛ bɔ de asa, kɔ Nymbot adwumayɛfoɔ no nkyɛn wɔ adidi biara a wɔde bɛtɔ, na wɔmfa ase wɔ server no mu anaa wɔde kyerɛ afã afɔre biara. Bere a server no de so ne sɛ ɛwɔ mu kɔm, ɛno nko ara, berɛ a a adeɛ a ɛkɔ so wɔ Ɔhwɛ mu Wodeɛ a wode hyɛɛ aseɛ no bɛyɛ adwuma nnɔnnsia (6) nnɔn mpo mma kɔ so. Ma ɛkɔ repository baako a wopɛ sɛ wode di dwuma no nko ara, na sɛ wote adwuma no a, kɔtew no wɔ wo provider no hɔ.

Enti sɛ ɛyɛ deɛ ɛkyerɛ ne ho (syncs), asɛdeɛ a ɛdi dwumadie ne repository no, ɛyɛ adwuma wɔ device biara a wode wo din hyɛ mu,ako nka sɛ wode bɛhyɛ mu bio. Sɛ wode repository no fi device bi mu a, ɛma token no firi afa biara so nso. Token no ntumi nnye... server hyɛ aseɛɛna nkaeɛ no ahoma.