Libraries
Atoms are grouped into four libraries. An engine binds one or more of them, and that decides which task names it recognises.
| Library | Contains | Bound by |
|---|---|---|
| Common | Shell, files, network, data, secrets, containers | kis flow, AI Flow, Workflows |
| Infrastructure | Services, processes, ports, cron, users, gateways | kis flow |
| AI | Models, embeddings, vectors, retrieval, guardrails | AI Flow |
| Pipeline | Readers, writers, transforms over record streams | Datapipes, 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.
Which engine gets what
Section titled “Which engine gets what”| Engine | Common | Infrastructure | AI | Pipeline |
|---|---|---|---|---|
kis flow / Automate | ✓ | ✓ | ||
| AI Flow | ✓ | ✓ | streaming 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.
Task names and namespace names
Section titled “Task names and namespace names”Within a library, one atom carries two names — and they are usually, but not always, the same word.
| Operation | Flow task | Script namespace |
|---|---|---|
| Shell | shell: | shell.execute() |
| Object storage | s3: | s3.upload(), s3.download() |
| HTTP | http: or httpclient: | http.get(), http.post() |
| Templating | liquid: or template: | liquid.render() |
| Structured files | yaml:, yamlx:, json: | yaml.* |
| Containers | docker: or podman: | docker.*, podman.* |
| Kubernetes | k8s: 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.
Counting
Section titled “Counting”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.
See also
Section titled “See also”- Atom reference — every atom, as a task and as a function
- Tasks and functions — how the two surfaces relate
- Flow engines — which engine to use