configuration
Guide @vitest-agent/plugin configuration including thresholds, targets, output format, and plugin options. Use when setting up or modifying the plugin configuration.
SKILL.mdplugin/skills/configuration/SKILL.md
GitHubVitest Agent Plugin Configuration
Plugin Options (vitest.config.ts)
The plugin is configured via AgentPlugin in your Vitest config:
import { AgentPlugin } from "@vitest-agent/plugin";
import { defineConfig } from "vitest/config";
export default defineConfig({
plugins: [
AgentPlugin({
// Output format: "markdown" | "json" | "vitest-bypass" | "silent"
format: "markdown",
// Per-executor console matrix. The plugin auto-detects the
// executor (human, agent, ci) and picks the matching slot.
console: {
human: "passthrough", // Vitest's reporters render
agent: "agent", // markdown final-frame string
ci: "passthrough", // Vitest's reporters render
},
reporterOptions: {
// Coverage thresholds (Vitest-native format)
coverageThresholds: {
lines: 80,
branches: 80,
functions: 80,
statements: 80,
},
// Aspirational goals (informational, not enforced)
coverageTargets: {
lines: 95,
branches: 90,
},
// Auto-ratchet baselines toward targets
autoUpdate: true,
// Max low-coverage files shown in console
coverageConsoleLimit: 10,
},
}),
],
});
Key Options
| Option | Default | Description |
|---|---|---|
format |
"markdown" |
Output format for console |
console |
{} |
Per-executor matrix (human/agent/ci) controlling visible output |
onRunEvent |
none | Live event tap; gated to console.human: "ink" mode |
coverageThresholds |
{} |
Enforced minimums (fail build) |
coverageTargets |
none | Aspirational goals (informational) |
autoUpdate |
true |
Auto-ratchet baselines |
Checking Current Configuration
Use the configure MCP tool to view current settings from the
database. Settings are captured on each test run.
Common Configurations
Strict CI mode
AgentPlugin({
format: "markdown",
console: { agent: "agent" },
reporterOptions: {
coverageThresholds: { lines: 90, branches: 85 },
},
})
Development mode (quiet)
AgentPlugin({
format: "vitest-bypass",
console: { human: "passthrough" },
})
Live Ink animation for humans
import { AgentPlugin } from "@vitest-agent/plugin";
import { createLiveInk, eventSourcedReporter } from "@vitest-agent/ui";
const live = createLiveInk();
AgentPlugin({
console: { human: "ink", agent: "agent" },
reporter: eventSourcedReporter,
onRunEvent: live.event, // fires only when human resolves to ink
})
Inline projects (monorepo configs)
Under Vitest 5, an inline project object in test.projects inherits the
root config — including its plugins array — by default. AgentPlugin
therefore reaches an inline project automatically; set extends: false
on a project to opt it out, which also drops AgentPlugin from that
project since inheritance is how the plugin gets there.