DEV Community

Ramu Narasinga
Ramu Narasinga

Posted on

warden.toml in Openwork codebase.

In this article, we review warden.toml in Openwork codebase. You will learn:

  1. What is Warden?

  2. Warden.toml file

What is Warden?

Warden watches over your code by running skills against your changes. Skills are Markdown prompts that define what to look for: security vulnerabilities, correctness bugs, API contract issues, performance problems, or anything else that needs consistent review coverage.

The important split:

  1. warden.toml- Which skills run, which files they see, and how findings are reported.

  2. GitHub workflow - When GitHub starts Warden and which credentials/action inputs are available.

  3. Skill files - The review expertise Warden applies to changed code.

Every analysis run follows the same loop:

  1. Identify what changed: files, hunks, directories, or an explicit git range.

  2. Match changes against configured triggers.

  3. Run the matching skills against the matching code.

  4. Report findings with severity, location, and optional fixes.

Skills follow the agentskills.io specification. Warden includes security-review for baseline AppSec coverage and code-review for correctness bugs. Treat them as first passes, then add more skills when your codebase needs deeper coverage.

Learn more about Warden

Warden.toml file

We just found in the docs what this warden.toml file is about. It defines

  • Which skills to run?

  • Which files they see?

  • How findings are reported?

Openwork's warden.toml file

Below is the code i picked from openwork/warden.toml file

version = 1

# Warden gates clearance on blocking findings from two skills:
# diff-security-review (all findings block) and desktop-den-sync-review (only
# high findings block; medium findings are advisory). The clearance itself is
# granted by .github/workflows/warden-clearance.yml.

[defaults]
reportOn = "low"
ignorePaths = [
  "**/node_modules/**",
  "**/pnpm-lock.yaml",
  "**/dist/**",
  "**/*.min.js",
]

[defaults.agent]
model = "openai/gpt-5.6-luna"

# Auxiliary verifies/merges findings and gates what survives to the report;
# keep it on the same strong model so weak verification can't cause a false
# clearance.
[defaults.auxiliary]
model = "openai/gpt-5.6-luna"

[[skills]]
name = "diff-security-review"

[[skills.triggers]]
type = "pull_request"
actions = ["opened", "synchronize", "reopened"]
draft = false

# Lets developers run `warden` locally on uncommitted changes before pushing.
[[skills.triggers]]
type = "local"

[[skills]]
name = "desktop-den-sync-review"
paths = [
  "apps/app/**",
  "apps/desktop/**",
  "ee/apps/den-api/**",
  "packages/types/**",
]

[[skills.triggers]]
type = "pull_request"
actions = ["opened", "synchronize", "reopened"]
draft = false

[[skills.triggers]]
type = "local"
Enter fullscreen mode Exit fullscreen mode

Warden can be run in Github Actions context and you can find how Openwork defined their warden configuration at openwork/.github/warden.yaml

About me:

Hey, my name is Ramu Narasinga. Email: ramu.narasinga@gmail.com

I spent 3+ years studying OSS codebases and wrote 400+ articles on what makes the production-grade. Now I'm putting that into practice differently - instead of writing every fix myself, I run coding agents that do it.

How it works? Register your machine as a Runtime, point it at your repo. Agents pick up issues. write the fix, open the PR. You just review, they execute.

Build your coding agents and get more work done in less time at thinkthroo.com

References:

  1. github.com/different-ai/openwork/blob/dev/warden.toml.

  2. github.com/getsentry/warden.

  3. warden.sentry.dev/

  4. github.com/different-ai/openwork/blob/dev/.github/workflows/warden.yml

Top comments (0)