f00tils · pure ASM · multicall · MIT · v0.16.10

GNU userland, rebuilt

One freestanding multicall for coreutils, grep, findutils, and diffutils (115 tools). --core is GNU-identical and faster. Default modern is the terminal you actually want.

coreutils 2.6× wall · CPU 2.8×
grep wall · CPU 10.1×
findutils 3.6× wall · CPU 3.7×
diffutils wall · CPU 2.1×
$ curl -fsSL https://coreutils.f00.sh/install.sh | bash
f00tils 0.16.10 version and modern f00-ls with glyph icons in a color terminal

Why it wins

--core — GNU clone

  • Byte-identical to GNU (stdout, stderr, exit).
  • Beats GNU on wall and CPU — separate metrics, per package.
  • Use for CI, scripts, and true PATH drop-in (see below).

Modern — default

  • Theme, truecolor, icons, chrome — not a pale GNU subset.
  • Rich --json / --csv, fd/rg/delta-class power where it fits.
  • Default for humans. Not auto-switched off just because a script ran.

Drop-in: --core is not auto-detected

A script, cron job, CI job, or pipe does not turn on --core. Non-TTY only turns color/chrome off. Modern behavior can still differ from GNU (example: modern find skips .git).

For GNU-identical drop-in, opt in explicitly:

  • Per call: tool --core …
  • Process tree: export F00_CORE=1 (same as --core on every tool)
  • Config: core = true via f00-config

Distro package installs bare names in /usr/bin (conflicts with coreutils/findutils/grep/diffutils) — works in every session including TTY, no PATH hacks. It does not set F00_CORE for you.

Modern default vs --core side by side
Modern default (icons + theme) vs --core GNU-plain — explicit opt-in for scripts

Feature tour

Real color-terminal captures (forced PTY) of the shipped multicall — not one-liners for decoration. Regenerated every release.

f00-ls long listing with glyph icons and theme colors
ls -la — modern long listing: glyph icons, type colors, owners, timestamps (not a pale GNU).
f00-grep match highlight and JSON output
grep — match chrome with line numbers, plus machine --json (schema: f00/v1).
f00-diff unified color and word-diff
diff — themed unified hunks and delta-class --word-diff markers.
f00-cat shebang syntax paint and f00-find modern skip plus json
cat + find — shebang paint for shell scripts; modern find skips .git (shown vs --core) and emits --json.
Multicall tour across id sort hash grep wc
One binaryargv0 dispatch across the suite: id, nproc, uname, sort, sha256sum, wc, grep.

Benchmarks

f00-* --core vs GNU. Spawn-inclusive. Totals per package. Wall and CPU separate.

Scoreboard

115/115 shipped · per-set speed vs GNU

# tool f00 shipped --core modern GNU ms f00 ms wall · CPU
Loading…

Install

$ curl -fsSL https://coreutils.f00.sh/install.sh | bash
# pin
curl -fsSL https://coreutils.f00.sh/install.sh | F00_VERSION=v0.16.10 bash

# keep GNU bare names
curl -fsSL https://coreutils.f00.sh/install.sh | F00_SUPERSEDE=0 bash

# source
git clone https://github.com/f00-sh/f00tils.git
cd f00/asm && make && make install

f00                 # config TUI
f00-config replace off

Linux x86-64 · scoreboard · README

Documents

Operator SOP and formal release memo (NASA layout). Same PDFs attach to the GitHub Release for this version. Scene card ships as a Release asset only (not spotlighted here).