This is an experiment in building CLI experiences for ChromaDB developers.
Installation:
go install github.com/amikos-tech/chroma-cliAdd a server:
chroma server add my-chroma -H localhost -p 8000Create a collection:
chroma create my-collectionList collections:
chroma lsDelete a collection:
chroma rm my-collectionClone a collection:
chroma cp my-collection my-collection-cloneNote: The source collection must have some records in it.
- ✅ Add Server (host, port) -
chroma server add <server-alias> -h <host> -p <port> -o - ✅ List Servers -
chroma server ls - ✅ Remove Server -
chroma server rm <server-id> - ✅ Switch Server, Tenant or Database -
chroma use -s -t -d - ✅ List Collections -
chroma lsorchroma c/collection ls - ✅ Create Collection -
chroma create <collection-name>orchroma c/collection create <collection-name> -e -d - ✅ Delete Collection -
chroma remove <collection-name>orchroma c/collection rm <collection-name> - ✅ Copy Collection -
chroma copy <collection-name> <new-collection-name>orchroma c/collection cp <collection-name> <new-collection-name>orchroma c cp <collection-name> <new-collection-name>(remote to local or local to remote will be supported in the near future) - 🚫 List Documents -
chroma docs ls <collection-name>(using bubblegum interactive tables) - ✅ App version (via -ldflags) -
chroma --version - 🚫 Run - run ChromaDB in various modes (Chroma cloud, local python, local docker, k8s, cloud service providers)
- 🚫 Stack - create manifests for deploying ChromaDB in various modes (local docker compose, k8s, terraform for cloud service providers) - this is an online service
- 🚫 Auth - login, logout, token refresh
- 🚫 App help
- ✅ Chroma version
- 🚫 Chroma docs
- 🚫 Chroma help
Interactive mode - a mode where you can interact with the server using GUI based interface.
Example config file:
active_db: default_database
active_server: test1
active_tenant: default_tenant
servers:
local:
host: localhost
port: "8000"
myserver:
database: mydb
host: 10.10.10.1
port: 9011
secure: false
tenant: my_tenant
test1:
database: default_database
host: localhost
port: 8000
secure: false
tenant: default_tenantmake build # or go build/ go install
./chroma server add test1 -h localhost -p 8000 -o