# Elide > Elide is a high-performance runtime and toolchain for Kotlin, Java, JavaScript, TypeScript and Python. One binary runs JavaScript, TypeScript, Python, Java, Kotlin and WebAssembly, and builds, tests, formats and installs dependencies for projects. https://elide.help is the Elide documentation. Every page below links to its Markdown version. Any page is also available as Markdown by appending `.md` to its URL or by sending `Accept: text/markdown`. ## When to use Use the Elide documentation when a task involves the `elide` command or a project that uses it: - Installing Elide, or pinning a version in CI and containers. - Running JavaScript, TypeScript or Python files with `elide run` or `elide python`, or mixing languages in one process with `--interop`. - Building, testing and packaging Java and Kotlin projects with an `elide.pkl` manifest: `elide build`, `elide test`, Maven dependencies, JARs, native images and container images. - Installing Maven or npm dependencies with `elide install`. - Checking whether a Node.js API or Web API is supported, and what differs. - Migrating from Node, Bun, Deno, Python, Java or Kotlin tooling to Elide. - Running Elide from an AI agent or CI job without a terminal: non-interactive flags, exit codes, and Elide's own MCP server (`elide mcp`). How to call it: - Search: `GET https://elide.help/api/v1/search?q=` returns ranked pages with slugs; `GET https://elide.help/api/v1/pages/` returns one page with its Markdown. No authentication. - MCP: connect a Streamable HTTP client to https://elide.help/mcp and call `search_docs`, then `get_page`; `list_pages` lists every page. - Bulk: https://elide.help/llms-full.txt is the whole documentation in one file. - With Elide installed, `elide help --format=markdown` prints any page in the terminal. Install the Elide CLI: - Linux and macOS: `curl -sSL --tlsv1.2 elide.sh | bash -s -` - Homebrew: `brew install elide-dev/elide/elide` (tap: https://github.com/elide-dev/homebrew-elide) - Every method, including Windows, packages and containers: https://elide.help/docs/installation.md Company information, the blog and enterprise support are on https://elide.dev, not here. ## Developer and agent resources - [Developer resources](https://elide.help/developers.md): the docs API, MCP server and Markdown access, with examples - [OpenAPI description](https://elide.help/openapi.json): OpenAPI 3.1 for the read-only docs API - [API catalog](https://elide.help/.well-known/api-catalog): RFC 9727 linkset for the docs API - [MCP server](https://elide.help/mcp): Streamable HTTP endpoint with search_docs, get_page and list_pages - [MCP server card](https://elide.help/mcp/server-card): connection metadata for MCP clients - [Full documentation](https://elide.help/llms-full.txt): every page in one Markdown file - [Page search API](https://elide.help/api/v1/search?q=install): example search request - [Elide for AI Agents](https://elide.help/docs/agents.md): run the Elide CLI from an agent - [Developer portal](https://elide.help/developers): the same resources as an HTML page ## Get Started - [Elide Overview](https://elide.help/index.md): What Elide is, where to start, and the commands you will use most - [Installation](https://elide.help/docs/installation.md): Install Elide with the install script, PowerShell, npm, a package manager, or a container - [Packages & Installers](https://elide.help/docs/installation/packages.md): Install Elide with Homebrew, apt, RPM, or the macOS and Windows installers, and verify downloads - [Container Images](https://elide.help/docs/installation/containers.md): Run Elide from the elide and bash container images, with release and nightly tags - [Continuous Integration](https://elide.help/docs/installation/ci-cd.md): Install a pinned Elide release in GitHub Actions with setup-elide - [Getting Started](https://elide.help/docs/getting-started.md): Run a first program in each language, then create or adopt an Elide project - [JavaScript and TypeScript with Elide](https://elide.help/docs/web.md): Run JavaScript and TypeScript, install npm packages, test, and serve with Elide - [Python with Elide](https://elide.help/docs/python.md): Run Python 3.13 with elide python: CPython-style arguments, the bundled stdlib, and JS interop - [Java and Kotlin with Elide](https://elide.help/docs/jvm.md): Run, compile, format, build, and test Java and Kotlin with Elide's built-in JDK 25 and Kotlin toolchain - [WebAssembly with Elide](https://elide.help/docs/wasm.md): Run WASI command modules and load WASM libraries from JavaScript and TypeScript ## Toolchain - [Elide Toolchain](https://elide.help/docs/toolchain.md): Run, build, test, format and package projects with one binary. - [Elide Projects](https://elide.help/docs/projects.md): Configure, build, run and inspect an Elide project. - [elide.pkl Reference](https://elide.help/docs/elide-pkl-reference.md): Every block and field of the elide.pkl project manifest. - [Source Sets](https://elide.help/docs/toolchain/source-sets.md): How Elide finds a project's sources, resources and per-set classpaths. - [Dependencies](https://elide.help/docs/toolchain/dependencies.md): Declare and install Maven, npm and PyPI dependencies. - [Build Tasks](https://elide.help/docs/toolchain/build-tasks.md): Build targets, options, the build cache and build state. - [Build Flags](https://elide.help/docs/toolchain/build-flags.md): Parameterize an elide.pkl manifest from the command line. - [Testing](https://elide.help/docs/toolchain/testing.md): Discover, select, run and measure JavaScript, TypeScript and JVM tests. - [Adopt Elide in an existing project](https://elide.help/docs/toolchain/usage/adopt.md): Migrate a Java, Kotlin or Spring Boot project to Elide with an AI coding harness. - [JVM Toolchain](https://elide.help/docs/toolchain/jvm.md): Compile, run, format, test and package Java and Kotlin. - [Maven Dependencies](https://elide.help/docs/toolchain/jvm/maven.md): Install Maven dependencies and annotation processors. - [Native Maven](https://elide.help/docs/toolchain/jvm/native-maven.md): Run Maven builds with elide mvn. - [Java Compiler](https://elide.help/docs/toolchain/jvm/javac.md): Compile Java 25 source with elide javac or in a project build. - [Kotlin Compiler](https://elide.help/docs/toolchain/jvm/kotlinc.md): Compile Kotlin 2.5 with elide kotlinc or in a project build, with plugins, toolchains and ABI jars. - [Formatting](https://elide.help/docs/toolchain/jvm/formatting.md): Format Java and Kotlin source with elide format, javaformat and ktfmt. - [JAR Assembly](https://elide.help/docs/toolchain/jvm/jar.md): Build JARs, sources and Javadoc JARs, and runnable application distributions. - [Native Image](https://elide.help/docs/toolchain/jvm/native-image.md): Compile a JVM application to a native executable or shared library. - [WebImage: JVM to WebAssembly](https://elide.help/docs/toolchain/jvm/webimage.md): Compile JVM code to a JavaScript loader and WebAssembly module. - [JVM Containers](https://elide.help/docs/toolchain/jvm/containers.md): Build a container image from a JAR or native-image artifact. - [Web Toolchain](https://elide.help/docs/toolchain/web.md): Run JavaScript and TypeScript, serve files, process web assets and configure web builds. - [NPM Installer](https://elide.help/docs/toolchain/web/npm.md): Install npm packages with elide install. - [Static Sites](https://elide.help/docs/toolchain/web/static-site.md): Build a static-site artifact from Markdown, scripts, styles and images. ## Guides - [Development Server](https://elide.help/docs/dev-server.md): Serve files with live reload, run fetch handlers, and replicate a server across contexts. - [Interactive REPL](https://elide.help/docs/repl.md): Evaluate JavaScript, TypeScript, Python and WebAssembly interactively and share values between them. - [Languages and Interop](https://elide.help/docs/languages.md): Which languages Elide runs, how to start each one, and how they call each other. - [Editors & IDEs](https://elide.help/docs/connect-ide.md): Connect an editor to Elide with a plugin or the Java language server. - [IntelliJ IDEA Plugin](https://elide.help/docs/intellij.md): Import, run and debug Elide projects in IntelliJ IDEA. - [VS Code Extension](https://elide.help/docs/vscode.md): Sync, run and debug Elide projects in Visual Studio Code. - [MCP Server](https://elide.help/docs/mcp.md): Give AI agents Elide's build, run and Insights tools over the Model Context Protocol. - [Elide for AI Agents](https://elide.help/docs/agents.md): Run Elide non-interactively and collect diagnostics. - [Debugging](https://elide.help/docs/debugging.md): Read errors, attach a debugger, measure coverage, profile, trace, and report bugs. - [Monitoring and Profiling](https://elide.help/docs/instruments.md): Capture JFR recordings and heap dumps, monitor a process with JDK tools, and profile with Linux perf. - [Sandbox and Limits](https://elide.help/docs/sandbox.md): Restrict filesystem, network, subprocess and native access, and limit resources and run time. ## API Reference - [API Overview](https://elide.help/docs/api-overview.md): Every built-in module Elide provides and where each is documented. - [Database API Reference](https://elide.help/docs/api-database.md): The elide:sqlite, elide:postgres, and elide:mysql modules. - [Elide Global](https://elide.help/docs/api-globals-elide.md): Build metadata, Elide.serve, and the exported fetch handler. - [process](https://elide.help/docs/api-globals-process.md): The Node-compatible process global. - [Insight Scripts](https://elide.help/docs/api-insight.md): What a script loaded with --insights can access. - [node:assert](https://elide.help/docs/api-node-assert.md): Node's assertion module, with one difference in AssertionError.operator. - [node:async_hooks](https://elide.help/docs/api-node-async-hooks.md): AsyncLocalStorage, AsyncResource, and createHook, with Elide's context propagation rules. - [node:buffer](https://elide.help/docs/api-node-buffer.md): Node's Buffer module, with zero-filled allocUnsafe. - [node:child_process](https://elide.help/docs/api-node-child-process.md): Node's subprocess module, including fork() with IPC between Elide scripts. - [node:console](https://elide.help/docs/api-node-console.md): Node's console module, without the inspector-only methods. - [node:crypto](https://elide.help/docs/api-node-crypto.md): Node's crypto module, with the algorithms and APIs Elide leaves out. - [node:dgram](https://elide.help/docs/api-node-dgram.md): Node's UDP socket module for IPv4 and IPv6. - [node:diagnostics_channel](https://elide.help/docs/api-node-diagnostics-channel.md): Node's diagnostic channels, plus bounded channels. - [node:dns](https://elide.help/docs/api-node-dns.md): Node's callback and Promise DNS resolution. - [node:domain](https://elide.help/docs/api-node-domain.md): Node's deprecated domain module. - [node:events](https://elide.help/docs/api-node-events.md): Node's EventEmitter and event helpers. - [node:fs](https://elide.help/docs/api-node-fs.md): Node's filesystem module, with the APIs Elide leaves out. - [node:http](https://elide.help/docs/api-node-http.md): HTTP/1.1 server and client, and the HTTPS client. - [node:module](https://elide.help/docs/api-node-module.md): Node's module helpers, with stubbed source-map and loader APIs. - [node:net](https://elide.help/docs/api-node-net.md): Node's TCP and Unix-domain socket module. - [node:os](https://elide.help/docs/api-node-os.md): Node's operating-system information module. - [node:path](https://elide.help/docs/api-node-path.md): Node's POSIX and Windows path module. - [node:perf_hooks](https://elide.help/docs/api-node-perf-hooks.md): Node's performance timeline, observers, and histograms. - [node:querystring](https://elide.help/docs/api-node-querystring.md): Node's legacy query-string module. - [node:stream](https://elide.help/docs/api-node-stream.md): Node's stream module and its submodules. - [node:test](https://elide.help/docs/api-node-test.md): Node's test runner API, run with elide test. - [node:timers](https://elide.help/docs/api-node-timers.md): Node's callback and Promise timer modules. - [node:url](https://elide.help/docs/api-node-url.md): Node's legacy URL helpers and the WHATWG URL classes. - [node:util](https://elide.help/docs/api-node-util.md): Node's utility module, with two legacy helpers unimplemented. - [node:v8](https://elide.help/docs/api-node-v8.md): The six node:v8 exports and their JSON serialization. - [node:vm](https://elide.help/docs/api-node-vm.md): Node's script and context APIs, with limited module classes. - [node:worker_threads](https://elide.help/docs/api-node-worker-threads.md): Worker threads, messaging, and the options Elide supports. - [node:zlib](https://elide.help/docs/api-node-zlib.md): Node's Deflate, Gzip, Brotli, Zstandard, and CRC32 module, plus node:zlib/iter. - [WHATWG Fetch](https://elide.help/docs/api-whatwg-fetch.md): The fetch function and its Blob, File, Headers, FormData, Request, and Response globals. - [WHATWG Streams](https://elide.help/docs/api-whatwg-streams.md): ReadableStream, WritableStream, TransformStream, and their readers, writers, and strategies. - [Compression Streams](https://elide.help/docs/api-whatwg-compression.md): CompressionStream and DecompressionStream for gzip, deflate, Brotli, and Zstandard. - [URL](https://elide.help/docs/api-whatwg-url.md): The URL and URLSearchParams globals. - [URLPattern](https://elide.help/docs/api-whatwg-urlpattern.md): The URLPattern global for matching URLs. - [Encoding](https://elide.help/docs/api-whatwg-encoding.md): The TextEncoder, TextDecoder, TextEncoderStream, and TextDecoderStream globals. - [Web Crypto API](https://elide.help/docs/api-whatwg-web-crypto.md): The crypto global: random values, UUIDs, and SubtleCrypto. - [DOM Events](https://elide.help/docs/api-whatwg-dom-events.md): The Event, CustomEvent, and EventTarget globals. - [DOM Abort](https://elide.help/docs/api-whatwg-dom-abort.md): The AbortController and AbortSignal globals. - [Timers](https://elide.help/docs/api-html-timers.md): The setTimeout, setInterval, setImmediate, and queueMicrotask globals. - [Web Messaging](https://elide.help/docs/api-wintercg-messaging.md): The MessageChannel, MessagePort, and MessageEvent globals. - [WorkerNavigator](https://elide.help/docs/api-wintercg-navigator.md): The navigator global and the values it reports. - [Performance](https://elide.help/docs/api-wintercg-performance.md): The performance global, marks, measures, and PerformanceObserver. - [Misc Web Globals](https://elide.help/docs/api-web-misc-globals.md): The DOMException and PromiseRejectionEvent globals and the global rejection events. ## Reference - [CLI Reference](https://elide.help/docs/cli-references.md): Every Elide command, global option, exit code, and output-stream rule. - [Environment Variables](https://elide.help/docs/env-variables.md): What guest code sees in process.env. - [Runtime Environment Variables](https://elide.help/docs/runtime-env-variables.md): Host variables that configure Elide itself. ## Perspectives - [Elide for Node users](https://elide.help/docs/elide-for-node.md): What works unchanged, which commands change, and how Elide compares with Node.js. - [Elide for Bun users](https://elide.help/docs/elide-for-bun.md): What works unchanged, which commands and APIs change, and how Elide compares with Bun. - [Elide for Deno users](https://elide.help/docs/elide-for-deno.md): What works unchanged, which commands and permission flags change, and how Elide compares with Deno. - [Elide for Python users](https://elide.help/docs/elide-for-python.md): How Elide compares with CPython and what changes when you switch. - [Elide for Java users](https://elide.help/docs/elide-for-java.md): How Elide compares with a JDK, Maven and Gradle setup, and what changes when you switch. - [Elide for Kotlin users](https://elide.help/docs/elide-for-kotlin.md): How Elide compares with kotlinc and Gradle, and what changes when you switch. ## Resources - [Compatibility Matrix](https://elide.help/docs/compatibility.md): Reported JavaScript, Python, Java, WinterTC, and Node-API compatibility results from elide-dev/testsuite - [Releases](https://elide.help/docs/releases.md): Update Elide or install a specific release - [Changelog](https://elide.help/docs/changelog.md): Elide release notes, newest first - [Code Samples](https://elide.help/docs/code-samples.md): Small runnable programs for Elide, each with its command and expected output