Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

ShellCheck Passed Every File. The Pipeline Was Still Broken.

Description and use

Linters analyze single files, missing cross‑file script call failures. script‑chain‑walk builds a dependency graph, flags broken chains and cycles, enabling early detection of pipeline failures.

Problem

Linters only analyze single files, so they miss cross‑file script call failures such as missing or renamed scripts, leading to pipeline failures.

Outcome

script‑chain‑walk identifies missing script calls and call cycles that linters miss, enabling early detection of pipeline failures.

Workflow

  • Install script‑chain‑walk via pip
  • Run script-chain-walk walk ./scripts to generate a dependency graph
  • Review output for broken chains or cycles
  • Use --check in CI to exit with error if any issues are found

Evidence

ShellCheck is great at what it does. So is Pylint. So is every linter you've ever run in CI. They all share one blind spot: they look at one file at a time.

Source

The linter passes. The pipeline runs. And it fails — because cleanup.sh was renamed two sprints ago and nobody updated the caller.

Source

I built that map.

Source

script-chain-walk — a zero-dependency Python CLI (stdlib only, Python ≥ 3.9) that traces cross-file script call chains.

Source

It exits 1 if anything is broken or cyclic — made for CI pipelines and agent guardrails.

Source

  • Record date: 2026-10-21T08:41:30.969Z