Emtypyie.cli
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 build is now the one going forward. 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 is the primary pathAll new features — Larpino, bakafetch, themes — land in the C build first. The Node.js build is maintained but is not guaranteed long-term.
-
Upcoming — v3.0.0
Next major updateThe next major release. Expected to bring the GUI online alongside the terminal runtime.
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 native build is the recommended path — it's what current and future development targets. The Node.js build still works but is legacy; treat it as a fallback, not the default.
Windows (Winget / Chocolatey) — C native build, recommended
# Winget
winget install myrachane.emtypyie-cli
# Chocolatey
choco install emtypyie-cli
npm (all platforms) — Node.js build, legacy
npm install -g emtypyie-cli
This is the original distribution path from the project's alpha days. It still receives updates, but new features land in the C build first — and support here may end in a future release.
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 with no runtime dependencies. It's what
Larpino and bakafetch are built directly into, and where all new development
happens. The Node.js CLI (Root4node) is the original alpha-era
codebase, still published to npm, but is now considered legacy.
| Path | Description |
|---|---|
archive/vX.Y.Z/Root4c/ | C CLI — portable single binary (primary) |
archive/vX.Y.Z/Root4node/ | Node.js CLI — published to npm |
mainsite/ | Website landing pages |
manifests/ | Winget package manifests |
choco/ | Chocolatey package |
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-2.5.8.zip | emtypyie.exe | Node.js (pkg) |
emtypyie-cli-native-windows-x64-2.5.8.zip | emtypyie.exe | C native build |
Dev Logs
v2.5.8 — latest release
Latest tag off main. 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.