getalden / alden
git clone https://github.com/getalden/alden.git
The review companion that knows what you look for: ranks the PRs waiting on you, shows what the diff doesn't, and learns how you review. Runs on your machine.
—
stars, 24h
—
stars, 7 days
+97
stars, 30 days · #2,381
97
★ total
95
forks · 14 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageTypeScript
LicenseApache-2.0
Created2026-09-28 (22d ago)
Last pushtoday
Watchers3
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/getalden/alden
- Homepage: https://getalden.dev
- Releases · Issues · Hacker News mentions
README excerpt
# Alden The review companion that knows what you look for. Alden ranks the PRs waiting on you, shows what the diff doesn't (who calls the changed code), and points you at the few places that need your eyes. It learns from your feedback as you go, and it runs on your machine. > **Status: open beta.** Anyone can install it, and it's free during the beta. Commands and output formats may still > change before 1.0. Questions and ideas: the > Alden Community on Discord. ## Install Pick one (Getting started has the details): [code] Or download the desktop app's .dmg or a standalone binary for macOS, Linux or Windows from the releases page. In Claude Code, add the plugin with `/plugin marketplace add getalden/claude-plugin` and `/plugin install alden@getalden`. ## Quickstart [code] Without installing, put `npx alden@next` in place of `alden`. `alden review` takes a PR URL, `owner/repo#123`, or a # from your last queue. It prints the few places that need your eyes, every check Alden ran with its evidence (secrets, migrations, public signatures, dependencies, tests, config, sensitive paths, CI), and what it did not check. Checks marked `~` infer from the diff alone. Add `--json` for the briefing as data. For TypeScript, JavaScript, Python, Go and PHP, Alden also builds a code graph of the repo and lists the callers outside the diff of every changed public function, class and method, flagging removed or re-signed code that's still called. For PHP it follows Laravel's and Symfony's indirect calls too: container bindings, facades, Eloquent scopes and relationships, Blade templates and service config. Local reviews use your working tree. For PR reviews, Alden uses a clone of the PR's repo: the one you run it in, one it has seen you use, or one under `clones.folders`. It fetches the PR into its own worktree under `~/.alden/worktrees` (your checkout is never touched). `--no-graph` skips it. With a model (`alden setup` checks and stores an Anthropic or OpenAI API key, or sets up a local one through Ollama; `ANTHROPIC_API_KEY` or `OPENAI_API_KEY` works too), the review also asks a model what the change does, whether it matches its title, and what else deserves a look. Alden keeps only findings that point at real lines in the diff, and never lets them displace high-severity checks. Use `--model opus` for one review, or `--no-llm` to skip the model. Every call is checked against your caps before it's sent; `alden spend` shows what you've spent. `alden ask 1 "Is the retry safe?"` asks it a question about a briefed PR. [code] Then say what you think without leaving Alden: write comments on the places to look or any line of the diff, and send them to GitHub as one review. Alden posts only what you send, exactly as it shows it to you first; nothing posts in the background or from a model. [code] See Comments and sending a review. `alden queue` splits the PRs waiting on you into two groups: - **Needs you**, highest priority first. Blocking beats waiting beats ris