Visual Policy Editor
Build and modify your radar.yml policy visually with the 3-tab policy editor. Configure stack, rules, gates, and data volumes without writing YAML.
Visual Policy Editor
The Visual Policy Editor lets you build and modify your radar.yml configuration through a graphical interface. Instead of writing YAML manually, you select your stack, toggle rules, set thresholds, and declare data volumes through form controls --- with a live YAML preview showing exactly what will be generated.
Availability: The Visual Policy Editor is available starting in V1.1. Saving policies directly to your project requires the Pro plan.
The Three Tabs
The editor is organized into three tabs that map directly to the sections of radar.yml.
Tab 1: Stack
Configure your project's technology stack. These selections determine which analyzers run and how handler scope detection works.
Framework selection:
A single-select dropdown with options: NestJS, Express, Fastify, Koa, Hapi. Selecting a framework configures handler scope detection --- Radar knows what constitutes a "request handler" in each framework and only flags runtime risks inside those scopes.
ORM selection:
A multi-select dropdown (you may use more than one ORM) with options: Prisma, TypeORM, Sequelize, Mongoose, Drizzle, Knex, MikroORM. The selected ORMs determine which query patterns the performance analyzer looks for.
Language selection:
Toggle between TypeScript, JavaScript, or both. This controls whether the AST parser processes .ts/.tsx files, .js/.jsx files, or all of them.
Architecture preset:
A single-select dropdown with options: DDD, Hexagonal, Clean, Layered, MVC, Event-Driven, Feature-Module. Each preset defines layer rules, cross-module policies, and allowed import paths. A brief description appears below the dropdown explaining the selected preset's layer structure.
Tab 2: Rules and Gates
Configure which violations are enabled, their severity levels, and the merge gate thresholds.
Violation toggles:
A list of all detection rules organized by category. Each rule has:
- Toggle switch --- enable or disable the rule
- Severity dropdown --- Critical, Warning, or Info
- Description --- one-line explanation of what the rule detects
Categories are collapsible sections: Architecture (4 rules), Runtime Risk (11 patterns), Performance (9 patterns), Reliability (8 patterns), Maintainability (2 rules).
Gate thresholds:
- Debt delta threshold --- numeric input (default: 15). PRs with a debt delta score above this value are blocked.
- Block on categories --- checkboxes for each category. When checked, critical violations in that category block the merge regardless of the debt delta score.
- AI analysis --- toggle to include AI cross-file reasoning (Pro plan). When enabled, the top 10 suspect functions are sent to Claude for additional analysis.
Complexity thresholds:
- Max cyclomatic complexity --- numeric input (default: 20). Functions exceeding this are flagged.
- Max file lines --- numeric input (default: 500). Files exceeding this are flagged.
- Max function lines --- numeric input (default: 100). Functions exceeding this are flagged.
Tab 3: Data Volumes
Declare entity volumes so the performance analyzer can scale severity based on real data sizes.
Entity volume table:
A dynamic table where each row represents an entity:
| Field | Input Type | Description |
|---|---|---|
| Entity name | Text input | The ORM model/entity name (e.g., Order, Event, User) |
| Volume | Dropdown | S (<10K), M (10K--100K), L (100K--1M), XL (1M--10M), XXL (>10M) |
- Click Add Entity to add a new row
- Click the trash icon to remove an entity
- Volumes determine severity scaling: an unbounded query on an S table is suppressed, on an M table is a warning, on an XL table blocks the merge
Tip: If you are unsure of your table sizes, start with conservative estimates. You can always adjust later. The
radar initCLI command auto-detects volumes by querying your database.
YAML Preview Panel
The right side of the editor shows a live YAML preview that updates as you make changes. The preview shows the exact radar.yml content that corresponds to your current selections.
The YAML is syntax-highlighted with line numbers. Changes are highlighted briefly in yellow when they occur, so you can see the effect of each form interaction.
Validation indicators:
- A green checkmark appears at the top of the preview when the generated YAML is valid
- If a configuration combination is invalid (e.g., missing required fields), a red warning appears with a description of the issue
Actions
Download
Click Download to save the generated radar.yml file to your local machine. Place it in your repository root directory.
Save to Project (Pro Plan)
Click Save to Project to write the configuration directly to your project's settings on the Radar platform. The next analysis will use the updated policy.
Plan requirement: Direct save requires the Pro plan. On Starter and Solo plans, use the Download button and commit the file to your repository manually.
Reset
Click Reset to discard all changes and reload the current saved configuration.
How Changes Sync with radar.yml
The Visual Policy Editor generates a standard radar.yml file. There is no proprietary format --- the YAML it produces is identical to what you would write by hand.
Source of truth: The radar.yml file in your repository root is always the source of truth. If you edit the file in your repository and also make changes in the Visual Policy Editor, the repository file takes precedence on the next analysis.
Workflow options:
- Editor-first: Make changes in the Visual Policy Editor, download the YAML, commit it to your repository
- Code-first: Edit
radar.ymldirectly in your editor or IDE, and the dashboard reflects the changes on the next analysis - Pro workflow: Make changes in the Visual Policy Editor and click Save to Project. The dashboard uses the saved policy immediately, and you can optionally sync it back to your repository
Example: Configuring a NestJS + Prisma Project
- Stack tab: Select NestJS as framework, Prisma as ORM, TypeScript as language, Feature-Module as architecture preset
- Rules tab: Leave all rules enabled (defaults). Set debt delta threshold to 10 (stricter than default). Enable AI analysis.
- Volumes tab: Add entities:
User--- M (50K rows)Order--- L (500K rows)Event--- XL (3M rows)Product--- M (20K rows)
- Preview: Verify the generated YAML looks correct
- Download the file and commit as
radar.ymlin your repository root