@elaraai/e3-cli
v1.0.23
Published
East Execution Engine CLI - Command-line tool for managing e3 repositories and tasks
Downloads
4,512
Maintainers
Readme
@elaraai/e3-cli
Command-line interface for e3 (East Execution Engine).
Installation
npm install -g @elaraai/e3-cliCommands
Every command that takes <repo> accepts either a local path or an http(s):// URL. The transport is detected from the argument shape. Set E3_REPO to default the repo argument when omitted (where the positional is optional).
Repository
e3 repo create <repo> # Create a new repository
e3 repo status <repo> # Show repository status
e3 repo remove <repo> [-r] # Remove a repository (-r removes workspaces first)
e3 repo gc <repo> [--dry-run] # Remove unreferenced objects
e3 repo list <server-url> # List repositories on a serverPackages
e3 package import <repo> <zip> # Import package from .zip
e3 package export <repo> <pkg> <zip> # Export package to .zip
e3 package list <repo> # List installed packages
e3 package remove <repo> <pkg> # Remove a packageWorkspaces
e3 workspace create <repo> <name> # Create empty workspace
e3 workspace deploy <repo> <ws> <pkg>[@<ver>] # Deploy a package
e3 workspace deploy <repo> <ws> --from-zip <path.zip> # Import + create + deploy in one shot
e3 workspace export <repo> <ws> <zip> # Export workspace as a package
e3 workspace list <repo> # List workspaces
e3 workspace status <repo> <ws> # Detailed workspace status
e3 workspace remove <repo> <ws> # Remove a workspaceDatasets
Dataset paths use the flat form <ws>.<name>. The CLI resolves <name> against inputs and task outputs automatically.
e3 dataset get <repo> <ws.name> [-f east|json|beast2]
e3 dataset set <repo> <ws.name> <file> [--type <spec>] [--type-file <path>]
e3 dataset list <repo> <ws> [-l] # List dataset paths (with -l for table view)
e3 dataset status <repo> <ws.name> # Show one dataset's kind/type/status/size
e3 dataset find <repo> <ws> <pattern> # Substring or glob (`*`, `?`) match across namesTasks
e3 task list <repo> <ws> # List tasks with execution status
e3 task logs <repo> <ws.task> [--follow] # Stream task logsDataflow execution
e3 dataflow run <repo> <ws> [--filter <p>] [--concurrency <n>] [--force]After a successful run, the CLI prints the task output paths so you can read them straight away:
Summary: 2 executed, 0 cached, ...
Outputs:
dev.greet String 14 B
dev.shout String 16 BAd-hoc task execution
e3 run <repo> <pkg.task> <inputs...> -o <out>
e3 run <repo> <[email protected]> <in.beast2> -o <out.beast2>Watch / live development
e3 watch <source.ts> <repo> <ws> [--start] [--abort-on-change]Authentication
e3 auth login <server> # OAuth2 device-flow login
e3 auth logout <server> # Clear saved credentials
e3 auth status # List saved credentials
e3 auth token <server> # Print access token (curl integration)
e3 auth whoami [server] # Show current identitycurl -H "Authorization: Bearer $(e3 auth token https://example.com)" \
https://example.com/api/repos/my-repo/statusUtilities
e3 convert [input] [--from <fmt>] [--to <fmt>] [-o <out>] [--type <spec>]
e3 completion install # Detect your shell and wire up tab completion
e3 completion uninstall # Undo the above
e3 completion {bash|zsh|fish} # Print the raw script (manual install)e3 completion install is the one-shot setup — it detects $SHELL, appends eval "$(e3 completion bash)" (or the zsh/fish equivalent) to your rc file, and is idempotent on re-run. Override detection with --shell <bash|zsh|fish>.
If you'd rather wire it up yourself, e3 completion bash > /etc/bash_completion.d/e3 (and equivalents) work too.
The completion script delegates dynamic lookups (workspace names, dataset paths, package names) to a hidden e3 __complete handler.
Defaulting the repository
When the positional <repo> is optional (every command that takes one as the first argument, except run and watch), the value is resolved in this order:
- Explicit positional argument.
E3_REPOenvironment variable..(current directory).
So once you're inside a repo, export E3_REPO=. lets you drop the leading .:
export E3_REPO=.
e3 dataset get dev.greet
e3 dataflow run devMigration from earlier versions
| Old | New |
|--------------------------------------------------|-------------------------------------------------------|
| e3 get <repo> <ws>.tasks.<name>.output | e3 dataset get <repo> <ws>.<name> |
| e3 set <repo> <ws>.inputs.<name> | e3 dataset set <repo> <ws>.<name> |
| e3 list <repo> | e3 workspace list <repo> |
| e3 list <repo> <ws> | e3 dataset list <repo> <ws> |
| e3 status <repo> <path> | e3 dataset status <repo> <path> |
| e3 logs <repo> <ws> | e3 task list <repo> <ws> |
| e3 logs <repo> <ws>.<task> | e3 task logs <repo> <ws>.<task> |
| e3 start <repo> <ws> | e3 dataflow run <repo> <ws> |
| e3 login <server> / e3 logout <server> | e3 auth login <server> / e3 auth logout <server> |
| e3 workspace import <repo> <ws> <zip> | e3 workspace deploy <repo> <ws> --from-zip <zip> |
| e3 run <repo> <pkg>/<task> | e3 run <repo> <pkg>.<task> |
| e3 watch <repo> <ws> <source> | e3 watch <source> <repo> <ws> |
Example
# Create a repository, deploy a package, run the dataflow
e3 repo create ./my-project
e3 workspace deploy ./my-project dev --from-zip ./hello.zip
e3 dataset set ./my-project dev.name ./name.east
e3 dataflow run ./my-project dev
# Read the results
e3 dataset get ./my-project dev.greetClaude Code plugin
The East ecosystem also ships a Claude Code plugin — East language skills, example search, and preemptive diagnostics for East code — installed separately from the elaraai marketplace:
# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraaiLicense
BSL 1.1. See LICENSE.md.
Ecosystem
East: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.
- @elaraai/east: Core language SDK with type system, expressions, and reference JS compiler
East Node: Node.js platform functions for I/O, databases, and system operations.
- @elaraai/east-node-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
- @elaraai/east-node-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
- @elaraai/east-node-cli: CLI for running East IR programs in Node.js
East C: C11 native runtime for executing East IR. Distributed via npm (launcher + per-platform optional dependencies) and as tarballs on each GitHub Release.
- @elaraai/east-c-cli: npm launcher — installs the matching native binary as an optional dependency
east-c: Core runtime — type system, IR interpreter, builtins, serialization (Beast2, JSON, CSV, East text)east-c-std: Console, FileSystem, Fetch, Crypto, Time, Path, Randomeast-c-cli: CLI for running East IR programs natively
East Python: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.
- east-py: Core Python runtime — type system, IR compiler, 212+ builtins, Cython-accelerated hot paths
- east-py-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
- east-py-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
- east-py-cli: CLI for running East IR programs in Python
- east-py-datascience (PyPI) + @elaraai/east-py-datascience (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
East UI: Typed UI component definitions and React renderer, plus VS Code preview.
- @elaraai/east-ui: 50+ typed UI components for layouts, forms, charts, tables, dialogs
- @elaraai/east-ui-components: React renderer with Chakra UI v3 styling
- @elaraai/e3-ui: e3 + UI bridge — Data bindings,
e3.ui()task, manifest - @elaraai/e3-ui-components: React Query hooks and preview components for the e3 API
- east-ui-preview: VS Code extension for live East UI component preview
e3 — East Execution Engine: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.
- @elaraai/e3: SDK for authoring e3 packages with typed tasks and pipelines
- @elaraai/e3-core: Object store, dataflow orchestrator, execution state
- @elaraai/e3-types: Shared type definitions for e3 packages
- @elaraai/e3-cli:
e3 repo,e3 package,e3 workspace,e3 start,e3 watch,e3 logscommands - @elaraai/e3-api-client: HTTP client for remote e3 repositories
- @elaraai/e3-api-server: REST API server for e3 repositories
- @elaraai/e3-api-tests: Shared API compliance test suites
Links
About Elara
East is developed by Elara AI Pty Ltd, an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.
Developed by Elara AI Pty Ltd.
Developed by Elara AI Pty Ltd
