Add evolver plugin: self-evolving agent memory#110
Conversation
Adds the evolver plugin (MIT) to the marketplace: session hooks that recall what worked on past tasks, detect improvement signals while editing, and record outcomes at session end, scoped per workspace. Degrades gracefully without any extra install; the optional @evomap/evolver npm package unlocks the full review-and-solidify pipeline. - evolver/: plugin dir (.cursor-plugin/plugin.json, hooks, skills, command, rule) - .cursor-plugin/marketplace.json: register evolver Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 5 potential issues.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit 83d881c. Configure here.
- session-end: watchdog timeout now runs proceed() instead of emitting {}
bare, so a session outcome is no longer silently dropped when stdin stays
open past the timeout (was a real data-loss path).
- session-start: gate main() on stdin end/2s-watchdog with an emit-once guard,
consistent with the other hooks; no behavior change but no pipe race.
- session-start: belongsToWorkspace no longer blanket-includes foreign
workspace_id-tagged entries when our own id can't be resolved — falls back to
cwd matching, so a shared user-level graph can't leak another project's recall.
- _paths: findMemoryGraph(projectDir) now resolves a project-local
<projectDir>/memory/evolution/memory_graph.jsonl when it exists (matching the
docs), before the user-level fallback; both hooks pass their projectDir.
- README/SKILL: corrected the claim that hooks auto-detect/invoke the installed
engine — they don't; @evomap/evolver gives you the CLI (evolver run/review)
to run the pipeline separately, fed by the memory the hooks record. Also fixed
stale hook filenames in the README table and the bundling description.
Verified: node --check all hooks; watchdog path now records; project-local
path resolution + user-level fallback; official validate-plugins.mjs passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- session-end watchdog now records on timeout (was dropping the outcome) - session-start gates on stdin drain; workspace recall no longer leaks foreign workspaces when our id can't be resolved (cwd fallback) - findMemoryGraph resolves project-local graph before user-level - README/SKILL: hooks don't auto-invoke the engine; corrected claims + stale filenames Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Hi @poteto — thanks for maintaining this marketplace. This PR adds the evolver plugin (self-evolving agent memory via session hooks; MIT, clean-room hooks). It is green on Cursor Bugbot and passes Could you point me to the review process / rough timeline for third-party plugin submissions, and let me know if there is anything you’d like changed? Happy to iterate on anything. |
|
Update: I realized the official path for third-party plugins is the marketplace submission form at cursor.com/marketplace/publish (reviewed by the Cursor team), not a PR to this repo. Closing this in favor of submitting evolver through that flow. Thanks @poteto, and apologies for the noise! For reference, the plugin lives at https://github.com/EvoMap/evolver-cursor-plugin (MIT, Bugbot-green, passes validate-plugins.mjs). |

What
Adds evolver — a self-evolving agent-memory plugin — to the marketplace.
Evolver gives the agent a persistent, auditable evolution memory via session hooks:
Plus a
capability-evolverskill, an/evolvecommand, and a recall-and-record rule. In a non-git folder it surfaces a one-line notice that memory is inactive instead of failing silently.It works with zero extra setup (local memory). Installing the optional
@evomap/evolvernpm package unlocks the full review-and-solidify pipeline; the hooks degrade gracefully when it's absent.Structure
evolver/— plugin dir:.cursor-plugin/plugin.json,hooks/(+hooks.json),skills/,commands/,rules/,README.md,LICENSE..cursor-plugin/marketplace.json— registersevolver.License
MIT. The hook scripts are an original clean-room implementation (Node built-ins only, no external deps) written from the hook behavior spec — not derived from the GPL-licensed
@evomap/evolverengine. Source repo: https://github.com/EvoMap/evolver-cursor-pluginValidation
node scripts/validate-plugins.mjs→ All plugins validated successfully. All hook scripts passnode --check; each reads stdin / writes JSON / exits 0 and never throws.Note
Medium Risk
Hooks run automatically on every session and file edit, write persistent data under the user home directory, spawn git/curl subprocesses, and may POST outcomes when Hub env vars are set.
Overview
Adds the evolver Cursor plugin to the repo and registers it in
.cursor-plugin/marketplace.json, so users can install persistent “evolution memory” for the agent.The new
evolver/package wires three Node hooks (sessionStart,afterFileEdit,stop) that recall recent successful outcomes into session context, flag improvement signals in edited content, and on task end classify the git diff into signals/status/score and append a JSONL entry under~/.evolver/...(or an existing project graph). Optional EvoMap Hub recording uses env credentials andcurl. Supporting pieces include workspace-scoped recall filtering, a hardenedworkspace-idfile under.evolver/, plus a skill,/evolvecommand, and rule documenting recall → work → record. Hooks are designed to always exit 0 with JSON and degrade when git or Hub is unavailable.Reviewed by Cursor Bugbot for commit abae3d4. Bugbot is set up for automated code reviews on this repo. Configure here.