CLAD Audit (VS Code / Cursor)Repository: https://github.com/Underwood-Inc/clad-audit-vscode Thin editor extension that runs the full Self-containedThe packaged
The extension does not shell out to scripts. It only reads your project's source tree and optional In your repo: add To build the VSIX (maintainers only): Initialize config (smart presets)CLAD: Initialize Config analyzes the open workspace folder and drafts
You pick a preset (Recommended, Minimal, or stack-specific), preview the YAML, then confirm before anything is written. Security: files are created only inside workspace folders you select, only via Explorer: right-click folder → Initialize Config. Sidebar toolbar: Initialize Config icon. When audit runs with no config, the extension offers to initialize. Features
InstallExtension branding uses two assets under
To swap the Marketplace icon, replace From a clone of this repository:
Cursor:
Or: Extensions → ⋯ → Install from VSIX… → pick Reload the window. Open a workspace that contains Dev without installing: clone this repo, run Development
Press F5 in VS Code/Cursor with this folder open to launch an Extension Development Host. Auditor source: Settings
Findings sidebar (
|
| Setting | Default | Description |
|---|---|---|
groupBy |
severity |
severity · rule · tier · file · root |
sortBy |
count-desc |
count-desc · count-asc · alpha · severity |
nestedGroupBy |
rule |
Under root: none · rule · tier · severity · file |
defaultFilter |
"" |
Initial filter (session filter in toolbar overrides) |
showInfo |
true |
Include info-severity rows in the sidebar |
useProjectConfig |
true |
Merge editor.findings from .clad-audit.yaml |
Project YAML (editor.findings)
Optional block in .clad-audit.yaml — ignored by the CLI auditor, read by the extension when useProjectConfig is true:
editor:
findings:
groupBy: rule
sortBy: count-desc
filter: tier:apps
showInfo: true
When multiple audit roots exist in one workspace, per-project overrides apply only when a single root is active; otherwise workspace settings win.
Filter syntax
| Form | Example |
|---|---|
| Free text | import-boundary |
| Field | rule:import-boundary · tier:apps · file:views/ |
| Exclude | -severity:info |
| Regex | /import.*apps/i |
Terms are AND-ed. Command palette: CLAD: Filter Syntax Help. With Explore or Findings focused: Ctrl+Alt+L filter, Ctrl+Alt+G cycle group-by. Use the Configure panel for grouping, nested root buckets, and audit settings.
Notes
- Findings include line + column ranges when the rule can locate the violation (imports, impurity matches, Svelte props, file anchors).
- File-tier placement rules anchor to the first import,
<script>block, or first code line — not blindly line 1. - Import-boundary diagnostics highlight the specifier token, not the whole line.
- Full-repo scan runs per audit root; large repos may prefer longer debounce or
runOnSave: falsewith manual CLAD: Audit Workspace.
Changelog
0.5.7
- Findings Explorer — full-page tab (like Filter Syntax help): searchable tree, group/sort controls, click-to-reveal
- Open via Open full explorer… in Explore, the preview icon in Findings/Explore toolbars, or CLAD: Open Findings Explorer
0.5.6
- Fix settings lockup — gear opens a lightweight quick pick instead of the native Settings UI (which could freeze Cursor)
- Smarter re-audit — changing group/sort/filter no longer triggers a full workspace audit; only audit-engine settings do (debounced)
0.5.5
- Layout picker replaces cycle —
Ctrl+Alt+Gand the tree toolbar button open a quick pick (group, sort, nested, show info) - Configure panel removed — Explore has compact Group/Sort dropdowns; gear opens VS Code settings
- Simpler sidebar — two panels: Explore + Findings
0.5.4
- Fix Configure → Findings wiring — workspace settings now override
editor.findingsin project YAML (YAML was silently winning before) - Live apply — grouping/sort/filter controls update the Findings tree immediately
- Clearer chrome — tree subtitle shows sort mode; banner when YAML defaults are active
0.5.3
- Filter syntax help — structured editor tab with quick recipes, field reference, Copy/Try actions (replaces plain modal dialog)
0.5.2
- Configure panel — dedicated sidebar webview for findings tree layout (including nested root grouping), filters, audit engine, and saving
editor.findingsto.clad-audit.yaml - Explore simplified — live filter only; Configure grouping & audit… button opens the new panel
- Findings toolbar — gear opens Configure instead of raw VS Code settings JSON
0.5.1
- Toolbar fixes — re-run audit, filter, group, sort, and clear actions show status-bar feedback
- Filter shortcut —
Ctrl+Alt+L/Cmd+Alt+L(no longer steals Ctrl+Shift+F from Find in Files) - Filter button — focuses the Explore search box instead of a detached input
- Streamlined Findings header — primary actions first; init config moved to overflow menu
private: true+ npm auto-detect off for the extension folder (fixes spurious npm parse errors)
0.5.0
- Explore toolbar webview — live filter input, group/sort/nested controls, show-info toggle
- Findings grouping — severity, rule, tier, file, audit root (+ nested under root)
- Filter query language — field prefixes, exclusions, regex; workspace-persisted filter
editor.findingsin.clad-audit.yaml— project defaults (extension-only)- Settings under
cladAudit.findings.*; keybindings when Findings view focused - Mappy ships
editor.findings.groupBy: ruleas a starter preset
0.4.2
- Bundles
@underwoodinc/clad-audit0.5.2 — fixes config resolution when--rootand--configare not nested (e.g.pnpm clad:audit --root apps/mappy --config apps/mappy/.clad-audit.yamlno longer silently falls back to generic defaults)
0.4.1
- Marketplace / Extensions list icon (
media/clad-audit.png)
0.4.0
- Precise diagnostic ranges (
column,endLine,endColumn) from auditor 0.5.0 - Related locations for suggested move targets and cycle paths
- CLAD: Copy config exception YAML quick fix
- Expanded remediation markdown (reasoning, config snippets, suggested paths)