Emtypyie.cli
Build codename: Baking Bread
Visit main site — emtypyie.in/cliFor downloads and general project details. This wiki covers docs only.
Emtypyie.cli is the package manager and terminal runtime for the
EMTYPYIE ecosystem. Running emtypyie with no arguments prints a
startup boot animation and drops you into an interactive shell where you can
list, install, and manage projects pulled live from a CDN registry.
The project has been maintained continuously since its alpha releases. It started as a Node.js-only tool distributed through npm; from v2.5.0 "Wandering Witches" onward it was rewritten from the ground up in C, and the C (Clang) build has led development ever since — most recently with the v3.0.0 "Baking Bread" major release. See History below for the full timeline.
History
-
Alpha
Node.js-only, npm distributionThe original CLI was written entirely in Node.js and shipped only through npm.
-
v2.5.0 — "Wandering Witches"
Major release: rewritten in CThe first major update. The core was rewritten from scratch in C11/C++17 as a dependency-free native binary. The Node.js build was kept alongside it for compatibility.
-
Since v2.5.0
C (Clang) is the primary pathAll new features — Larpino, bakafetch, themes — land in the C build first. The Node.js build is actively maintained alongside it, but typically trails on the newest additions.
-
v3.0.0 — "Baking Bread" · Major
Major release: GUI work beginsBrought the GUI online alongside the terminal runtime for the first time, continuing the C (Clang)-first direction set since v2.5.0.
-
v3.0.1 · Patch
Patch updateFollow-up patch to v3.0.0 "Baking Bread" with fixes and stability improvements.
-
v3.0.2 · Current
v3.0.2 is now onLatest release. Both the Node.js and C (Clang) builds are up to date on v3.0.2.
-
Upcoming — v5.0.0+
Larpino ships with a bundled default modelThe Larpino engine already runs models today via
/get larpino@1b, but shipping a model bundled in by default has been pushed out to v5.0.0 and later — there's plenty of runway before that lands, so no firm timeline yet.
Core features
- Interactive shell with a startup boot animation (skippable via flag or env var)
- Direct one-off commands without entering the shell, e.g.
emtypyie /list - Live CDN-backed project registry — install, inspect, and update anything listed
- Auto-installer for common toolchains, e.g.
/get gccfor GCC/G++ - Larpino — a built-in LLAMA inference engine written directly into the C core
/bf— a neofetch-style system info screen ("bakafetch") with braille/Unicode art- Five color themes:
slate,green,amber,violet,cyan
Install & Launch
The C (Clang) build is the recommended path — it's what gets new features first. The Node.js build is a fully supported alternative too, not just a fallback, but expect it to trail on the newest additions.
Windows (Winget / Chocolatey) — C native build, recommended
# Winget
winget install myrachane.emtypyie-cli
# Chocolatey
choco install emtypyie-cli
choco install emtypyie-cli
won't currently resolve. Until both catch up, grab the latest build directly
from emtypyie.in/cli
or use npm below.
npm (all platforms) — Node.js build, maintained
npm install -g emtypyie-cli
This is the original distribution path from the project's alpha days. It's kept up and running today — new features land in the C (Clang) build first, but the Node.js build is not being phased out.
Launching the shell
Once installed, emtypyie is on your PATH. Run it with no arguments to boot the interactive shell:
emtypyie
# skip the boot animation
emtypyie --no-animation
# or
set EMTYPYIE_NO_ANIM=1
Direct commands also work without ever entering the shell, e.g. emtypyie /list or emtypyie /get gcc.
Commands
| Command | Description |
|---|---|
/help | Show help |
/list | List available projects from the CDN |
/get <project> | Install a project |
/get gcc | Auto-install GCC/G++ compiler |
/get larpino@1b | Download a LLAMA GGUF model and load it |
/info <project> | Show project details |
/flash <project> | Re-download the latest version |
/rm <project> | Remove a project |
/theme <name> | Change the color theme |
/bf | System info screen (bakafetch) |
/docs <project> | Open project docs |
/shell | Enter interactive mode |
/larpino enable|disable|status | Control the LLAMA inference engine |
/clear | Clear the screen |
Architecture
The C CLI (Root4c) is the primary build going forward — a single
portable binary written in C11/C++17 (Clang toolchain) with no runtime
dependencies. It's what Larpino and bakafetch are built directly into, and where
all new development lands first. The Node.js CLI (Root4node) is the
original alpha-era codebase, still published to npm, and is officially maintained
going forward too — it just receives new features after the C build does.
| Path | Description |
|---|---|
archive/vX.Y.Z/Root4c/ | C CLI — portable single binary (primary) |
archive/vX.Y.Z/Root4node/ | Node.js CLI — published to npm, maintained |
mainsite/ | Website landing pages |
manifests/ | Winget package manifests (currently pinned to v2.5.0 "Wandering Witches") |
choco/ | Chocolatey package (not yet published) |
Larpino inference engine
Larpino, the built-in inference engine, handles:
- GGUF-format LLAMA models —
Q4_0,Q4_1,Q5_0,Q5_1,Q8_0,F16,F32 - BPE tokenization with merge rules
- A KV-cached transformer (RoPE, SwiGLU, RMSNorm, grouped-query attention)
- Top-k / temperature sampling
Project listings and metadata for /list, /get, and
/info are fetched live from cdn.emtypyie.in/dev — the
registry is never bundled with the binary.
Build from source:
cmake -B build
cmake --build build
Release artifacts
Each GitHub release ships two Windows executables:
| ZIP | Contents | Source |
|---|---|---|
emtypyie-cli-windows-x64-3.0.2.zip | emtypyie.exe | Node.js (pkg) |
emtypyie-cli-native-windows-x64-3.0.2.zip | emtypyie.exe | C native build |
Dev Logs
v3.0.2 — latest release
v3.0.2 is now on. Both the Node.js and C (Clang) builds are up to date — confirming the plan to keep maintaining Node.js alongside C going forward, even though new features continue to land in C first.
v3.0.1 — patch update
Patch release following v3.0.0 "Baking Bread". Fixes and stability improvements, no new commands or breaking changes.
Major release: Baking Bread
The next major release after v2.5.0. Brings the GUI online alongside the terminal runtime for the first time, continuing the C (Clang)-first direction the project has followed since the rewrite.
v2.5.8
Tag off main ahead of the v3.0.0 "Baking Bread" major release.
The C native build remains the primary path, and Larpino is stable enough to
lean on as the default inference path for /get larpino@1b. Early
work on a GUI has started, targeting the next major release, v3.0.0.
Larpino inference engine and bakafetch land in the C core
Wrote the LLAMA inference path directly into the C11/C++17 core instead of
shelling out to an external runtime — GGUF loading, a BPE tokenizer with
merge rules, a KV-cached transformer (RoPE, SwiGLU, RMSNorm, grouped-query
attention), and top-k/temperature sampling all live in Root4c.
/larpino enable drops straight into chat mode inside the shell.
Alongside it, /bf shipped as a neofetch-style "bakafetch" system
info screen with Unicode/braille art, and five color themes
(slate, green, amber, violet,
cyan) became switchable at runtime via /theme.
Major release: rewritten in C
The first major update. The core was rewritten from scratch in C11/C++17 as
Root4c, a single dependency-free native binary distributed via
Winget and Chocolatey on Windows. The original Node.js codebase was kept as
Root4node, still published to npm, but stopped being where new
work happens.
The CDN-backed registry for /list / /get / /info
carried over unchanged, fetching live from cdn.emtypyie.in/dev
rather than bundling project metadata into either binary.
Node.js-only, npm distribution
The project started life as a Node.js CLI, installed with npm install -g
and with no native build to speak of. This is the codebase that would later
become Root4node once the C rewrite began.