npm monorepo for distributing ERII — a Kotlin/JVM-based AI agent framework.
npm create @spcookie/erii
cd erii
npx erii setup
npx erii server| Package | Description |
|---|---|
@spcookie/create-erii |
Project scaffolding — npm create @spcookie/erii |
@spcookie/create-erii-plugin |
Plugin scaffolding — npm create @spcookie/erii-plugin |
@spcookie/erii |
Main distribution — erii CLI entry point and erii server launcher |
@spcookie/erii-core |
Core application JARs |
@spcookie/erii-browser |
Browser automation driver JARs |
@spcookie/erii-deps |
Third-party dependency JARs |
@spcookie/erii-config |
Default configuration files (.conf, conf) |
@spcookie/erii-cli-* |
Platform-specific CLI binaries |
@spcookie/erii-runtime-* |
Platform-specific JDK runtime |
@spcookie/erii-plugin-* |
Plugin packages (installed separately) |
Each plugin is a standalone npm package under @spcookie/erii-plugin-*. Installed plugins are symlinked into plugins/
at postinstall — they are extracted from .zip and linked as directories.
Available plugins: animal, speech, rollpig, lolisuki, net-ease-music, qq-face, seeddream.
To create a new plugin package:
npm create @spcookie/erii-pluginOn npm install, each package's postinstall script handles its own setup:
- erii-config merges
.confandconfdirectories into the project root — existing user keys are preserved, only new keys are added. - erii-core / erii-browser / erii-deps symlink their
lib/directory intolib/core,lib/browser,lib/deps. - erii-runtime-* extracts the JDK archive and symlinks the JDK directory to
runtime/. - erii-plugin-* extracts the plugin
.zipand symlinks the plugin directory toplugins/.
The erii server command (in cli.js) starts Java with:
- JVM options from
erii-deps/opts/java.opts - System properties from
erii-deps/opts/erii-core.opts - Environment defaults from
erii-deps/opts/env.opts(always override.env.local) - Wildcard classpath:
lib/browser/*;lib/core/*;lib/deps/* - Priority: bundled JDK →
JAVA_HOME→PATH
- Node.js >= 18
- Java 21+ (bundled JDK provided via
erii-runtime-*, or setJAVA_HOME)
MIT