Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Personalize AI coding assistants by analyzing local conversation history. Runs on your machine.

README.md

vardoger

A cross-platform plugin for AI coding assistants (Cursor, Claude Code, OpenAI Codex, OpenClaw, GitHub Copilot CLI, Windsurf, Cline) that reads your conversation history, extracts behavioral patterns, and generates personalized system prompt additions — making the assistant progressively better suited to how you work.

All processing happens locally. No data ever leaves your machine.

Prerequisites

Python 3.11+

| Platform | Command | |---|---| | macOS | brew install python@3.13 (install Homebrew) or python.org/downloads/macos | | Debian / Ubuntu | sudo apt install python3 | | Fedora | sudo dnf install python3 | | Windows | winget install Python.Python.3.13 or python.org/downloads/windows |

pipx

Recommended for installing vardoger as an isolated CLI tool. Full instructions at pipx.pypa.io/stable/installation.

| Platform | Command | |---|---| | macOS | brew install pipx && pipx ensurepath | | Debian / Ubuntu | sudo apt install pipx && pipx ensurepath | | Fedora | sudo dnf install pipx && pipx ensurepath | | Windows | scoop install pipx or pip install --user pipx && pipx ensurepath |

Quick Start

pipx install vardoger
vardoger setup cursor        # or claude-code, codex, openclaw, copilot, windsurf, cline

Then tell your assistant: "Personalize my assistant."

Looking for the in-app plugin listings? Track review status for each marketplace (PyPI, Cursor, Claude Code, Codex, Copilot CLI, Windsurf, Cline, ClawHub) in MARKETPLACE_STATUS.md. Vardoger is currently live on PyPI, the Cursor Marketplace, the Claude Code community catalog, self-hosted Codex and Copilot marketplaces, ClawHub, McpMux, and the Official MCP Registry.

Previous pre-releases. pipx install vardoger now resolves to the stable 0.3.2 release. The beta install paths below stay here for anyone still pinning an earlier release; new installs should not need them. ``bash # opt into future pre-releases (0.2.0bN, etc.): pipx install --pip-args="--pre" vardoger # or pin an older pre-release: pipx install vardoger==0.1.0b3 # or run without installing: uvx vardoger --help ``

CLI Commands

| Command | Purpose | |---|---| | vardoger setup <platform> | Register vardoger with a platform (cursor, claude-code, codex, openclaw, copilot, windsurf, cline). | | vardoger status [--platform X] [--json] | Report whether each personalization is fresh or stale. | | vardoger prepare --platform X [--batch N] [--synthesize] | Produce the batched prompts used by the AI-driven skill pipeline. | | vardoger write --platform X | Read synthesized personalization from stdin and write it to the platform's rules file (supports YAML-frontmatter confidence metadata). | | vardoger feedback accept\|reject --platform X [--reason TEXT] | Record whether you kept or rejected the last generation. reject auto-reverts to the prior generation. | | vardoger compare --platform X \| --all [--window DAYS] [--json] | Compare heuristic conversation-quality metrics before vs. after the latest personalization. |

How It Works

  1. Read — Parses conversation history already stored on disk by each platform
  2. Analyze — The host AI model identifies patterns in your communication style, tech stack, workflow, and preferences
  3. Generate — Produces a system prompt addition tailored to you
  4. Deliver — Writes the addition to the platform's native config (.cursor/rules/, .claude/rules/, AGENTS.md, etc.)

First run vs. incremental runs. By default vardoger does not apply a time window — the first run reads your full local history (that is when the signal is richest and a windowed default would silently drop older sessions you never get a second chance to feed in). After that, a per-conversation checkpoint store at ~/.vardoger/state.json ensures every subsequent run only reprocesses new or changed conversations, so refreshes stay fast. If you have very large local history and want to cap the first-run cost, pass --since DAYS (e.g. vardoger prepare --platform cursor --since 90); use --full to force a full re-crawl that bypasses the checkpoint.

Supported Platforms

| Platform | History Source | Prompt Delivery | Integration | |---|---|---|---| | Cursor | Agent transcript JSONL | .cursor/rules/vardoger.md | Marketplace plugin + MCP | | Claude Code | Session JSONL | .claude/rules/vardoger.md | Community/custom plugin | | OpenAI Codex | Session rollout JSONL | ~/.codex/AGENTS.md | Repository marketplace plugin | | OpenClaw | Session JSONL | ~/.openclaw/skills/vardoger-personalization/SKILL.md | Skill + ClawHub | | GitHub Copilot CLI | ~/.copilot/session-state/.jsonl | ~/.copilot/copilot-instructions.md (global) or <project>/.github/copilot-instructions.md (project) — managed inside a <!-- vardoger:start --> fenced section | Custom plugin + published skill | | Windsurf | ~/.codeium/windsurf//.jsonl | ~/.codeium/windsurf/memories/global_rules.md (global, fenced section) or <project>/.windsurf/rules/vardoger.md (project, dedicated file) | Native skill + CLI + MCP | | Cline | VS Code globalStorage/.../tasks/*/api_conversation_history.json | <project>/.clinerules/vardoger.md if .clinerules is a directory, otherwise a fenced section in <project>/.clinerules (project-only) | CLI + MCP |

Development

Requires uv (Python package manager):

git clone https://github.com/dstrupl/vardoger.git
cd vardoger
uv sync
.venv/bin/vardoger --help

Project Layout

src/vardoger/          # shared core — history reading, analysis, prompt generation
.agents/plugins/       # repository-level Codex marketplace catalog
plugins/_shared/       # shared analysis/personalization skill authored once
plugins/cursor/        # Cursor MCP server config, install script
plugins/claude-code/   # Claude Code plugin manifest, skills
plugins/codex/         # Codex plugin manifest, skills
plugins/openclaw/      # OpenClaw skill
plugins/copilot/       # GitHub Copilot CLI plugin manifest, skills
plugins/windsurf/      # Windsurf install snippet and rules delivery
plugins/cline/         # Cline MCP-marketplace manifest + llms-install guide
tests/                 # all tests, mirroring src/ structure
  • Platform-agnostic logic lives under src/vardoger/.
  • Platform-specific integration (manifests, skills, install scripts) lives under plugins/<platform>/.
  • Tests live in tests/, mirroring the source tree.

See AGENTS.md for full coding standards and quality checks.

Quality gates

CI enforces a combined quality bar on every push and pull request:

  • ruff check / ruff format --check — lint (incl. complexity, pylint, return, pathlib, tryceratops rules) and formatting.
  • mypy src/ — strict type checking.
  • pytest --cov=vardoger --cov-fail-under=80 — tests across Python 3.11–3.13 with a combined 80% coverage floor.
  • A parallel security job runs bandit -r src/ and pip-audit --skip-editable to catch common code smells and dependency CVEs.

Run the full bundle locally before pushing:

uv run ruff check . && uv run ruff format --check . && uv run mypy src/ && uv run pytest --cov=vardoger --cov-fail-under=80

Contributing

Contributions are welcome. Short version:

  1. Fork dstrupl/vardoger on GitHub and clone your fork.
  2. uv sync and create a topic branch.
  3. Make your changes with tests and run the quality-gate one-liner above.
  4. Push to your fork and open a PR against main.

CI (test on Python 3.11/3.12/3.13 plus a security job) will run automatically on the PR. First-time contributors may need a maintainer to click Approve and run before the first workflow execution.

See CONTRIBUTING.md for the full walkthrough and AGENTS.md for coding standards and commit-message conventions.

Releasing to PyPI

CI runs automatically on every push and PR (lint, type check, tests across Python 3.11–3.13). To publish a new version:

  1. Bump the package, generated setup manifests, platform manifests, and registry

metadata together; close the matching section in CHANGELOG.md.

  1. Run the complete quality, security, plugin-validation, and build checks.
  2. Commit and push to main, then wait for all required checks.
  3. Create an annotated vX.Y.Z tag and publish the matching

GitHub release.

The publish.yml workflow builds the package and uploads it to PyPI via trusted publishers (no API tokens needed). Once complete, pipx install vardoger will pull the new version.

Status

Public beta. Version 0.3.2 is published on PyPI and actively maintained. See MARKETPLACE_STATUS.md for live listings and the remaining official-directory submissions. See MANUAL_SUBMISSION_RUNBOOK.md for the owner-only submission, review, and publication steps. See PRD.md for the full product requirements document.

Privacy and security

  • PRIVACY.md — what vardoger reads, writes, and (importantly) does not send anywhere.
  • SECURITY.md — how to report a vulnerability privately.

License

Licensed under the Apache License, Version 2.0. See also the public Privacy Policy and Terms of Use.

<!-- mcp-name: io.github.dstrupl/vardoger -->

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.