Web UI
The vybdocs web UI is a local interface for working with your spec interactively. Start it with:
vyb ui
It opens at http://localhost:7777 (or the next available port if 7777 is in use).
What the UI includes
Edit .vyb/spec.yaml with syntax highlighting, validation, and live preview of rule changesLive trace
Run vyb check and watch violations surface in real time, file by fileRule matrix
Visual grid of all rules × files — see at a glance which rules affect which parts of the codebaseChat panel
Ask questions about your spec, request rule suggestions, and run dry-runs via natural languageEvidence archive
Browse past Evidence Packs, verify chain integrity, and download PDFsFramework coverage
Visual map of which compliance controls are covered and which have gaps
Spec editor
The spec editor provides a side-by-side YAML editor with a live preview panel. As you type:
- Syntax errors are highlighted inline
- Regex patterns are tested against a sample set of code snippets
- Compliance mappings are validated against the known framework control list
- Severity changes that violate the ratchet are flagged immediately
Changes in the spec editor write directly to .vyb/spec.yaml on save (Ctrl/Cmd + S).
Live trace
The live trace panel runs vyb check against your current working directory and streams results:
Live trace — running against HEAD diff
sec-001 no-eval ✓ 0 violations (12 files, 847 lines)
sec-002 no-hardcoded ✓ 0 violations
fe-001 no-direct-dom ✗ 2 violations
→ src/components/Widget.tsx:34
→ src/legacy/Form.tsx:88
dat-001 no-pii-logging ✓ 0 violations
FAIL (0 block, 2 warn)
The trace updates automatically when you save a file.
Rule matrix
The rule matrix is a grid visualization:
- Rows: every active rule
- Columns: every file in the current diff
- Cell color: green (pass), amber (warn violation), red (block violation), grey (file excluded)
This gives an instant overview of which files have issues with which rules — useful when triaging a large codebase.
Chat panel
The chat panel connects to the vybdocs engine (not an external LLM — no API key required). Ask questions about your spec:
You: Which rules map to EU AI Act Article 9?
Engine: 3 rules map to Art.9 controls:
llm-003 / require-ai-audit-log → Art.9.2
sec-001 / no-eval → Art.9.5
llm-002 / no-raw-ai-dom-output → Art.9.5
You: What's the remediation for llm-003?
Engine: llm-003 (require-ai-audit-log)
Severity: block
Remediation: All AI completion calls must log the
result to the audit trail via auditLog.record() from
src/lib/audit.ts. The log entry must include: user ID,
timestamp, model name, prompt hash, and output hash.
You: Run a dry-run of just the security rules.
Engine: Running dry-run with category filter: security...
sec-001: 0 violations
sec-002: 1 violation → src/auth/tokens.ts:44
sec-003: 0 violations
1 total violation (warn severity).
Evidence archive
The evidence archive panel lists all Evidence Packs in .vyb/evidence/:
Evidence Pack Archive
2026-05-18T14-03-22Z.pdf PASS 31 rules chain: #43 ✓ valid
2026-05-18T10-22-41Z.pdf PASS 31 rules chain: #42 ✓ valid
2026-05-17T16-11-09Z.pdf PASS 30 rules chain: #41 ✓ valid
...
Click any row to:
- View the full PDF in-browser
- Download the PDF and/or JSON
- Verify the signature and chain
- See the diff SHA and git metadata
Running the UI on a specific port
vyb ui --port 4444
Running the UI without a browser opening
vyb ui --no-open
The UI is local-only
The web UI does not make network requests. It reads and writes only to .vyb/ in the current project. No data is sent to vybdocs servers. This is by design — your spec, rules, and Evidence Packs are sensitive compliance artifacts.
Next: CLI Reference