Releases: clouddrove/naoru
Release list
v0.2.2
v0.2.1
Fixed
- Rate-limited diagnoses now retry. Concurrent runs tripping per-minute provider token limits (429) previously lost the diagnosis entirely. Provider calls retry up to 4 times, honoring the provider's
try again in Xshint, else exponential backoff (capped 90s). - fix-mode suggestions actually land. Hunk location now tolerates model-mangled diff context: falls back from exact match → indentation-insensitive → removed-lines-only anchoring. Unique match still required at every level.
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's new
Auto-fix (experimental)
New opt-in fix-mode input:
suggest— posts one-click GitHub suggestion review comments on the PR, one per hunk (needspull-requests: write)pr— applies the diagnosed diff on anaoru/fix-<run-id>branch and opens a labelled PR targeting the failing branch; never pushes to your branch (needscontents: write+pull-requests: write)
Safety rails always on: high-confidence diagnoses with a diff only; nothing under .github/ is touchable; 300-changed-line cap; hunks placed by unique content match; loop guard on naoru/fix-* branches; all fix errors are warnings — the pipeline is never blocked.
New output: fix-pr-url.
Fixed
- Step Summary / PR comment formatting: diffs now render in a dedicated ```diff block. Models embedding fences mid-sentence no longer break the markdown or swallow the confidence footer.
Dependencies
- undici 6.27.0, openai 6.44.0, @anthropic-ai/sdk 0.105.0, actions/checkout v7, dev-tooling bumps
Full Changelog: v0.1.0...v0.2.0
naoru v0.1.0
🩺 naoru v0.1.0 — works on PR-less pipelines + far more reliable log fetching.
New
- Step Summary fallback — on
workflow_dispatch/scheduleruns with no PR, the diagnosis is written to the job Step Summary. PR comment still posts when a PR exists. Makes naoru useful for Terraform deploy/drift pipelines.
Fixed
- Reliable logs — fetch the failed job's logs directly (
downloadJobLogsForWorkflowRun) instead of the run-level zip, which 404s while the run is still in progress. naoru is usually a job in the same run, so this was a real blind spot. Removes theadm-zipdependency.
Verified live
PR comment path and dispatch (no-PR) Step Summary path both confirmed end-to-end via OpenRouter.
naoru v0.0.2
🩺 naoru v0.0.2 — bug fixes from live end-to-end testing across JS, Docker, and Terraform failures.
Fixes
- Diff size guard — PR diffs no longer ship generated bundles (
dist/, lockfiles, minified) and are hard-capped, preventing LLM context-length errors on large PRs. - OpenRouter default model — updated to a current, valid id (
openai/gpt-4o); the old default returned 404. - Proper run-log unzip + failed-job filtering (carried from v0.0.1 work).
Verified live
Diagnosed real failures end-to-end via OpenRouter: JS TypeError, Docker (apt-get on Alpine), and Terraform (validate unsupported argument) — correct root cause + fix each time.
naoru v0.0.1 — AI CI Doctor
🩺 First public release of naoru — when your CI fails, it reads the failed logs + your PR diff, finds the root cause, and comments the fix on the pull request.
Highlights
- Multi-LLM: Anthropic, OpenAI, OpenRouter, xAI (Grok), Groq, or any OpenAI-compatible endpoint
- GitHub Action + Docker CLI — also runs in GitLab dind, Jenkins, or locally via
ghcr.io/clouddrove/naoru - Sticky PR comment — updates in place, never spams
- Fail-safe — comment-only, never fails your build
- node24 runtime, structured tool-call output, proper run-log unzip
Quickstart
- uses: clouddrove/naoru@v0
with:
api-key: ${{ secrets.ANTHROPIC_API_KEY }}
provider: anthropicSee the README for setup and the provider table.