Skip to content
Talk to our solutions team

Libraries

Atoms are grouped into four libraries. An engine binds one or more of them, and that decides which task names it recognises.

LibraryContainsBound by
CommonShell, files, network, data, secrets, containerskis flow, AI Flow, Workflows
InfrastructureServices, processes, ports, cron, users, gatewayskis flow
AIModels, embeddings, vectors, retrieval, guardrailsAI Flow
PipelineReaders, writers, transforms over record streamsDatapipes, AI Flow (streaming forms)

A script sees the union of whatever is registered in its process. At the CLI that is effectively all four — which is why kis script can call an AI atom and a pipeline operation in the same function, and a flow generally cannot.

EngineCommonInfrastructureAIPipeline
kis flow / Automate
AI Flowstreaming forms
Workflows
Datapipes
kis script

Datapipes is the row to remember. It binds the pipeline library and nothing else, so there is no shell:, no ssh:, no git: in a data pipeline. See Flow engines for why that boundary exists.

Within a library, one atom carries two names — and they are usually, but not always, the same word.

OperationFlow taskScript namespace
Shellshell:shell.execute()
Object storages3:s3.upload(), s3.download()
HTTPhttp: or httpclient:http.get(), http.post()
Templatingliquid: or template:liquid.render()
Structured filesyaml:, yamlx:, json:yaml.*
Containersdocker: or podman:docker.*, podman.*
Kubernetesk8s: or kubectl:k8s.*, kubectl.*

Aliases exist where two communities call the same thing by different names. They resolve to the same atom — podman: is not a different container runtime, it is the same task under the name a podman user would look for.

121 task names are registered across the four libraries. Allowing for aliases, that is a little over a hundred distinct operations. The reference documents each one with both surfaces; these library pages are the index by group.