Skip to content

Releases: gitwingo/ci-why

v0.1.1

03 May 07:52

Choose a tag to compare

What's new

Initial release of ci-why — stop reading 400 lines of CI logs to find the 3 that matter.

Install

pip install ci-why

Usage

# From a log file
ci-why build.log

# Pipe from GitHub CLI
gh run view --log | ci-why -

# Pattern analysis only — no API call needed
ci-why build.log --no-ai

What it does

Scans any CI log file, strips the noise (download progress, debug lines, group markers), and surfaces the exact lines that caused the failure — with surrounding context. Optionally uses Claude to explain the root cause and suggest concrete fix steps in plain English.

Failure signals detected

  • Test failures (Jest, pytest, Go test)
  • Tracebacks and panics
  • Non-zero exit codes
  • Missing modules and import errors
  • Build and compilation errors
  • Dependency errors (npm, yarn, pip)
  • Network timeouts and connection errors
  • Lint and type check errors (ESLint, mypy, ruff, TypeScript)
  • Permission errors

AI explanation (optional)

Set ANTHROPIC_API_KEY in your environment to get plain-English root cause analysis and fix steps. Works without it too — pattern matching runs regardless.

Full documentation

See the README for all options and examples.

v0.1.0

03 May 07:44

Choose a tag to compare

What's new

Initial release of ci-why — stop reading 400 lines of CI logs to find the 3 that matter.

Install

pip install ci-why

Usage

# From a log file
ci-why build.log

# Pipe from GitHub CLI
gh run view --log | ci-why -

# Pattern analysis only — no API call needed
ci-why build.log --no-ai

What it does

Scans any CI log file, strips the noise (download progress, debug lines, group markers), and surfaces the exact lines that caused the failure — with surrounding context. Optionally uses Claude to explain the root cause and suggest concrete fix steps in plain English.

Failure signals detected

  • Test failures (Jest, pytest, Go test)
  • Tracebacks and panics
  • Non-zero exit codes
  • Missing modules and import errors
  • Build and compilation errors
  • Dependency errors (npm, yarn, pip)
  • Network timeouts and connection errors
  • Lint and type check errors (ESLint, mypy, ruff, TypeScript)
  • Permission errors

AI explanation (optional)

Set ANTHROPIC_API_KEY in your environment to get plain-English root cause analysis and fix steps. Works without it too — pattern matching runs regardless.

Full documentation

See the README for all options and examples.