TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/DevDonzo/warden/llms.txt
Use this file to discover all available pages before exploring further.
.wardenrc.json file is Warden’s primary configuration file. It controls every aspect of how Warden scans your project, creates pull requests, enforces security policies, and delivers notifications. You can override individual settings without touching defaults — Warden performs a deep merge so any key you omit falls back to its built-in default.
Creating a Config File
Run the following command in your project root to scaffold a.wardenrc.json with all defaults pre-filled:
Warden resolves your config file by checking the following paths in order, stopping at the first match:
.wardenrc.jsonin the current working directory.wardenrcin the current working directorywarden.config.jsonin the current working directory~/.wardenrc.jsonin your home directory
scanner
Controls which vulnerability scanner Warden uses and how it behaves.
The primary scanner to use.
"snyk" uses the Snyk CLI and provides richer
vulnerability data. "npm-audit" uses the built-in npm audit command and
requires no extra credentials. "all" runs both scanners and merges the
results.When
true, Warden automatically falls back to npm-audit if the primary
scanner (Snyk) fails — for example, when SNYK_TOKEN is not set or the Snyk
CLI is unavailable.Maximum time in milliseconds to wait for a scanner to complete. Defaults to
300,000 ms (5 minutes). Increase this value for very large monorepos.
Number of times Warden retries a failed scan before giving up.
fixes
Controls automated fix behavior — how many fixes Warden applies per run, which severity threshold triggers a fix, and how branches and PRs are named.
Maximum number of vulnerability fixes Warden will attempt in a single run.
Keep this low (1–3) to ensure PRs remain focused and easy to review.
Minimum severity level required before Warden attempts a fix. Vulnerabilities
below this threshold are reported but not auto-fixed.
When
true, Warden will attempt to auto-merge fix PRs after creation.
Requires the GitHub token to have merge permissions and branch protection rules
to allow it.Prefix for fix branches created by Warden. The full branch name will be
{branchPrefix}/{vulnerability-id}, e.g. warden/fix/SNYK-JS-LODASH-123.github
Controls how Warden interacts with GitHub when creating pull requests.
GitHub usernames to assign to every PR Warden creates. Overrides
GITHUB_ASSIGNEE env var for all PRs.Labels to apply to every PR. Labels must already exist in the repository.
GitHub usernames to request reviews from on every PR.
When
true, Warden automatically assigns the PR to the GitHub user associated
with the GITHUB_TOKEN if no explicit assignees are configured.policy
Defines exit-code and gating behavior for CI pipelines. Policy settings let you fail a pipeline or block fixes based on vulnerability severity or the overall security posture score.
If any discovered vulnerability meets or exceeds this severity, Warden exits
with a non-zero exit code, failing the pipeline step.
Warden computes a holistic security posture (
guarded, elevated, or
critical) based on the full scan result. If the posture meets or exceeds this
threshold, the pipeline fails.Fixes for vulnerabilities at or above this severity level require a human
approval token before Warden will apply them. See the
--approval-token CLI
flag.notifications
Configures Warden to send scan summaries and fix notifications to Slack, Discord, or email.
Master switch for all notifications. When
false, no messages are sent
regardless of other notification settings.notifications.slack
Incoming Webhook URL for a Slack workspace. Create one at
api.slack.com/apps.
Optional channel override, e.g.
#security-alerts. If omitted, messages go to
the channel configured in the webhook itself.notifications.discord
Discord channel webhook URL. Find this in your Discord server’s channel
settings under Integrations → Webhooks.
notifications.email
List of recipient email addresses.
Sender address, e.g.
"Warden <warden@example.com>".Email delivery provider.
"resend" uses the Resend API
(requires RESEND_API_KEY). "webhook" posts a JSON payload to the URL
specified in email.webhook.Name of the environment variable that holds the provider API key, e.g.
"RESEND_API_KEY". Warden reads the key at runtime from process.env.Webhook URL used when
provider is "webhook". Warden POSTs a JSON body
containing scan summary data.Optional prefix for email subject lines, e.g.
"[Warden]".logging
Log verbosity level. Use
"debug" to see every internal step Warden takes,
which is helpful when troubleshooting scan issues.When
true, Warden writes logs to a file inside the logs/ directory in
addition to console output.When
true, Warden prints log output to stdout/stderr. Set to false to
suppress terminal output in CI environments where only structured JSON output is
wanted.exclude
Suppresses specific packages, vulnerability IDs, or whole severity levels from scan results. Exclusions apply before policy evaluation and fix selection, so excluded items never trigger pipeline failures or auto-fixes.
Package names to exclude from all scan results, e.g.
["lodash", "moment"].Specific vulnerability IDs to suppress, e.g.
["SNYK-JS-LODASH-567746", "GHSA-29mw-wpgm-hmr9"].Severity levels to ignore entirely, e.g.
["low", "medium"]. Use this to
focus Warden on actionable findings only.Complete Example
The following is the full example fromexamples/.wardenrc.example.json: