# Errand ## Docs - [errand run](https://errand.nuvrel.dev/cli/run.md): Run tasks from the playbook. - [coalesce](https://errand.nuvrel.dev/functions/collection/coalesce.md): Return the first non-null value from a list of arguments. - [compact](https://errand.nuvrel.dev/functions/collection/compact.md): Remove empty and null strings from a list. - [concat](https://errand.nuvrel.dev/functions/collection/concat.md): Combine two or more lists or tuples into a single sequence. - [contains](https://errand.nuvrel.dev/functions/collection/contains.md): Check whether a list contains a specific value. - [distinct](https://errand.nuvrel.dev/functions/collection/distinct.md): Remove duplicate values from a list. - [element](https://errand.nuvrel.dev/functions/collection/element.md): Retrieve an element from a list by index. - [flatten](https://errand.nuvrel.dev/functions/collection/flatten.md): Collapse a nested list into a flat tuple. - [keys](https://errand.nuvrel.dev/functions/collection/keys.md): Return the keys of a map as a sorted list. - [length](https://errand.nuvrel.dev/functions/collection/length.md): Return the number of elements in a collection. - [lookup](https://errand.nuvrel.dev/functions/collection/lookup.md): Retrieve a value from a map by key, with a default fallback. - [merge](https://errand.nuvrel.dev/functions/collection/merge.md): Combine two or more maps into a single map. - [slice](https://errand.nuvrel.dev/functions/collection/slice.md): Extract a subsequence from a list. - [sort](https://errand.nuvrel.dev/functions/collection/sort.md): Sort a list of strings in lexicographic order. - [values](https://errand.nuvrel.dev/functions/collection/values.md): Return the values of a map as a list. - [tobool](https://errand.nuvrel.dev/functions/conversion/tobool.md): Convert a value to a boolean. - [tonumber](https://errand.nuvrel.dev/functions/conversion/tonumber.md): Convert a value to a number. - [tostring](https://errand.nuvrel.dev/functions/conversion/tostring.md): Convert a value to a string. - [md5](https://errand.nuvrel.dev/functions/crypto/md5.md): Compute the MD5 hash of a string. - [sha256](https://errand.nuvrel.dev/functions/crypto/sha256.md): Compute the SHA-256 hash of a string. - [formatdate](https://errand.nuvrel.dev/functions/datetime/formatdate.md): Format a timestamp using a layout string. - [base64decode](https://errand.nuvrel.dev/functions/encoding/base64decode.md): Decode a base64-encoded string. - [base64encode](https://errand.nuvrel.dev/functions/encoding/base64encode.md): Encode a string as base64. - [jsondecode](https://errand.nuvrel.dev/functions/encoding/jsondecode.md): Parse a JSON string into a value. - [jsonencode](https://errand.nuvrel.dev/functions/encoding/jsonencode.md): Encode a value as a JSON string. - [urlencode](https://errand.nuvrel.dev/functions/encoding/urlencode.md): Encode a string for use in a URL. - [env](https://errand.nuvrel.dev/functions/environment/env.md): Read an environment variable. - [abspath](https://errand.nuvrel.dev/functions/filesystem/abspath.md): Convert a path to an absolute path. - [basename](https://errand.nuvrel.dev/functions/filesystem/basename.md): Return the last element of a file path. - [dirname](https://errand.nuvrel.dev/functions/filesystem/dirname.md): Return the directory component of a file path. - [file](https://errand.nuvrel.dev/functions/filesystem/file.md): Read the contents of a file as a string. - [filebase64](https://errand.nuvrel.dev/functions/filesystem/filebase64.md): Read a file and return its contents as base64. - [fileexists](https://errand.nuvrel.dev/functions/filesystem/fileexists.md): Check whether a file exists. - [fileset](https://errand.nuvrel.dev/functions/filesystem/fileset.md): Discover files matching a glob pattern. - [pathexpand](https://errand.nuvrel.dev/functions/filesystem/pathexpand.md): Expand the ~ home directory shorthand in a path. - [Functions](https://errand.nuvrel.dev/functions/index.md): Built-in functions available in expressions. - [max](https://errand.nuvrel.dev/functions/number/max.md): Return the largest of a set of numbers. - [min](https://errand.nuvrel.dev/functions/number/min.md): Return the smallest of a set of numbers. - [parseint](https://errand.nuvrel.dev/functions/number/parseint.md): Parse a string as an integer in the given base. - [regex](https://errand.nuvrel.dev/functions/regex/regex.md): Apply a regular expression pattern and return the first match. - [regexall](https://errand.nuvrel.dev/functions/regex/regexall.md): Find all matches of a regular expression in a string. - [arch](https://errand.nuvrel.dev/functions/runtime/arch.md): Return the name of the current CPU architecture. - [os](https://errand.nuvrel.dev/functions/runtime/os.md): Return the name of the current operating system. - [chomp](https://errand.nuvrel.dev/functions/string/chomp.md): Remove trailing newline characters from a string. - [endswith](https://errand.nuvrel.dev/functions/string/endswith.md): Check whether a string ends with a given suffix. - [format](https://errand.nuvrel.dev/functions/string/format.md): Format a string using a template and values. - [join](https://errand.nuvrel.dev/functions/string/join.md): Join a list of strings into a single string with a separator. - [lower](https://errand.nuvrel.dev/functions/string/lower.md): Convert a string to lowercase. - [regexreplace](https://errand.nuvrel.dev/functions/string/regexreplace.md): Replace all regex matches in a string. - [replace](https://errand.nuvrel.dev/functions/string/replace.md): Replace all occurrences of a substring. - [split](https://errand.nuvrel.dev/functions/string/split.md): Split a string into a list by a separator. - [startswith](https://errand.nuvrel.dev/functions/string/startswith.md): Check whether a string starts with a given prefix. - [strlen](https://errand.nuvrel.dev/functions/string/strlen.md): Return the number of characters in a string. - [substr](https://errand.nuvrel.dev/functions/string/substr.md): Extract a substring by offset and length. - [trim](https://errand.nuvrel.dev/functions/string/trim.md): Remove specific characters from both ends of a string. - [trimprefix](https://errand.nuvrel.dev/functions/string/trimprefix.md): Remove a specific prefix from a string. - [trimspace](https://errand.nuvrel.dev/functions/string/trimspace.md): Remove leading and trailing whitespace from a string. - [trimsuffix](https://errand.nuvrel.dev/functions/string/trimsuffix.md): Remove a specific suffix from a string. - [upper](https://errand.nuvrel.dev/functions/string/upper.md): Convert a string to uppercase. - [uuid](https://errand.nuvrel.dev/functions/uuid/uuid.md): Generate a random UUID (version 4). - [Introduction](https://errand.nuvrel.dev/index.md): A task runner with a clean syntax for defining tasks. - [Installation](https://errand.nuvrel.dev/installation.md): Install Errand on Linux, macOS, or Windows. - [Blocks](https://errand.nuvrel.dev/language/blocks.md): Reference for all four block types: `errand`, `variable`, `computed`, and `task`. - [Expressions](https://errand.nuvrel.dev/language/expressions.md): Operators, conditionals, index access, and function calls. - [Heredocs](https://errand.nuvrel.dev/language/heredocs.md): Write multi-line shell commands inline. - [Overview](https://errand.nuvrel.dev/language/index.md): How `.ern` playbooks are structured, loaded, and run. - [String interpolation](https://errand.nuvrel.dev/language/interpolation.md): Embed expressions inside strings. - [Multiple files](https://errand.nuvrel.dev/language/multiple-files.md): Split a playbook across several `.ern` files. - [References](https://errand.nuvrel.dev/language/references.md): How to reference `variable`, `computed`, and `task` blocks. - [Syntax](https://errand.nuvrel.dev/language/syntax.md): The basics of the `.ern` file format. - [Types](https://errand.nuvrel.dev/language/types.md): Type constraints for variable declarations. - [Quickstart](https://errand.nuvrel.dev/quickstart.md): Write your first playbook and run your first task. ## OpenAPI Specs - [openapi](https://errand.nuvrel.dev/api-reference/openapi.json) ## Optional - [GitHub](https://github.com/nuvrel/errand) - [Report a bug](https://github.com/nuvrel/errand/issues/new?template=bug_report.md) - [Suggest a feature](https://github.com/nuvrel/errand/issues/new?template=feature_request.md)