Dr Urls Sync (VS Code)
Pulls your Dr Urls audits, page captures, screenshots and AI feedback into the
workspace as AI-ready markdown + a task list — so the moment someone runs a
scan, files a capture, or gets an AI review of a page, the developer has it all in
the editor, ready to hand to an AI coding agent.
What it writes
Into a .drurls/ folder at the workspace root:
.drurls/
TASKS.md ⭐ master checklist for an AI agent — grouped by severity,
each item links a task file and (when it exists) an image.
tasks/ one file per PROBLEM, not per page: severity, every affected
URL, why it matters, how to fix, an example, the screenshot.
"Missing meta description" on 200 pages is ONE file — a
template fix, listed once, with the pages under it.
Written for an AI to read.
captures/ one file per browser-extension capture: page data + console
output + your comments + every AI review / how-to notice.
Fix/verify status and a link to the live page live here too.
flows/ AI-generated or recorded step-by-step test flows.
audit/ the latest scan(s) with every issue grouped by page.
images/ the screenshots (referenced from the markdown above).
.token a local, gitignored copy of your API key — used only by the
curl command in a quick-fix task file to close the loop.
README.md an index of the above.
Everything a developer needs is co-located: the screenshot, the console
errors, the page diagnostics, and the AI findings — as concrete tasks.
Setup
- Install the extension (see Install below).
- Command Palette → “Dr Urls: Connect (sign in)”. Your browser opens the
Dr Urls connect page; sign in if needed and click Approve. Dr Urls mints
an API key and hands it straight back to the editor over a
vscode://
callback — nothing to copy. The key lives in VS Code's secret storage.
(No browser handshake? Use “Dr Urls: Set API key” and paste a key from
Dashboard → API Keys instead.)
- Optional: set
drurls.domain to scope the sync to one site, and
drurls.autoSyncMinutes to keep it fresh automatically.
- “Dr Urls: Sync reports & tasks” (or the Dr Urls sidebar / status-bar
button). Open
.drurls/TASKS.md and point your AI agent at it.
Revoke the connection any time with “Dr Urls: Disconnect”, or from
drurls.com → Dashboard → API Keys.
Codebase audit
“Dr Urls: Audit this codebase” runs 17 audits over the open workspace and
opens the findings in a tab. Everything runs locally — nothing is uploaded, and
only the dependency audit touches the network (it shells out to your package
manager for advisories).
| Group |
Audits |
| Security |
Static application security testing · secret and credential scanning · dependency vulnerabilities |
| Structure |
Cyclomatic complexity · code duplication · dead code · architectural coupling · import graph |
| Code quality |
Type safety and strict mode · error handling · code smells · naming conventions · semantic clarity · comment and documentation quality · linter compliance |
| Interface |
Accessibility · design system consistency |
Every finding carries a file, a line, the matching source, why it matters and
what to do about it — click the location to open it. Export writes a markdown
report to .drurls/audits/, which is the format a coding agent can act on.
Every audit also prints what it CANNOT see, next to its result. That is the
part worth knowing about. “Secrets — nothing found” reads as a clean bill of
health; the truth is “nothing found, and this cannot see .env files, values
built at runtime, or anything already deleted but still in history”. A zero
from a checker that never looked there is how a review gets closed on nothing,
so the report refuses to print one without the caveat.
The rules are drawn narrow on purpose. A checker that raises a wrong finding
gets switched off within a week, and then it protects nothing — so where a rule
could not be made precise, it was cut rather than shipped noisy.
Cloud diagnostics (gcloud)
If the gcloud CLI is installed and signed in, two buttons in the panel use
your own local gcloud auth (the extension never holds cloud credentials, and
only ever runs read commands):
- Cloud status — active account + project, billing account & whether billing
is enabled, all enabled services, and your Cloud Run services with URLs.
Written to
.drurls/cloud/status.md.
- Cloud error logs — the last 24h of
severity>=ERROR log entries for the
project, written to .drurls/cloud/logs.md, ready to hand to an AI agent.
Costs need the BigQuery billing export (server-side, see the roadmap); these
reports cover what gcloud can read directly.
Settings
| Setting |
Default |
Meaning |
drurls.baseUrl |
https://drurls.com |
Server base URL. |
drurls.domain |
(pick on connect) |
The ONE site this folder maps to (set via “Select site”). |
drurls.output |
.drurls |
Folder to write into. |
drurls.includeCaptures |
true |
Include extension captures. |
drurls.includeScans |
true |
Include audit scans + issues. |
drurls.maxImages |
100 |
Screenshots to download per sync. |
drurls.autoSyncMinutes |
0 |
Auto-sync interval (0 = off; still syncs on open). |
drurls.includeTasks |
true |
Generate TASKS.md + per-task files. |
drurls.minTaskSeverity |
info |
Severity floor for tasks. |
drurls.maxTasks |
300 |
Hard cap on tasks (worst first). |
drurls.updateAgentFiles |
false |
Keep the Dr Urls block in CLAUDE.md/AGENTS.md updated each sync. |
drurls.verifyInBrowser |
false |
After a round fixes a task, ask this browser to replay the task's test flow and prove it. Adds --verify-browser. Needs Chrome open with the Dr Urls side panel; if nobody answers the round says so and carries on. Also offered per-round in the "Start a round" menu. |
Install
This ships with the Dr Urls source. Two ways:
A. Try it instantly (no packaging) — open this folder in VS Code and press
F5. A second VS Code window (Extension Development Host) launches with the
extension loaded.
B. Package and install into your own VS Code:
cd vscode-extension
npm install -g @vscode/vsce
vsce package # → drurls-sync-<version>.vsix
code --install-extension drurls-sync-*.vsix
Then reload VS Code, run Dr Urls: Connect, and Dr Urls: Sync.
Near read-only: syncing only calls GET data routes; the single write is the
explicit “Run a scan” button (POST /scans). Editing the generated files never
changes anything in Dr Urls. The panel also offers gcloud/gh-powered actions
(cloud status & logs, GitHub issues), Sync options, and AI agent memory.
Tip for AI agents
Add a line to your agent's instructions: "Before working, read
.drurls/TASKS.md; each unchecked item is a task, and linked images show the
exact problem."