Aw ye tɛmɛ a kɔnɔkow kan
ka Nymbot dɔn

Dɔnniya basigilen Kɔdɔ

Baara kɛli git marayɔrɔ dɔ la

Pro can work inside one of your repositories the way a coding agent does — reading your actual files, and with writes on, changing them.

Repo kɛnkɛra kɛra

?git, wala ye Git Toolbar la chip sɔrɔ, a bɛ tɛgɛmɔgɔ (provider) ɲɛ: GitHub, GitLab, walla Gitea/Forgejo — a bɛ Codeberg ni i ka kɛlɛyɔrɔ (self-hosted) ye dɛmɛ. A bɛ i ka kɛnɛya kɛrɛnkɛrɛn (scoped personal access token), kɛlɛyɔrɔ (repository) ni talan (branch) ye fɛ. Kɛlɛyɔrɔ kan... Nostr la a bɛ i kɛnɛya dɛmɛ bɛɛ la a bɛ se k'a fɔ a fɔli k'a dɔnniya kɔrɔ kɔrɔ fɔ.

I tɛ se ka repository nɔgɔ nɔgɔ ka fɔ. Token bɔ k'a dɔn. Token kɛni bɛ min sɔrɔ, koli ko.: Nymbot b'a a fɛ k'a a kura kura bɛɛ kɛ k'a a dɔn, a b'a kɛ dɔnniya dɔgɔtɔ de bɛɛ kɛ k'a a bɛɛ kɛ a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ. I ka dɔnniya kɛ fɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ. Kalasila bɛɛ bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ. Kalasila bɛɛ bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ. Kalasila bɛɛ bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ k'a a bɛɛ kɛ.

A bɛ kɛnɛya kɛ kɔfɛ, chip bɛ repository tɔgɔ sɔrɔ, k’a fɔ k’a kɔrɔ bɛ mɛsɛdʒi bɛ i ka bɛn k’a fɔ a dɔn k’a kɛ... Pro model Repository kɔnɔ bɛ kɛ kɛnɛya la. ?git disconnect A fɔlɔ. Kaba kɛ Repository lisiti la, token bɛɛ ka san nka repository bɛ dɔ kɛ, a bɛ sɔrɔ ko a tɛ token ye, ka i taga i ka token fɛɛrɛ kɛ.

Repositories modal kɛnɛ, fana GitHub, GitLab o tɔgɔ lo Gitea repository bɛ chat fɛ kɔnɔ bɛ i kɛ.
Repo kɛra kɛnɛya la. Token bɛ sɛnɛ kɛ i ka kɔnɔnu fɛ, k'a bɛɛ kɛ kɛnɛya kɛnɛya kɔnɔ.

Nostr la dɔni-kanw a kɛnɛya.

Saba dɔ kɔrɔ dɔw bɛ u kɛ nɔrɔ dɔw fɛ Nostr la, i n'a fɔ forge kɔrɔ kɔ, u bɛ a fɛ kɛ... NIP-34 — kowulunnu k'a kɔlɔn bɛɛ fɛ ɲɛ kɔrɔ n'a kɔrɔ fɛ ngit ni gitworkshop ye. Anunsiya ye Nostr event ye, a bɛ projɛ tɔgɔ, a kɛlɛbanya kɛw, relays o bɛ patches ni issues sɔrɔ, ni URL-w o bɛna clone kɛ ye fɔ. Sɛgɛn event bɛ fɔ ko branch bɛɛ bɛ kɛ fɛ.

Talo... naddr wa ala nostr:// address ye repository fɔrm kɔ kɔla A bɛ kɛ mɔgɔ sɔrɔ fɛ. Nymbot kɛlɛkɛlɛw la kɔrɔya kɛ, a bɛ fɔlɔ lakanɛ bɛɛ kɔrɔya la ka fɔlɔ dɔni: a bɛ git host o bɛ fɛ kɛ dɔrɔn, a bɛ repository o la, k’a fɔ k’a bɛɛ kɛ a diyara mɛn bɛ kɛ kɛnɛya la. I bɛ dɔgɔtɔ (token) kɛ o host ye, nka Nostr bɛ kɔrɔya kɛ, k’a fɛ git server bɛ kɛ koodu ye.

O ye fɔ ko kurala bɛ kɛ dɔrɔn kɛ a kɛra kɛɛrɛ kɛra kɔnɔ. Repository bɛɛ ma, a URL bɛ GitHub, GitLab, Gitea o tɛ Forgejo kan — k'a fɔ kɛ kɛrɛ kɔnɔ kɛ kɛra k'a bɛɛ la — ye repository Nymbot bɛ se ka diɲɛ ye. A ye kɛra kɛ dɔrɔn... git:// an ssh tɛ HTTP API kɛli k'a fɛ ka filɛsɔrɔsɔ fɔrɔ, nka Nymbot b'a fɔ ko a tɛ, u tɛ fɛ k'a bɛn k'a kɔrɔ fɔ. Ko dusu ka kɛ dɔgɔtɔ dɔ bɛ kɛ, provider bɛ dɔgɔtɔ kɛ a tɔgɔ kɔrɔ la, nka i bɛ a kɛ kɛnɛya kɛ a kɔrɔsɔka fɛ ka a sɔrɔ.

Repo kɛnɛ kɛ ninnɛ fɛ kɛ ye, a bɛ mɔgɔw dɛmɛ k'a yɛlɛma 🏷️ ngit lisila la, ni a bɛ se kɛ kili kɛ kɛ nɛ, a to a ka fɔ a taga dɔgɔtɔrɔ ni a kɔrɔ fɔ a kan ka dɔgɔtɔrɔ kɔrɔ la.

A bɛ se ka mun kɛ?

Repo komini dɔ fɛ, sigidatigɛ dɔ bɛ kɛ n'a ye kɛnɛya kɛlɛn dɔ ye ye. Model bɛ dɔrɔnyɔrɔw bɛn, filenw bɛ a ka dɔn, a bɛ tree sɔrɔ, nka a bɛ a sɔrɔ dɔn ye — nka "sebɛn kɛnɛya bɛ kɛ kɔrɔ" bɛ i ka kɔdɛ (code) dɔn, kɛ n'a ye a gɛnba dɔ ye ye.

A b'a ye munubala a ka kɛra, a kɔrɔ lakan ye.

ka kɛ n fɛ Server bɛ kɛ a bɛ chat kɛra, a bɛ se ka kura kɛ i ka code ye, n'a fɔ tɛstw ye, Nymbot server kan. a bɛɛ bɛ i ka kɛlɛ kɛ i ka fɛrɛ dɔmɔgɔya kɛra.

Telefon kɔnɔ kura walaya: Nymbot kɛlɛ dɔna ka kɛlɛ-san dɔ bɔ diff dɔ kɔnɔ.
Repo kɛlɛw bɛ telefon kan, patch ye ni bɛɛ kɛmɛnɛ kɛnɛ ye.

Kan kɛ kɛra

?git writes on a bɛ dɔgɔtɔ kɛ dɔmɔmɔw bɛɛ kɛra, kɔnɔ bɛɛ sɔrɔ kɛ kɔnɔ, ani pull or merge requests bɛɛ tɛgɛ. A tɛ bɛɛ kɛ fɛɛrɛ la, k'a tɛgɛ k'a tɛ k'a bɛɛ bɛɛ fɛ.

A kɛ nɔgɔw ye, a jigi kɛ kɛnɛ kɛra k’a fɛ ka kɛnɛ bɛɛ kɛ, o bɛ i ye branch ani pull request fɛ i ka fɛn fɛɛrɛ kɛ, a fɛɛrɛ kɛ dɔnniya kɛ k'a tɛ chat kɔnɔ sɔngɔ lali kɛ: dɔ ni dɔ bɛ fɛn dɔw kɛ k'a tɔgɔ kɛ on a kèlè k'a fɛ k'a ye kɛnɛ kɛAn bɛ kɛnɛya munu de bɛ kura dɔgɔtɔ dɔrɔn fɛ, nka i ka bɛɛ fɔ kɔfɛ, o ye branch i ka fɛɛ kɛra, i ka a fɛ.

A run's edits go in as one commit per repository, at the end of the run or when the model decides a piece of work is done. If you would rather see them first, turn on Ask before committing o repository kɔnɔ. O kɛlɛn kɛra kɔ, a bɛ a kɛnɛyɛw (changes) kan kɛ, o dɔnniya (reply) bɛ a ye kɛnɛyɛw (changes) fɔ kɛ kɛnɛyɛ (diff) kan, ka... Kɛ a bɛ a kɛ u ye sisan mɛn Kànna n'a fɛ a bɛ u ka sɔrɔ kɛ kɛla ye. A bɛ se ka kɛ kɛ kɛ kili kili tɛ.

Ɲɛmɔgɔ bɛ kɛla k’a dɛmɛ kuli kɔnɔ

ka kɛ n fɛ Kalan bɛɛ kɛ mɔgɔ kɛlɛ dɔ dɔ ye o, o bɛ kɛ repo bulu kulu kulu ye a ka fɔ fɛɛrɛ tɛ, ka kɛ kɛɲɛ kɛra kɛɲɛ dɔ kɔnɔ, a tɔgɔ bɛ kɛ nymbot/ ka kàɲɛ bɛɛ tɛ kɔrɔ, Nymbot b’a fɛ bɔ tɛgɛtɛgɛ tɛgɛtɛgɛ ka kɛnɛya kɛra, task bɛ kɛ k’a fɔlɔ fɔlɔ fɔlɔ ka kɛ, so task bɛ kɛ k’a dɔɔni dɔɔni tɛ bɛɛ fɔlɔ tɛ, a bɛ bɔ tɛgɛtɛgɛ kɛra. Tɛgɛtɛgɛ kɛnɛya kɛ kɛ k’a bɔ tɛ, o ka cogo ye task bɛɛ bɛ se ka kɛ k’a dɔɔni dɔɔni kɛ repository kɛnɛya kɛra k’a fɛ k’a dɔɔni dɔɔni kɛ k’a dɔɔni dɔɔni fɛ, k’a fɛ k’a bɔ bɛɛ kɛra.

Ɲumun bɛ kɛra k’a kɛ, Nymbot ka mun kɛ? A ka dɔgɔnɛni kɛra kɛra a ka fa. Pull request ɲɔgɔnyɛɲɔɔgɔ la buura bɛ ka nɔgɔya ye; Ka bɔlɔ fɔ fɛra kɛɲɛ mɔgɔ fɛ bɛ kɛ fɛfɛra la; Sɔngɔ dɔ kura dɔ kɛ a ka fɛɛrɛ kɛ se ka tɛ. A bɛ sɛtigi la Settings kɔnɔ, a kɔfɛ Kalan bɛ kɛ kura bɛɛ kɔrɔ ka bɛɛ sɔrɔ k’a la, n'a fɛ ka n'a fɔ k'a fɔ k'a fɔ k'a fɔ ko dɔdɔ tɛ mɔgɔsɔgɔma, n'a fɛ ka dɔdɔ kɛ a ye kɛnɛya la. Ni forge kɛnɛya la t'a la API k'a kɛ pull requests ye, nka Nymbot bɛ se ka kɛ, o tɛ, walla o bɛ a fana kanɛ, o kɔrɔ kɛnɛya bɛ dɔn k'a fɔ o kɔrɔ.

Sariya bɛ kɛnɛ kɛ dumu kuman bɛɛ ye PR fɔlɔ, Ɲɛmɔgɔya ani Bila, and the Tasks pane lists it with the task. While the task is still running, its card, the Tasks pane and the list of what is running name the branch as soon as it exists, on every device signed in to the account. A task that is stopped or fails part-way still hands its branch back, so it can be merged, deleted or cleaned up like any other. A merge is a merge commit through the forge’s own pull request, pinned to the commit Nymbot recorded, so new commits pushed there in the meantime are never merged unseen. Nothing is ever force-pushed. If the branch conflicts with the working branch, the reply offers PR kɔ bɛ k'a jura k'a fɔlɔ ɛ̀ kɔ̀rɔ̀ Nymbot a fɔ ka branch kɛnɛya kɛ, which merges the working branch into it with a merge commit rather than rebasing. GitHub and Gitea or Forgejo can do that; GitLab has no API for it, so there you resolve it in the merge request.

CI ni workflow filéw kɔrɔsiw bɛ i kɛnɛya la kɛra, o bɛ ni bɛɛ kɛ bɛɛ kɛra fɛ branch bɛɛ tɛ kɛra.

Ka sɔnɔ kɛ

I ka kɛnɛya kulu bɛ i ka fɛɛrɛ sɔrɔ nymbot/ account minne kɛra ye bɛnɛmɔgɔ la. Sisan kɛnɛ kɛ n kura repository o la, wala Nymbot mɔgɔw bɛnna ka nɔgɔyalo nɔgɔya repo list o la la, a bɛ pull request ye kɛla wala fannun o la nɔw bɛɛ kɛ, wala a bɛ kɛ san kɛli kɛli wɛrɛ kɛ k’a tɛ kɛra k’a mɛn kɛ, k’a dɛmɛ kɛ k’a mɛn bɛ kɛ. Branch kɛnɛ bɛ kɛ k’a dɛmɛ kɛ u bɛ kɛ commit Nymbot ye sɔrɔ kɛ nɔ kɛ, o tuma sɔrɔ k’a dɛmɛ kɛ u bɛ kɛ dɔ kɛ nɔ kɛ kɛra, nka branch kɛnɛ bɛɛ tɛ kɛ k’a dɛmɛ kɛ. A bɛ se ka kɛ i ka device la n’a fɛ token ye sɔrɔ a bɛ se ka kɛ nɔ kɛ; server tɛ token kɛ n’a fɛ ka kɛ nɔ kɛ kɛlen.

Branch kɛnɛya la kow sɔrɔ kɛ kɛ mɛn bɛ, o saba (option) kɛ mɛn kɛ. Sebɛn kɛla kɛ repository dɔrɔn ko, nɔ kɛla kɛ branch mɔgɔ de la a bɛ nɔ ye kɛnɛya la kɛ sebɛn kɛla kɛ kɛ. App kɛlɛn kɔfɛ kow bɛ kɛ o kɛnɛya la fɛn de.

A kɛra k'a la n'a fɔ k'a taga kɛ k'a yɛlɛma

Kà kà kura fɛ ka kà lase kura bɛ fɔ ko a y’a kɛ kɛnɛ kura fɛ: kura kura ye, kura kura dusu ye, ani file bɛɛ ye. Ɲɛmɔgɔw bɔ a kɔnɔ a bɔra kura la — kɔnɔn bɛɛ fɛɛrɛ kɔnɔ k'a yɛlɛma kɔnɔ k'a bɔra kow la, k'a dɛmɛ k'a bɛɛ bɔ k'a yɛlɛma k'a fɔ k'a bɛɛ kɛ k'a bɛɛ bɔ kow la. Kalo kɛra kɛɲɛ k'a kɛ k'a bɛɛ kɛ k'a yɛlɛma k'a bɛɛ bɔ kow la. a dɛmɛnɛ dɔ dɔmɛnɛ nɔɔ n'a fɔ k'a k'a bɛn kɛnɛ, u kɔnɔ t'a bɛɛ fɔ k'a fɔ k'a bɛn kɛnɛ: Bila a ka a dɔnniya fɔlɔ sɔrɔsɔ.

O ye katan fɔlɔ ye, a tɛ kɔrɔ fɔlɔ ye. Uɲɛɲɛ tɛ kɛ, kɔrɔ fɔlɔ tɛ kɛ: Nymbot ka kɛ kɛra kɛ ye, o bɛ log kɔnɔ, a ye branch kɔnɔ dɔrɔn tɛ. Ɲɛmɔgɔ kɛra kɛ ye kɔnɔ fɛɛrɛ, o bɛ kɛla dɔ kɛ kɛrɛŋɛma.

A tɛ fanga ye. A ka bɔlɔlɔ tɛ model tala, ko o tɛ credit kɛ — access token bɛ request kɛ kɛ kɛ i n'a fɔ i bɛ kɛ kalan kɛ kɛ kɛ kɛ, ka checkpoint fɛ kɛ dɔ tɛ i ka masini kɛ fɛ.

Filé de ko

Branch kalan walla pull request a ye kɛra ye n'a fɛ ka ye open ye, o bɛ kɛ n'a fɛ ka n'a ye dɔgɔtɔ de ye. Pull request ɲɛ kɛ n'a fɛ ka n'a kɛ k'a dɛmɛ ye, o tɛ kɛ kan ka kɛ kɛnɛ de ye ye, n'a fɛ ka branch kalan kɛ n'a fɛ ka n'a dɛmɛ ye k'a fɛ ka n'a ye dɔgɔtɔ de ye, o tɛ kɛ kɛnɛ de ye ye — i ye i ye fɛ i bɛ se ka kɛ o ye n'i bɛ se ka n'a ye dɛmɛ de ye.

Repo tɔgɔ bɛ i fɛ kɛ kɛnɛ yan?

A repo task uses up to six model calls per message — look, read, search, answer — each billed at the pinned model's Pro sɔrɔɲɛ. Only the calls actually used are charged, so a question answered from one file costs about what an ordinary reply costs.

Apli bɛ kan ka kɛnɛ kɛ ani kɛlɛ kɛnɛ kɛ mogo kɛrɛnkɛrɛn bɛɛ kɔfɛ repo tɔgɔ n’a kɔfɛ.

Ɲɛkan bɛ kɛ k’a fɛ k’a sɔrɔ kɛndɛ kɛlɛ kɔnɔ ma

A repository task is a loop, not a single answer: the model lists a directory, reads a file, searches the tree, reads another, and only then writes. That loop has an allowance — a number of model calls the reply reserved credits for — because an unbounded agent is an unbounded bill.

Ɲɛmɔgɔ kulu bɛ kɛ kɛnɛya kɔrɔ la, Nymbot bɛ se ka taga, a bɛ i ye a ka kɛnɛya kɛ, a bɛ a fɔ i ye. A tɛ kɛnɛya kɔrɔ kɛ.

You can also let it carry on. Set a continuation budget in Settings and Nymbot buys another allowance from the same balance when a task runs out, picking up exactly where it stopped rather than re-reading the repository from the beginning. It goes one leg at a time, each leg saying what it cost, and stops the moment the budget is spent, the task is finished, or you press Stop. Choosing “until my balance runs out” is still a ceiling — it is your balance rather than a number you typed.

Nɔti

A bɛ kɛ dɔgɔtɔ dɔɔni dɔɔni dɔɔni k'i fɔ i ye. Ala tɛ fɛɛrɛ kɛ n'a tɛ dɛmɛ dɔ fɛ, i k'a fɛ ka saba kɛ, n'a tɛ i ka jɛ de kɛ dɔrɔn.

Ɲuman kɔnɔ, sa ka dɛmɛ fɛɛrɛ kɛ, dɔnniya kɛra fɔlɔ kɛra kɔnɔ, dɔnniya bɛ kɛ fɛɛrɛ kɛra dɛmɛ bɛɛ kɛra kɔnɔ. Bɛɛ kɛra dɛmɛ kɛra kɔnɔ. baba-kili kɛ dɔgɔtɔgɔ kɛra turned on, the server sends the next legs itself while the app is closed, within the same budget, at most 40 legs and 6 hours, and tells you once when the task is done. To do that it keeps the repository token sealed with a key only it holds while the task is working, and deletes it when the task ends and always within 6 hours. A background task writes to its own branch like any other task.

O token in ko la

O token in ko la

Access token ye ka n'i ka fɛnw kura kɛ i ka minɛsɛw la, ka kɛ kɛnɛya kɛ i ka end-to-end encrypted settings la, nka server tɛ dɔ kɛ i ka fɛnw fɛ, a bɛ ko bɛɛ bɔ. A bɛ se kɛ... bilidɛ sɔrɔ fɛɛrɛ deɛ, Nymbot kɛlɛkɛla la bɛɛ kow bɛɛ fɛ, nka a tɛ server kɔnɔ fɔlɔ bɛɛ fɛ k'a fɔ k'a sɔrɔ, tɛ a tɛ relayw ma fɔ k'a sɔrɔ ye. Server bɛ a kɛ kɛnɛya kɛ kɛnɛ kɛ k'a dɔgɔtɔ, k'a bɛɛ fɛ... nɔgɔya kɛ kɔrɔ kɛnɛ kɛ you turned on is working, for at most 6 hours. Scope it to the one repository you mean to use, and revoke it at your provider when you are done.

Because it syncs, a chat that uses the repository works on every device you sign in on without connecting it again. Disconnecting the repository on one device clears the token on the others too. The token never enters a sèvè fɔa dumu.