Elide Projects

Configure, build, and run an Elide project

An Elide project uses an elide.pkl manifest. Build outputs, installed dependencies, reports, and caches are stored under .dev.

Run project commands from the directory containing the manifest, or select a different directory with --project PATH.

Minimal JVM project

amends "elide:project.pkl"
import "elide:Sources.pkl" as Sources

name = "hello"

jvm {
  main = "sample.HelloKt"
}

sources {
  ["main"] = new Sources.SourceSetSpec {
    paths {
      "src/main/kotlin/**/*.kt"
    }
  }
}

With src/main/kotlin/sample/Hello.kt:

package sample

fun main() {
  println("Hello from Kotlin")
}

Build and run it:

elide install
elide build
elide run
Building and running a Kotlin project with Elide

Use elide build --inspect to list the concrete tasks generated for the manifest. A bare argument to elide build names a target.

Named scripts

Declare commands in the manifest:

scripts {
  ["greet"] = "echo hello"
}

Run one by name:

elide run greet

When the argument is not a file, Elide searches native manifest scripts, then package.json or pyproject.toml scripts, then node_modules/.bin. Existing files take precedence over named scripts.

Dependencies

The manifest can declare Maven and npm packages together:

dependencies {
  maven {
    packages {
      "com.google.guava:guava:33.5.0-jre"
    }
  }
  npm {
    packages {
      "pluralize@8.0.0"
    }
  }
}
elide install                         # Maven
elide install --ecosystems=maven,npm # both

PyPI declarations are accepted by the manifest schema, but PyPI installation is not available in current builds.

Inspect the resolved project

elide manifest
elide project info
elide project advice
elide classpath

elide manifest prints the resolved manifest as JSON. For the accepted fields, continue with the elide.pkl Reference.