A project is a directory with an elide.pkl. Outputs, dependencies, reports and build state go in .dev/. Run
commands from the project directory, or pass -p PATH.
elide init --templates # java, ktjvm, web-simple, web-demo, workspaceMinimal JVM project
amends "elide:project.pkl"
name = "hello"
jvm {
main = "sample.HelloKt"
}src/main/kotlin/sample/Hello.kt:
package sample
fun main() {
println("Hello from Kotlin")
}elide install
elide build
elide runsrc/main/kotlin is found without a sources block; see Source Sets.
elide build --inspect lists the tasks and their options; see Build Tasks.
Named scripts
scripts {
["greet"] = "echo hello"
}elide run greetScripts run under /bin/sh. An existing file takes precedence over a script name. Otherwise Elide looks in manifest
scripts, then package.json or pyproject.toml scripts, then node_modules/.bin.
Dependencies
Declare Maven, npm and PyPI packages under dependencies; elide install resolves them. See
Dependencies and the reference.
Workspaces
A workspace root lists member projects and builds them as one task graph. elide init --template workspace creates
one. See Workspaces.
Inspect the resolved project
elide project info # resolved source sets, dependencies, artifacts
elide project advice # usage advice for coding agents
elide project export # the resolved manifest as JSON
elide project export --format=pom # or intellij
elide classpath # the main compile classpath, one entry per line
elide classpath test:runtime # [<source-set>:]<usage>-f flags change the export. Formats: Project export formats.
Classpath usages: Source Sets.
Pin the Elide version
elide use <version> writes .elideversion and installs that version for the directory; --no-install only writes
the file. toolchain.engines in the manifest states accepted versions; see
Toolchain.