Configuration

Zero config required.

Vreko observes your workspace and applies sensible defaults out of the box. The daemon reads the same config for the CLI, VS Code, and MCP - so a .vrekorc change applies everywhere. Configure only when you need to override a default.

Quick Reference

Protection Levels

Every tracked file has a protection level that controls what happens when it changes.

LevelBehaviorBest for
🟢 WatchObserve silently and record a restore pointSource code, docs
🟡 WarnRecord, and surface the change as elevated riskConfig files, dependencies
🔴 BlockRefuse the writeSecrets, .env*, credentials

Automatic by default. With autoProtectConfigs on, Vreko assigns warn to config files and leaves everything else at the defaultLevel (watch). You only need explicit patterns when you want to override that.

.vrekorc

Create .vrekorc (JSON) at your project root. The daemon merges it over the defaults below - every field is optional.

{
  "protection": {
    "enabled": true,
    "defaultLevel": "watch",
    "autoProtectConfigs": true,
    "patterns": [
      { "glob": "src/auth/**/*", "level": "block" },
      { "glob": "package.json", "level": "warn" }
    ]
  },
  "sync": {
    "enabled": false,
    "interval": 30000,
    "maxRetries": 3
  },
  "learning": {
    "maxAgeDays": 90,
    "minUsageCount": 3,
    "archiveDir": ".vreko/archive"
  }
}
KeyDefaultDescription
protection.enabledtrueMaster switch for protection levels
protection.defaultLevel"watch"Level for files without a matching pattern: watch / warn / block
protection.autoProtectConfigstrueAuto-assign warn to config files
protection.patterns[]Per-glob overrides: { "glob": "...", "level": "..." }
sync.enabledfalseSync learnings to the dashboard (Pro; opt-in)
sync.interval30000Sync interval in milliseconds
sync.maxRetries3Retries before a sync attempt is dropped
learning.maxAgeDays90Age after which an unused learning is archived
learning.minUsageCount3Times a pattern must recur before it’s retained
learning.archiveDir".vreko/archive"Where archived learnings are written

AI-tool detection (Cursor, Copilot, Claude Code, Windsurf) is automatic and has no .vrekorc keys - there is nothing to configure.

.vrekoignore

Exclude paths from observation entirely (same syntax as .gitignore). One glob per line; # lines are comments.

# Dependencies
node_modules/
.pnpm-store/

# Build outputs
dist/
.next/
build/

# Logs and large files
*.log
*.mp4
*.zip

MCP Integration

MCP setup is not a .vrekorc concern. The VS Code extension wires it automatically; for standalone clients (Claude Code, Cursor), see the dedicated guide.

Environment Variables

VariableDescription
VREKO_API_KEYAPI key for authenticated (Pro) features
VREKO_STORAGE_PATHOverride the local storage location (default .vreko/)
VREKO_LOG_LEVELdebug / info / warn / error
VREKO_API_URLOverride the API endpoint

VS Code Settings

Access via ⌘+, → search “vreko”.

SettingDefaultDescription
vreko.mcp.enabledtrueEnable MCP integration
vreko.mcp.serverUrlhttps://mcp.vreko.devMCP server endpoint
vreko.logLevel"info"Extension log verbosity
vreko.showAutoSnapshotNotificationstrueNotify when a restore point is recorded
vreko.ui.statusBarEnabledtrueShow the Vreko status bar item
vreko.offlineMode.enabledfalseRun fully offline (no network calls)

Advanced

Next Steps