Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

brunnojob/cifuse

Developer Tools

Triages noisy CI logs into grouped failures, evidence and investigation steps.

106
0
JavaScript
MIT
6 days old

What it does

CIFuse reads text CI logs and turns repeated diagnostics into grouped signals, each with file and line evidence. It recognizes 12 pattern families spanning dependencies, compilers, tests and infrastructure, and can compare a new report against a baseline to surface new, existing and resolved signatures.

It runs in three places: as an offline CLI, as a reusable GitHub Action that appends a report to the job summary, and as a bilingual browser workbench. Output is JSON or Markdown, in English or Brazilian Portuguese, with no backend, account, AI key or runtime dependencies required after loading.

Quick start

The README gives a Node.js 22+ and Git workflow. Run the bundled example:

npx --yes github:brunnojob/cifuse --demo

Then analyze a real log and compare it to a stored report:

npx --yes github:brunnojob/cifuse build.log --format json > report.json
npx --yes github:brunnojob/cifuse next.log --baseline report.json --fail-on new

The initial GitHub install downloads source. To use the workbench instead, open the online workbench and click Load example, or clone the repo and run npm run demo. For a GitHub Actions setup, capture an existing command's output while preserving its exit status, then pass the log file to the Action with a log input and optional lang; baseline and fail-on accepts findings or new as documented in the README.

CLI behavior and exit codes

The CLI accepts file paths or - for stdin: cat build.log | node bin/cifuse.js - --format json. Exit code 0 means analysis completed, 1 means the selected threshold matched, and 2 means invalid arguments or input. Default behavior only reports; pass --fail-on findings to make findings fail the run.

Constraints

Limits are 100 files and 5 MiB combined, with 10 retained locations per group. Input is in-memory text, so ZIP archives are not supported and must be decoded first.

CIFuse matches deterministic patterns: it suggests where to investigate but does not prove root causes, fix code, detect flaky tests, or replace test exit status. Credential redaction is best effort and is not a secret scanner. The Action reads one local text file and does not fetch private workflow logs or post comments; production use should pin a reviewed commit SHA instead of main. Beyond a checkout's contents: read, no extra token permissions are needed.

Repository and website

Both browser and CLI import src/engine.js. The website defaults to English with a persistent PT-BR switch, and only the language preference is stored; logs and reports are not persisted. npm test and npm run build are documented for contributors, and dist/ can be served by any static server.

The project is MIT licensed. Further details on its design tradeoffs are in the architecture document, rules in the rule catalog, and limits in the limitations document.

HotRepo's take

CIFuse entered HotRepo's new-project list on November 13, 2026, recording 6 stars over a roughly 1.5-hour observed window, with a total of 106 stars and no forks. There is no best all-language daily rank recorded and no HN discussion to reference. The project's pitch rests on being a deterministic, offline alternative to pasting logs into an LLM or grepping manually, with the same engine reused across CLI, Action and browser. Its no-API-key and local-processing claims are testable from the code and entry points described above, but the recorded growth is too limited to say anything about adoption.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

You might also like

  1. nektos/actA command-line tool that runs GitHub Actions workflows locally in Docker containers, given a Docker-compatible environment.Go72,486
  2. woodpecker-ci/woodpeckerA self-hosted CI/CD engine for teams that need simple pipelines and extensible plugin support.Go8,130
  3. rorkai/App-Store-Connect-CLIA scriptable command-line client for the App Store Connect API, aimed at teams that automate iOS release chores.Go8,061