A vim-modal system powertool: network, process, memory, disk, and hardware monitoring/control in one TUI + CLI
  • Rust 90.5%
  • HTML 4.9%
  • CSS 3.2%
  • Nix 0.8%
  • Shell 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
JagHack 22e2b72de7 Fix stale placeholder URLs now that Forgejo is actually live
docs/install.md, website/index.html, and the AUR PKGBUILD all guessed
at forgejo.kanri.management/kanri/kanri before any of this existed —
the real, live instance ended up at git.kanri.management/jaghack/kanri
instead. Also pointed net wg-up's --help text at the real live docs
site (docs.kanri.management/wireguard.html) instead of a relative
docs/wireguard.md path a CLI user has no easy way to resolve from their
terminal.
2026-09-17 01:13:49 +02:00
docs Fix stale placeholder URLs now that Forgejo is actually live 2026-09-17 01:13:49 +02:00
packaging Fix stale placeholder URLs now that Forgejo is actually live 2026-09-17 01:13:49 +02:00
src Fix stale placeholder URLs now that Forgejo is actually live 2026-09-17 01:13:49 +02:00
website Fix stale placeholder URLs now that Forgejo is actually live 2026-09-17 01:13:49 +02:00
.gitignore Initial implementation: kanri, a vim-modal system powertool 2026-09-16 14:39:51 +02:00
Cargo.lock Initial implementation: kanri, a vim-modal system powertool 2026-09-16 14:39:51 +02:00
Cargo.toml Add packaging, docs, and README for public release 2026-09-16 23:21:16 +02:00
flake.lock Add packaging, docs, and README for public release 2026-09-16 23:21:16 +02:00
flake.nix Add packaging, docs, and README for public release 2026-09-16 23:21:16 +02:00
README.md Add packaging, docs, and README for public release 2026-09-16 23:21:16 +02:00
shell.nix Initial implementation: kanri, a vim-modal system powertool 2026-09-16 14:39:51 +02:00

kanri (管理)

A vim-modal system powertool for Linux — the functionality of nmcli/nmtui, btop, du(f)/df, dmidecode, free/top/vmstat, plus real WireGuard, Tailscale, and packet capture, in one TUI and one scriptable CLI. Not two separate tools sharing a name — one shared action layer behind both: every keybind and every : command in the TUI runs through the exact same code as its CLI subcommand.

kanri              # TUI
kanri proc list    # CLI, same underlying action
kanri disk --json  # machine-readable

What's in it

  • Overview — CPU/memory/network/disk at a glance, real sparklines and gauges
  • Network — devices & connections (NetworkManager), live diagnostics, socket list, WireGuard status + up/down, Tailscale status + up/down/exit-node, per-process bandwidth, subnet scan, live packet capture (Wireshark-style dissection)
  • Process — sortable/filterable table, per-core CPU strip, kill/renice
  • Memory, Disk (grouped by physical drive, real capacities, collapsible), Hardware (host/CPU/kernel/sensors)

100% vim-modal (hjkl, gg/G, : command line, / live filtering — contextual to whatever list is on screen), fully remappable, live theme hot-reload, zero config required.

Install

See docs/install.md — Arch, Debian/Ubuntu, NixOS, or build from source.

Docs

Design notes

  • One action layer. Action (also a clap::Subcommand) is dispatched identically whether it came from a shell argv or the TUI's : line parsed with the same grammar. There is exactly one implementation per action.
  • Never grants its own privilege. WireGuard control and packet capture both need root/capabilities kanri doesn't have by default and won't silently acquire — see the docs above for the one-time setup, scoped as narrowly as you want it.
  • --json on everything that has a CLI form — same data as the human-readable text, nothing summarized differently between the two.

Status

Actively developed, pre-1.0. Source lives on this project's own self-hosted Forgejo instance, not GitHub.

License

Not yet chosen.