Adapters from others
Community adapters
An adapter connects Cuvette to one science program. The catalog holds the adapters that come with Cuvette. Other people can write adapters and share them. This page shows how to install one, what Cuvette checks, and how to submit your own.
1 Install an adapter
Type one of these commands in a terminal:
cuvette adapter add <name | git address | folder | .zip> cuvette adapter update [name] cuvette adapter remove <name> cuvette adapter list --installed
addinstalls the adapter in your user adapter folder. The source can be a registry name, a git address, a folder or a .zip file.updateshows the changed files, the new tools and the new permissions. Then it asks before it applies them.removedeletes the adapter.list --installedshows the source, the version, the commit and the SHA-256 checksum of each installed adapter. SHA-256 (Secure Hash Algorithm, 256 bits) is a code that changes if a file changes.
In the app, open the Programs page and click “Add an adapter”. In the terminal, press a in the /programs panel.
Cuvette pins each install. A git source is pinned to a commit. Add #ref to the address to choose a branch, a tag or a commit. A registry source is pinned to a version. Cuvette saves the source and the SHA-256 checksum of all files. list --installed marks an adapter whose files changed after the install.
2 What you see before an install
Before each install or update, Cuvette runs cuvette adapter check --static. This check imports no code and starts no program. Then Cuvette shows a card and asks [y/N]. Bypass permissions does not skip this question. Cuvette does not install an adapter that has an error.
Adapter seqkit 0.1.0, from git address Trust label Unlisted (warning: nobody reviewed it) Program seqkit 2.8.2 (needed on this computer) Commands seqkit stats, seqkit seq Shipped code none Code by agent none Network no Decisions 3 added License MIT Citations 1 Check result 0 errors, 1 warning Tests not run (add --run-tests) Install? [y/N]
The known-answer tests do not run unless you add --run-tests. They do not run for an adapter that ships code.
3 Trust labels
Each adapter has one label. The label shows in cuvette adapters, on the Programs page, in list_adapters, in the choice of program and in the session record.
- Reviewed
- The adapter is in the built-in catalog. The owner read every file. Only the catalog has this label.
- Checked
- The adapter came from the registry. The registry index says that it passed the automatic checks and its tests, and a person approved it. An installed adapter loses this label if its files change after the install.
- Unlisted
- The adapter came from a git address, a folder or a .zip file. Nobody reviewed or checked it. Cuvette shows a warning.
An Unlisted adapter that ships code needs one more confirmation the first time it runs. The session asks “Run the code of NAME?”. In a run without a window, type cuvette adapter allow-code NAME. The Programs page has the action “Allow its code to run”. The confirmation ends when the files change.
4 Submit an adapter
- Write the adapter. Read the adapter specification and the adapter checklist. Add known-answer tests that use public data. Add a
LICENSEfile. - Check it. This command runs the checklist rules and the tests:
cuvette adapter check <folder> --run-tests
- Ask Claude to review it. The command asks first, because it sends the files to the Anthropic application programming interface (API) and costs tokens. It shows the estimate before and the cost after.
cuvette adapter audit <folder>
- Open a pull request to the registry repository. The pull request adds a folder
adapters/<name>/. The folder name is the adapter name.
Two jobs start on each pull request:
- The automatic checks run first, without secrets. They run the lint and the known-answer tests that need no window and no external program.
- A Claude review reads every file of the adapter and posts one comment. The first line is the verdict:
pass,needs-changesorreject. Each reason names a file and a line.
A maintainer reads the code and the review, and approves the merge. Claude merges nothing. Claude reads the files as data and runs no code from the pull request.
The review is advice. Claude can make a mistake. Claude reads at most about 300,000 characters of an adapter, so a person must read the rest of a large adapter.
5 Status
The public registry does not exist yet. It opens after the launch. Until then, share an adapter as a git repository or a .zip file. Users install it with a git address or a folder, and it gets the label Unlisted.
6 Licenses
- An adapter can use any license that the Open Source Initiative (OSI) approves, for example MIT or Apache-2.0. The adapter folder must have a
LICENSEfile with the full text. - Cuvette itself is open source under the GNU Affero General Public License, version 3 (AGPL-3.0). A contribution to Cuvette needs a signed Contributor License Agreement (CLA).