Releases: revund-dev/revund-cli
Release list
v0.4.1
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/downloadSee 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 withis a directoryon 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
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/downloadSee 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
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/downloadSee 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
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/downloadSee 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
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/downloadSee 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
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/downloadSee 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
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/downloadSee 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
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/downloadSee 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
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/downloadSupported: macOS (x64, arm64), Linux (x64, arm64), Windows (x64).
What's in v0.1.0
- Local review —
revund reviewruns the four specialist passes
(security, performance, architecture, style) over your local diff
in parallel. Defaults togit diff HEADagainst 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,enterto open the file in
$EDITOR,cto copyfile:line,qto 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 mechanics —
revund feedback dismiss <fingerprint>
suppresses a finding from future reviews.revund feedback list
/auditshow the state and history. Dismissals are scoped to
the repo and persist across runs. .revund.yamlconfiguration — 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 —
--jsonemits a single document for piping
into other tools / CI.
Documentation
- Website: https://revund.dev
- Docs: https://revund.dev/docs
- Status: https://revund.dev/status
- Issues: https://github.com/revund-dev/revund-cli/issues
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.