Run elide --help for the everyday command list and elide --help-all for
advanced commands and flags. Every subcommand also supports --help, and
elide help <command> prints that command’s section of this page.
Run and develop
run
Run a source file, a named script, or the project entrypoint. JavaScript,
TypeScript, JSX, TSX, and Python run as guest code; .java and .kt files
compile and run on the JVM.
elide run app.ts
elide run app.js -- --port 3000
elide run -s 'console.log("hi")'
Script arguments follow --. A name that is not a file on disk resolves as a
named script, and a bare elide run uses the project entrypoint; see
Elide for AI Agents for the resolution order in full.
| Flag | Effect |
|---|---|
-s, --snippet CODE | Run an inline snippet instead of a file. --code is accepted too. |
-l, --language LANG | Language for an inline snippet: js, ts, or python. |
--debugger[=DEBUGGER] | Attach a debugger: auto, cdp, or dap. |
--profiler[=PROFILER] | Collect a profile: cputracing, cpusampling, or memtracing. |
--coverage[=auto] | Collect coverage. |
python
Run Python with a CPython-shaped command line: every token after the script is
a program argument, so no -- separator is needed.
elide python script.py --flag-for-the-script
elide python -c 'print(1)'
-c CMD runs a program passed as a string, and -s leaves the user site
directory off sys.path.
serve
Serve static files over HTTP. Defaults to 127.0.0.1:8080, with or without a
terminal attached; --host and --port override that, and --no-tui
replaces the dashboard with plain logs.
elide serve ./public
elide serve --no-tui --port 3000 ./dist
dev
Serve a directory or script with file watching and live reload. Defaults to
127.0.0.1:3000. --no-tui selects plain logs, --no-watch disables
watching.
elide dev ./public
elide dev --no-tui ./public
install
Install project dependencies. Maven is the only ecosystem installed by default; npm is opt-in.
elide install
elide install --ecosystems=npm
elide install --workspace
elide install --with=sources
| Flag | Effect |
|---|---|
--ecosystems ECOSYSTEM | Install the named ecosystems, e.g. npm. |
--workspace | Install every ecosystem the project declares. |
--with CLASSIFIER | Also fetch a Maven classifier, e.g. sources. |
--slim | Skip the classifiers a plain install also downloads. |
--fresh | Re-download, refreshing the global cache. |
--direct | Copy artifacts into the project instead of symlinking them. |
An ecosystem the project declares but the run skips is named on stderr under
--verbose, and asking for an ecosystem this build cannot serve is a usage
error.
repl
Start the interactive REPL. Also entered by a bare elide with no script and
a terminal attached.
Build and test
build
Assemble the artifacts declared by an elide.pkl manifest. Bare tokens name
targets, and a leading : is optional; deps, compile and test select a
whole task group.
elide build
elide build --inspect
elide build deps compile
--inspect lists the project’s real task names, --no-cache disables the
build cache for one run, and --offline avoids fetching remote resources.
Anything after -- reaches the underlying subprocess unchanged.
test
Discover and run tests. JavaScript and TypeScript tests are found without
configuration; JVM tests need a test source set declared in elide.pkl. Bare
tokens narrow the run to the paths they name.
elide test
elide test src/api
elide test -t 'parses .+ headers'
elide test --coverage --bail=3
| Flag | Effect |
|---|---|
-t, --test-name-pattern REGEX | Run only tests whose name matches. |
--bail[=N] | Stop after N failures, one by default. |
--test-timeout MS | Per-test budget, in milliseconds. |
--only | Run only tests marked .only. |
--concurrency N | Tests to run at once; both engines are sequential by default. |
--reporter NAME | Emit results through console or junit. |
--reporter-outfile PATH | Where the reporter writes. |
--timeout is the global flag bounding the whole invocation; --test-timeout
is the per-test one.
format (alias fmt)
Format Java and Kotlin sources. Files and directories, and every
formatter-specific flag, follow --; directory arguments are expanded and
both languages are formatted in one pass.
elide format -- src
elide format --list-files -- --dry-run src
Write mode is the default. A check-mode run (--dry-run) exits 1 on its own
when a file would change — --set-exit-if-changed is accepted for drop-in
parity but not required, and there is no --check. --list-files names the
offending files and belongs before --; --list-diffs[=N] prints a unified
diff for each.
project
Interrogate an Elide project.
| Command | Purpose |
|---|---|
elide project info | Show resolved project metadata. |
elide project advice | Show project advice for coding agents. |
Setup and integration
elide agent rounds this group out with agent-oriented guidance, diagnostics,
and a bug-report body; see Elide for AI Agents.
init
Create a project from a bundled template. With no flags it opens a TUI editor.
elide init --templates
elide init --plain --skip-defaults --skip-run --template java
| Flag | Effect |
|---|---|
--templates | Print template IDs and exit. |
-t, --template TEMPLATE | Select a template. |
--parameters | Print template parameters and exit. |
-i, --plain | Ask plain questions instead of opening the editor. |
-d, --skip-defaults | Skip parameters that have defaults. Needs --plain. |
-s, --skip-run | Do not run Elide after generating files. |
--overwrite | Generate over existing files. |
info
Show binary, platform, and language information. --cargo-lockfile prints the
embedded lockfile instead.
upgrade
Check for and apply updates. --check reports without applying, --force
updates even when current, and --channel selects release, preview, or
nightly.
use
Write a project .elideversion pin and download that version.
elide use 1.5.0
elide use --no-install 1.5.0
--no-install writes the pin without downloading. Pass --ignore-version on
a later invocation to run the installed binary anyway.
help
Read the documentation embedded in the binary. A command name prints that command’s section of this page; a slug or page title prints the whole page.
elide help
elide help run --format=markdown
elide help sandbox --lang=fr
--format selects auto, interactive, or markdown; a non-interactive
caller gets Markdown without asking. -w, --width bounds the rendered width
and --languages lists the languages the binary carries.
lsp
Start a Language Server Protocol instance over stdio. Only the Java server is
registered today, so a bare elide lsp selects it.
mcp
Start a Model Context Protocol instance. --mode selects stdio (the
default) or http, which binds localhost:8125 unless --host and --port
say otherwise.
JVM tools
Elide embeds java, javac, kotlinc, jar, javadoc, javap, jdeps,
javaformat, ktfmt, mvn, and native-image. Tool arguments follow --,
and compiler diagnostics pass through verbatim:
elide javac -- -d target Main.java
Setup and integration
classpath
Print a resolved classpath. A usage is [<sourceSet>:]<usage>, lowercase,
with usage one of toolchain, processor, compile, modules, runtime,
or provided; the default is main:compile.
elide classpath
elide classpath test:runtime
An unrecognized spec, or one naming a usage that does not exist, is a usage error rather than empty output.
manifest
Print the resolved project manifest as JSON on stdout, with no ANSI. Do not
pass --quiet: it silences the output entirely.
Global options
Common global flags include:
| Option | Effect |
|---|---|
-p, --project PATH | Select a project directory. |
-q, --quiet | Reduce progress output. |
-v, --verbose / --debug | Increase logging. |
--timeout DURATION | Bound the invocation, for example 30s or 5m. |
--color / --no-color | Force color on or off. |
| `—error-format auto | pretty |
--ignore-version | Ignore .elideversion for this invocation. |
--sandbox | Deny guest filesystem access by default. |
--allow-read[=PATHS] | Grant filesystem reads. |
--allow-write[=PATHS] | Grant filesystem writes. |
--allow-net[=HOSTS] | Grant network access. |
--allow-run[=CMDS] | Grant subprocess access. |
See Filesystem Sandbox for capability examples.
Exit codes
| Code | Meaning |
|---|---|
0 | Success, help, or version output. |
1 | The command or guest program ran and failed. |
2 | Invalid CLI usage or an unresolved run target. |
124 | --timeout expired. |
| other | A guest program or embedded tool selected its own exit code. |
For machine-oriented usage, see Elide for AI Agents.