Skip to main content
A bank is a git repository, so sharing one is git: your bank gets a remote, and a bank another team shares is read at a reference. Credentials stay with git; Kapso never handles them.

Share yours

share attaches the URL as the bank’s origin and pushes main with its tags, plain, never forced: a remote holding unrelated history is refused in git’s words, and so is one your credentials cannot reach, before anything is touched. A bank that does not exist yet is created first. From then on every learn() pushes its lesson commit there, kapso experience update pulls the remote’s main (fast-forward; a history that does not is an error), and the intro a campaign reads says the cards are measured by you and your team. The repository is yours to create, with gh or in the browser; kapso experience list shows where your bank shares to.

Read another team’s

A bank you do not write is loaded by where it is:
A git reference is cloned once into experience.banks (~/.kapso/experience/banks/<slug>@<rev>/, with a fetch record beside the clone) and read from there after; a path is read where it is. Either way the bank is pinned at its head for the campaign, its cards are served under every scope, and the intro calls them measured by others. Your own bank keeps its scope rule; mine:all lifts it. When two sources hold a card of one name, the sessions see both with their source, a plain bank_get_card(cards) opens it from the first loaded bank that can serve it under its scope, bank_get_card(cards, source=) opens the one asked for, the pull log names the source of every row served, and a lesson that cites the card is credited to the source it was opened from; a copy only listed was never read, and a name opened from two sources is reported as an ambiguity rather than credited to either.

Update and remove

Loading never pulls, so update is the one network step: mine takes its remote’s main, a bank read at a branch or HEAD is fetched again, a tag or a commit is what it is. A campaign that is running keeps the pins it launched with, and a bare resume re-pins the launch’s heads, so nothing moves under a build. remove deletes what loading fetched; your bank is yours to delete by hand, the hosted gate is a key in .env, and a bank by path is read in place, so none of the three is the store’s to remove.

Use experience on a build

Load what you share or read; what the sessions see

The lesson bank

The repository’s layout and invariants; what is on a card is under What learn produces

Add a source

Your bank, the hosted gate, an index

Experience reference

The reference grammar and the store’s records
Related pages: What experience is · Use experience on a build · Add a source · The lesson bank · Experience reference Kapso is an open-source framework by Leeroo that builds software toward measurable goals through experiment campaigns. Source code: github.com/Leeroo-AI/kapso · Install: pip install leeroo-kapso · Every page as plain text: llms.txt.