Celebi / Guide

Command reference

Celebi has three entry points: celebi enters the persistent interactive shell, celebi-cli COMMAND runs one operation for scripts, and celebi-git COMMAND contains Git integration. The tables use the canonical command names shared by the shell and celebi-cli unless marked shell-only. Square brackets [ ] mark optional arguments.

Inside celebi, bare helpme gives object-aware guidance. These three forms show the same detailed command documentation:

help status
helpme status
status --help

Use celebi-cli COMMAND --help outside the shell. Compatibility spellings remain callable and are listed separately by celebi-cli --help.

Projects & navigation

CommandPurpose and usage
list-projectsList all registered projects
use-project <name>Select the project opened by the next celebi session
register-project <name> [path]Register an existing project
remove-project <name>Remove a registry entry without deleting project files
project-pathPrint the path of the current project
project-uuidPrint the UUID of the current project
cd <path>Change directory/object within celebi (shell-only)
cd-project <name>Switch project within celebi (shell-only)
treeDisplay the directory tree
mkdir <path>Create a new directory object
lsList the current object: README, subobjects, and status tags (options like ls --status)
short-lsShort listing of the current object

Creating objects

CommandPurpose and usage
create-algorithm <name>Create an algorithm object (a reusable computation template)
create-task <name>Create a task object (a concrete instance of an algorithm)
create-multi-tasks <base> <stop> [--start <n>]Create numbered tasks for the half-open range start <= n < stop
create-data <name>Create a data object
create-multi-data <path>Create and upload one data object per immediate child directory
create-data-list <name>Create a data-list object
create-lhcb-ap-list <path>Create an LHCb AP data-list task (generates dataList.txt dynamically; fill in the AP query parameters afterwards)
add-apd-token <token>Store an APD token for the current LHCb AP data-list task (in .celebi/config.local.json)

Wiring objects & parameters

CommandPurpose and usage
add-algorithm <path>Attach an algorithm to the current task (visible as code/ inside it)
add-input <path> <alias>Add an input to the current task/algorithm, referenced by alias (the alias system keeps reorganization safe)
add-multi-inputs <path-base> <alias-base> <stop> [--start <n>]Add numbered input paths and aliases for a half-open range
remove-input <alias>Remove an input
remove-multi-inputs <alias-base> <stop> [--start <n>]Remove numbered aliases for a half-open range
set-parameter <name> <value>Set a task parameter matching ${name} in algorithm commands
add-parameter-subtask <dirname> <name> <value>Add a parameter to a specific subtask inside a directory
remove-parameter <name>Remove a parameter
predecessorsList the predecessors of the current object
successorsList the successors of the current object

Configuration & editing

CommandPurpose and usage
configOpen the object’s celebi.yaml in the default editor (creates a template if missing)
set-environment <env>Set the execution environment: script for script-based algorithms, otherwise a Docker image name
set-memory-limit <limit>Set the memory limit, e.g. 256Mi
set-descriptor <text>Set the object’s descriptor (human-readable name/description)
add-source <path>Link an external source file/directory to the object (tracked for dependencies)
comment <text>Add a comment to the object
edit-readmeEdit the object’s README
edit <file>Edit a script file
watermarkShow the object’s watermark (creation metadata, version and signature info)
historyShow the object’s execution and modification history
changesShow recent changes to the object

Impressions

CommandPurpose and usage
impress [names...]Create an impression of the current object (or the named sub-objects) — seal the current state
impressionGet the current object’s impression
viewView impressions of the current task
view-url [impression]Get an impression URL
search-impression <prefix>Search impressions by UUID prefix
traceTrace back to the task/algorithm that generated an impression
draw-dag [output] [--exclude-algorithms]Draw the dependency DAG with Graphviz
bookkeepProject-wide impression bookkeeping (storage, indexing, cleanup)
bookkeeping-urlGet the bookkeeping URL
open-bookkeepingOpen the bookkeeping page
homekeepClean up workflows on the runner
clean-impressionsClean impressions (developer tool)
purge-impressionsPurge impressions of the current object
purge-old-impressionsPurge old impression data, keeping only recent or essential snapshots
doctorRun system diagnostics: examine and repair the repository

Execution

CommandPurpose and usage
submit [--runner <name>]Submit the current task or container for execution
status [--wait]Show status and optionally poll until terminal state — see Task and algorithm states
cancelCancel running impressions for the current task or directory
log [index] [--follow]Show a user-command log, optionally following new output
collect [all|plots|data|logs|<glob>|<name>]Collect task results; defaults to plots + logs
engine-logsFetch workflow engine logs from DITE
collect-outputs / collect-logsCollect only outputs or logs
check-results <runner>Mount cached results for inspection on an SSH runner
auto-download on|offEnable or disable automatic result downloads
cache-on-runner on|offEnable or disable runner-side result caching
testRun a test workflow in a Docker container
workaround [--reference <alg>] [--skip-input <task>]Debug the task in a simulated local run environment — what you see is what runs

DITE & servers

CommandPurpose and usage
diteShow DITE connection information
set-dite <url>Set the DITE (Yuki) server URL; with no argument, show the current setting
add-host <name> <url>Register a host, e.g. add-host localhost http://127.0.0.1:8080
hostsList all hosts and their status
register-booking-server [url] [token]Register the REANA server URL and token with Yuki (falls back to environment variables)
booking-serverCheck the registered REANA server URL and status
book-reanaPackage the current project and upload it to REANA via Yuki (streaming progress)

Runner management

CommandPurpose and usage
runnersList all available runners with full configuration
register-runner <name> <url> <secret>Register a new runner with DITE
request-runner <name>Set the requested runner for the current task
test-runner <name>Probe a runner’s capabilities (snakemake/conda/workdir)
runner-environments <name>List conda environments available on a runner (ssh/native)
remove-runner <name>Remove a runner
update-runner <name> ...Update runner settings (url, token, backend type, Kerberos, EOS mount point, …)

Data management

CommandPurpose and usage
upload-data <path>Upload a local path to DITE
register-ssh-dataRegister data living on an ssh runner into Yuki’s managed staging (MD5 + background copy, live byte progress)
verify-dataVerify the current data task: recompute its MD5 against the registered UUID
attach-data <uuid> [path]Attach a Yuki impression to a rawdata task
import <path>Import external files into the current object (/* imports a whole directory)
export <glob>Export matching files to project/export/
remove-file <file>Remove a file from the object
move-file <src> <dst>Move a file within the object
display <file>View a file of the object
cat <file>Show file contents
imgcat <file>Display an image inline in the terminal (from DITE)

File & object operations

CommandPurpose and usage
cp <src> <dst>Copy objects (relationships and metadata preserved, connections re-wired)
mv <src> <dst>Move/rename objects (relationships unchanged — reorganize freely)
rm <path>Remove objects (validated to protect project integrity)

System & utilities

CommandPurpose and usage
system-shellEnter a system bash; exit or Ctrl-D returns to the Celebi shell
danger-call <cmd>Execute a system command directly (use with care)
EOFExit the Celebi shell (same as Ctrl-D)
helpList all commands
helpmeGet help for the current object