Ask the question.
Your machine answers.

Understand Linux metrics in your terminal.
Short answers, backed by your machine’s live state.

A LINUX COMPANION / IN YOUR TERMINAL

Understand the number.
Keep your flow.

Get a practical answer without leaving the terminal. Read a short explanation, compare it with your machine, then go deeper when you need to.

Start with the answer.
Plain explanations for Linux metrics and everyday questions, with pitfalls and the deeper why alongside each card.
Read your machine.
Put explanations beside live system facts, from available memory to process states. No root required and no system changes.
Keep it within reach.
Use the CLI, browse the terminal interface or read the book in your browser. The binary embeds its content and works offline.

A LINUX COMPANION FOR THE TERMINAL

One card,
three ways in.

The same card on the command line, in the interactive mode, and for an AI agent over MCP.

● ● ●alice@laptop ~ · atfq freeLINUX
$ atfq free
17.1  free vs available

TL;DR
  - free: memory nobody is using at all, not even as cache.
  - available: what your apps can still get without swapping.
  - Look at available, not free: the available column of
    the Mem: line in free -h.

      free -h

On your machine
  RAM       10.5 GiB available of 15.5 GiB (68%)
            · 1.1 GiB completely free
  Cache     7.5 GiB in buff/cache, 604.0 MiB of it shared
  Swap      256.0 MiB used of 8.0 GiB · swappiness 60

Pitfalls
  - "free" near zero is normal: Linux fills spare RAM
    with page cache.
  - A little swap in use is not a problem by itself.
    What hurts is constant swapping: watch the si and so
    columns of vmstat 1.

Deep dive: 3 questions. Read them with atfq 17.1 --why

$  

The short answer, your machine’s numbers, the pitfalls — and the deep dive one flag away.

$ ATFQ 17.1 --WHY

Every card answers
in the same order.

Cards are organised like a book, with a flat numbered table of contents. Type a name, an alias, a chapter number, or the error message you just got. The first screen solves the problem.

01 / TL;DR

TL;DR

Three lines, in plain English. If a sentence would fit in a man page, it was rewritten.

17.4  The page cache
  - Keeps file data in RAM after
    it has been read or written.
  - Shrinks by itself when apps
    need more: nothing to free.
02 / ON YOUR MACHINE

On your machine

Live probes read /proc, /sys and /etc directly. What’s true here, not in general.

On your machine
  Arch   x86_64, made by Intel
  Level  x86-64-v4: programs
         built for this level or
         below run here
03 / DEEP DIVE

Deep dive

The “why”, folded away until you ask. Questions you can open one by one in the TUI.

  ▾ Why do zombies exist at all?
  ▸ How is "available" calculated?
  ▸ What is swappiness and when
    should I change it?
Read 17.1 in the book →

$ ATFQ PROBE

It looks.
It never touches.

atfq shows commands and reads state. It never runs your commands and never changes the system, so you can point it at a production box.

  • Reads/proc, /sys, /etcPlus key names in ~/.ssh, never a private key.
  • Runssystemctl, and nothing elseFixed arguments, a 500 ms timeout.
  • NetworkNeverContent is embedded in the binary.
  • RootNot neededA probe that can’t answer says “needs root”.

$ ATFQ "EXEC FORMAT ERROR"

Paste the error,
get the card.

Typos are forgiven, and error messages work as queries.

  • "exec format error"23.2 ELF and “command not found”
  • memroyNo exact match, showing Memory
  • degradedsystemd units that failed
  • 5.1a card, by chapter number
  • ask disk --redacta prompt to paste into an AI, without your hostname

$ ATFQ TUI

Your fingers
already know the keys.

Contents on the left, the page on the right. vim keys, counts included, and the mouse when you want it.

jk
move, scroll (5j for five)
hl
switch pane
ggG
top, bottom
^d^u
half a page
Tab
next link or question
⏎
open, expand
^o⌫
back
/
search every card
?
the AI prompt for this page
r
run the probes again

IN PRACTICE / THE EVIDENCE

A problem.
What changed.

Choose a target to read what happened: the problem, the finding and the result. Each story names its evidence and the scope of its validation.

Documented walkthrough

Low “free” memory did not mean the RAM was full.

Problem
The VM showed only 1.0 GiB completely free out of 3.9 GiB. Reading that column alone made the memory situation look worse than it was.
Finding
atfq free explained the distinction and read 2.6 GiB available on the same machine. The walkthrough checked both figures against free -h.
Result
The explanation pointed the reader to available memory and swap activity before treating page cache as a shortage.

A teaching walkthrough with recorded figures, not evidence of a memory leak being repaired.

ATFQ · docs/demo.md, act 1Read the walkthrough →

$ ATFQ --VERSION

Ask your machine
the question.

Linux only. The prebuilt binaries are static: no particular libc needed, Alpine included. Each archive is signed and lists its SHA-256 sum.

PREBUILT

x86-64 shown; use aarch64 on ARM.

curl -fLO https://github.com/devutils-org/atfq/releases/latest/download/atfq-x86_64-linux.tar.gz
gh attestation verify atfq-x86_64-linux.tar.gz --repo devutils-org/atfq
tar xzf atfq-x86_64-linux.tar.gz
mkdir -p ~/.local/bin
install -m 755 atfq-x86_64-linux/atfq ~/.local/bin/
FROM SOURCE

With a Rust toolchain.

git clone https://github.com/devutils-org/atfq
cd atfq
cargo install --path .
FOR YOUR AI AGENT

Five read-only MCP tools over stdio.

claude mcp add atfq -- atfq mcp
atfq stands for “Ask The F*cking Question” · MIT OR Apache-2.0, code and content