← Index

SHT-04 · Async CLI · 2025

LinkGuard

Finds the dead links before your readers do — fast enough to live in CI.

Open sourceSource on GitHub ↗

The surface

Link rot is invisible until a reader hits the 404. LinkGuard is a Python CLI that checks every link on a site concurrently — hundreds of URLs fanned out over aiohttp — so a full pass takes seconds, not a coffee break.

It knows the difference between environments, reports in JSON, CSV or Markdown, and runs in GitHub Actions so broken links fail the build instead of embarrassing you later.

Why it exists

A checker you can't trust is worse than no checker — a quiet false 'all good' is the most expensive output a tool can produce. So it ships with 91 tests and runs them on every push.

The system

  • Concurrent validation over aiohttp — the whole site checked in one async fan-out.
  • Environment-aware rules: what counts as broken in production isn't what counts in dev.
  • Reports in JSON, CSV and Markdown; wired into GitHub Actions CI.
  • 91 passing tests, 71% coverage, packaged and published to TestPyPI.

Where it stands

The tool I reach for before every deploy of anything with links in it.


Next sheet · SHT-02Semblia