ikigai-cli 0.1.55

ikigai — a REPL client for resource-resolution kernels (native + WebAssembly).
ikigai-cli-0.1.55 is not a library.

ikigai-cli

The ikigai command-line binary — a REPL client for ikigai resource-resolution kernels. Each line is a request issued against a kernel's address space; the response is the resolved representation's bytes. It attaches to a kernel over a pluggable transport and lets you issue requests, inspect self-descriptions, observe the cache, and attenuate capabilities — locally or across a network.

This crate carries the transport and terminal dependencies, keeping ikigai-core lean and WebAssembly-friendly.

cargo install ikigai-cli            # installs the `ikigai` binary

ikigai                              # full-screen TUI REPL on a terminal
ikigai --plain                      # line REPL (also used automatically when piped)
ikigai --quiet                      # line REPL, no banner or topology lines; no prompt on a piped stdin
ikigai -c 'source urn:iki:fn:toUpper hi'  # run a command and exit (repeatable; composes in a shell)

Transports

It chooses a transport by how it attaches; serve runs a kernel server and --connect attaches the REPL to one:

transport feature how
embedded embedded (default) kernel runs in-process (native only)
ipc ipc (default) ikigai serve / --connect over a Unix socket (peercred-verified, same user)
quic quic (opt-in) ikigai serve quic://addr / --connect quic://host:port over QUIC with mutually-pinned TLS

quic is opt-in (it pulls quinn/rustls/tokio); the default build is embedded + ipc. None of the three builds for WebAssembly: ikigai-embedded pulls socket2 through mdns-sd and lettre, which has no wasm32 target. The wasm face is ikigai-engine on its own (ikigai-web-demo runs a kernel in a browser through it), and CI's wasm-lib job checks exactly that crate.

Architecture

All four modes drive the renderer-agnostic ikigai-engine over the ikigai-resolve Resolver seam — so the full-screen ratatui TUI, the line REPL, and one-shot -c mode all behave identically whether the kernel is in-process or across a wire. The remote transports speak the ikigai-wire Call/Reply protocol.

REPL commands: source, describe, list, cache, cap, trace, explain, why, dependents, show, config, help, quit. The pipeline grammar (| pipe, .. map, ( ; ) fork/join, "…" quoting), Emacs/vi keybindings, and cache visibility are documented in the workspace README.

License

MIT OR Apache-2.0. See LICENSE-MIT / LICENSE-APACHE.