Goal for Strand UI Lab: $200 to prepare for production release

netcheck CLI

netcheck

A command-line tool that inspects your local network. It has three commands: status shows the current network, check runs connectivity health checks, and explain prints a short diagnosis.

Quick start

Clone it, build it, and run it. You need zig 0.16 installed.

git clone https://github.com/dillingerstaffing/netcheck
cd netcheck
zig build
./zig-out/bin/netcheck status

That builds a single binary at zig-out/bin/netcheck. Run status, check, or explain.

Output

In the snippets below, machine-specific values are masked: numbers become ###.###.### and names become WWWW. Universal values, like the loopback interface, are shown as-is.

Example output: netcheck status
$ netcheck status
Interfaces
  WWWW (WWWW)
      inet  ###.###.###
      inet6 ###.###.###
  lo0 (up)
      inet  127.0.0.1
      inet6 ::1

Routing
  default gateway: ###.###.###
  via interface: WWWW
  local IP: ###.###.###

DNS
  server: ###.###.###
  server: ###.###.###
Example output: netcheck check
$ netcheck check
Network health checks
  ✓ default route        ###.###.###
  ✓ gateway reachable    ###.###.###  (###.###.### ms)
  ✓ public connectivity  ###.###.###  (###.###.### ms)
  ✓ DNS configured       ###.###.###
  ✓ DNS resolution       WWWW.WWWW.WWWW  (###.###.### ms)

  ✓ all critical checks passed
Example output: netcheck explain
$ netcheck explain
Diagnosis
  ✓ Network looks healthy
Default route, gateway, DNS, and internet connectivity all check out.
  - No action needed.
How it works
  1. status

    Shows the current network.

    Interfaces and their addresses, the default gateway, and the DNS servers. Runs no tests.

  2. check

    Runs health checks.

    Default route, gateway, public internet, and DNS, with a pass or fail line for each. Exits non-zero if a critical check fails.

  3. explain

    Prints one diagnosis.

    Reads the same checks and names the single most likely problem.

The Right Person. The Right Role.

Matches that last, by understanding what actually matters about a role, a team, and a person.