LSP, quality, and expert agents in one bundle
microsoft/amplifier-bundle-rust-dev
microsoft/amplifier-bundle-rust-dev composes LSP code intelligence, quality tools, and expert agents so Rust gets written, verified, and understood without ever leaving the agent.
The verified proof: it started by absorbing navigation that already worked. →
Commit 6ddede7 — "absorb LSP content from lsp-rust bundle" — wired rust-analyzer as the server, with diagnostics, rename, codeAction, inlayHints, goToImplementation, and customRequest all enabled.
Real, pre-existing code intelligence. But navigation only gets you halfway. →
rust-analyzer helps you read the code, but there was no in-agent cargo fmt, no clippy, no cargo check, and no stub detection. An edit could compile-fail without surfacing back into context.
So the bundle adds the missing verification layer. →
One tool, one pass: formatting (cargo fmt), linting (clippy), types (cargo check), and stub detection for todo!()/unimplemented!()/unreachable!() plus // TODO and // FIXME — with test files and legitimate patterns exempted.
Both concerns need one engine and expert judgment behind them. →
A single 431-line checker library backs both the tool and the hook. Two agents ship with the bundle: rust-dev, the quality expert, and code-intel, the LSP/rust-analyzer navigation specialist.
Now the payoff can lean on both. →
The hooks-rust-check module triggers on *.rs write/edit events, runs the quality checks (lint, types, format), and injects the feedback straight into the agent's context — verification becomes automatic, not a step you remember.
Writing, verifying, and understanding Rust now all happen inside the agent. →
v0.2.0 (commit c971e3a) moved always-on context into the code-intel agent via a context-sink pattern — the author's estimate is ~3,371 tokens saved off always-on for non-Rust sessions.
Compose the whole thing, pay only when you use it. →
That's the pattern rust-dev generalizes: one "Full Rust development experience" that composes LSP + quality + expert agents. And you can still include just the half you need — LSP-only or quality-only.
One bundle, three concerns, composable down to a single behavior.
rust-dev:behaviors/rust-lsp — navigation without quality hooks
rust-dev:behaviors/rust-quality — checks without LSP
behavior-rust-dev composes both plus the expert agents
Repository: microsoft/amplifier-bundle-rust-dev (public, default branch main; created 2026-02-14, pushed 2026-05-18)
Feature status: Active — bundle.yaml/pyproject declare 0.1.0; git tag v0.2.0 present (sub-behaviors rust-lsp/rust-quality at 0.2.0)
Research performed against a fresh independent clone + gh API:
gh repo view microsoft/amplifier-bundle-rust-dev --json createdAt,pushedAt,isPrivate,defaultBranchRefgit show 6ddede7 --stat — first commit absorbing LSP from lsp-rustcat behaviors/rust-dev.yaml behaviors/rust-lsp.yaml behaviors/rust-quality.yamlwc -l src/amplifier_bundle_rust_dev/checker.py — 431 linesgit show c971e3a --stat --format='%an|%ai' — v0.2.0 context-sink refactorgit rev-list --count HEAD (12) · git shortlog -sne HEADGaps / estimates: Token figures ~2,558 / ~813 / ~3,371 are the author's own in-commit estimates, not independently re-measured. "Edits fail silently" is narrative framing, not a repo quote. No adoption/usage numbers were found or claimed.
Primary contributors (HEAD/main): Brian Krabach (9 commits — bundle, core library, agents, v0.2.0); Salil Das (3 commits — Microsoft OSS governance files).