Skip to content

Releases: revund-dev/revund-cli

v0.4.1

Choose a tag to compare

@wesguirra wesguirra released this 21 Jul 21:38
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

🔒 Security

  • fix: confine changed-file loading to the repo root — a crafted diff could previously escape via ../ or a committed symlink and read arbitrary host files into the review prompt (REV-11, REV-12)

🐛 Fixes

  • fix: revund review --base <ref> no longer aborts with is a directory on repos containing a git submodule — submodule pointers are skipped (REV-11)
  • fix: ignore binary files (png, jpeg, fonts, archives) by default so raw bytes never land in the review
  • fix: force MiniMax to English output — system-prompt directive stops Chinese-character leak in findings
  • fix: harden review output rendering

✨ Features

  • feat: conventions pass — flags PRs that break the project's own CLAUDE.md / AGENTS.md / .cursorrules rules; on by default in BYOK and self-skips (no LLM cost) when a repo has no convention docs

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.4.0

Choose a tag to compare

@wesguirra wesguirra released this 21 May 09:10
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

✨ Features

  • feat: workers behind a universal gRPC contract — ts/php/ruby ship as standalone packages
  • feat: PHP + Ruby sidecar foundations — php-worker (nikic/PHP-Parser) and ruby-worker (whitequark/parser) scaffolded with gRPC Health + Parse stub returning well-formed empty ParsedFile, mirroring ts-worker pattern; new proto packages (phpworker.proto, rubyworker.proto) + generated Go stubs; pkg/phpworker + pkg/rubyworker client packages with Dial/grpcClient/NopClient; lang.PHPParser + lang.RubyParser plug into the registry and return ErrUnavailable until a client is wired; passes.WithStructuralPHPWorker + WithStructuralRubyWorker thread live clients through to the architecture wrapper; AST traversal lands in the focused per-language follow-ups
  • feat: PHP + Ruby join the structural layer — LangPHP/LangRuby constants, walker support for .php/.rb/.rake, per-language god-file thresholds (500 lines) with PSR-4 + Rails-autoload suggestions, Laravel + Rails framework profiles registered in DefaultRegistry; path-aware detectors fire today, ROADMAP captures the three-way fork (sidecar / WASM tree-sitter / CGO tree-sitter) for AST-level coverage in a focused follow-up
  • feat: ship Vue / Svelte / Astro / Solid framework profiles + IsSingleFileComponent shortcut so SFC frameworks get MisplacedComponent findings via path alone (no .vue/.svelte/.astro parsers needed yet); MultipleComponentsInFile correctly skips SFCs; walker now retains .vue/.svelte/.astro files in the RepoMap as LangOther; 5 of 7 major frontend frameworks now first-class with one file per framework
  • feat: framework-agnostic seam for structural detectors — new pkg/structural/framework with Profile interface + ReactProfile + RepoSignals auto-detection (package.json + sentinel files + extension fallback), RepoMap exposes active profiles, MultipleComponentsInFile and MisplacedComponent now consult profiles instead of hardcoded React rules; adding Vue/Svelte/Angular/Solid/Astro/Qwik is now one file per framework with zero detector changes

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.3.0

Choose a tag to compare

@wesguirra wesguirra released this 20 May 08:55
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

✨ Features

  • feat: per-org structural detector disable list via .revund.yaml — structural.disable: [...] read by repoconfig, filtered through structural.DetectorsExcept, plumbed via passes.WithStructuralDetectors into BYOK CLI, managed CLI client-side, and the bot's buildEnabledPasses; CustomRules-gated server-side, ungated in BYOK; plus fix stale TS-stub comment in lang.go
  • feat: TSX concerns population — ts-worker parser classifies JSX/state hooks/fetch/axios/useQuery/storage/env reads into the proto concerns list, Go side demuxes into a new State-aware ConcernSet, MixedConcernsDetector now flags a 5-concern Dashboard.tsx as Blocker
  • feat: TS parser via ts-worker Parse RPC + TSX detectors (MultipleComponentsInFile/SRP and MisplacedComponent/Layering with Next.js App Router framework priors); structural layer is now language-pluggable end-to-end and a TSX PR with 2 components in app/Foo.tsx surfaces by-name finding + "move to _components/" suggest
  • feat: rewrite architecture prompt with operational FLAG-WHEN rules per principle (SRP/SoC/DRY/abstraction-level/layering/naming/YAGNI/coupling) and an explicit DO-NOT-FLAG list for god-file + mixed-concerns territory the deterministic detectors now own
  • feat: collapse structural detectors into the architecture pass via passes.WithStructural — bot + BYOK CLI now run one Architecture pass with merged LLM + deterministic findings; managed CLI server stays LLM-only with the client merging via passOnce
  • feat: pkg/structural — principle-based architecture detectors (god-file/SRP + mixed-concerns/SoC) over an AST-driven, language-pluggable foundation (Go today, TS parser stub for the ts-worker RPC, registry open for Python/Rust/Kotlin/Swift/Java/C#/Ruby/PHP)

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.2.0

Choose a tag to compare

@wesguirra wesguirra released this 18 May 19:23
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

✨ Features

  • feat: CLI BYOK runner honors .revundignore (loads via repoconfig.LoadIgnorePatterns, filters bundle before ts-worker enrich + budget prune)
  • feat: pkg/review/validator — drop findings whose Evidence field isn't verbatim in the cited file; runs before classifier; new required schema field + prompt contract on every pass; 9 unit tests pin the drop codes

🐛 Fixes

  • fix: ignore loader returns partial result on oversized line A single line past the 1 MB scanner cap was discarding every well-formed pattern parsed before it. Return the partial slice alongside the scan error so the caller can warn-and-continue with whatever did parse — matches the docstring's stated contract. Regression test pins the behavior.
  • fix: pass prompts must engage with surrounding error handling and stop speculating about runtime frequency — was producing high-confidence fabrications by reading single lines in isolation

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.1.4

Choose a tag to compare

@wesguirra wesguirra released this 01 May 02:01
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

🐛 Fixes

  • fix: ground pass prompts (drop TypeScript framing, require literal-quote evidence) and harden SSE writer-vs-heartbeat shutdown
  • fix: managed-mode pass duration uses server-supplied elapsed; TUI sidebar + severity glyphs match website demo

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.1.3

Choose a tag to compare

@wesguirra wesguirra released this 01 May 01:07
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

✨ Features

  • feat: SSE ready event + server-side heartbeat, CLI heartbeat fallback while awaiting first event

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.1.2

Choose a tag to compare

@wesguirra wesguirra released this 01 May 00:27
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

✨ Features

  • feat: managed-mode SSE streaming (server + CLI)
  • feat: releases and roadmap pages, fix footer

🐛 Fixes

  • fix: server-side LLM key reads ANTHROPIC_API_KEY (not REVUND_API_KEY) — disambiguate from CLI bearer

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.1.1

Choose a tag to compare

@wesguirra wesguirra released this 30 Apr 18:56
b20750d

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

See revund.dev/docs for full
documentation.


Changelog

✨ Features

  • feat: CLI managed mode (revund login + REVUND_API_KEY), provider/model flags, BYOK env vars

🐛 Fixes

  • fix: add install command plus download button

Full documentation: https://revund.dev/docs
Service status: https://revund.dev/status
Report an issue: https://github.com/revund-dev/revund-cli/issues

v0.1.0

Choose a tag to compare

@wesguirra wesguirra released this 30 Apr 17:35
b20750d

v0.1.0 — first release

revund is now installable. AI code review for TypeScript teams,
shipped as a single binary.

Install

# Shell installer (any *nix)
curl -fsSL revund.dev/install.sh | sh

# Homebrew (macOS, linuxbrew)
brew install revund-dev/tap/revund

# npm
npm install -g @revund/cli

# Direct download
# https://revund.dev/download

Supported: macOS (x64, arm64), Linux (x64, arm64), Windows (x64).

What's in v0.1.0

  • Local reviewrevund review runs the four specialist passes
    (security, performance, architecture, style) over your local diff
    in parallel. Defaults to git diff HEAD against the working tree
    so you can review what you're about to commit.
  • Interactive TUI — bubbletea-based viewer for navigating
    findings. Arrow keys to move, enter to open the file in
    $EDITOR, c to copy file:line, q to quit. Falls back to a
    line-based printer when piped or run with --no-tui.
  • Multi-provider LLM chain — DIT exchange, MiniMax, DeepSeek,
    Gemini, OpenAI, Anthropic. Per-pass override via env vars.
    Per-provider timeout (180s default) so a stalled provider falls
    through to the next.
  • Trust mechanicsrevund feedback dismiss <fingerprint>
    suppresses a finding from future reviews. revund feedback list
    / audit show the state and history. Dismissals are scoped to
    the repo and persist across runs.
  • .revund.yaml configuration — per-repo ignore patterns,
    severity threshold, and per-pass extra instructions.
  • Streaming output — findings render as each pass completes,
    not at the end. Fast passes' results show up in seconds.
  • JSON output--json emits a single document for piping
    into other tools / CI.

Documentation

Verifying integrity

Every binary is built reproducibly and signed by the
checksums.txt attached to this release (SHA-256). The shell
installer verifies automatically; for direct downloads, compare
against checksums.txt before running.