Install
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
go install github.com/vshulcz/deja-vu/cmd/deja@v0.17.1
brew install vshulcz/tap/deja-vu
Changelog
Features
- feat(bench): measure the first minute after installing onto existing history (#1215)
- feat(cline): bundle the skill in the plugin, the only channel cline has for one (#1203)
- feat(copilot): turn tool calls and results into work records (#1231)
- feat(cursor): give Cursor a skill, the one harness deja wrote nothing for (#1196)
- feat(gemini): move guidance from GEMINI.md to a user skill (#1198)
- feat(goose): a /deja command, and two harnesses that already had one (#1208)
- feat(grok): give Grok Build the shared skill without taking away GROK.md (#1213)
- feat(grok): wire auto-recall through the hooks grok actually reads (#1210)
- feat(hermes): give Hermes a top-level skill, not one buried in its plugin (#1204)
- feat(install): give opencode, Cursor, Roo and Gemini a /deja command (#1207)
- feat(install): write one shared skill instead of one per harness (#1205)
- feat(kimi): turn tool calls and results into work records (#655) (#1221)
- feat(mcp): move the agent manual into the skill that loads on demand (#1186)
- feat(opencode): move guidance from an always-on block to a skill (#1197)
- feat(qwen,kimi): move guidance to skills, and correct a source that named the wrong tool (#1200)
- feat(registry): say why a capability is missing, not just that it is (#1193)
- feat(registry): track skills and commands in the capability matrix (#1189)
- feat(roo): move guidance out of the always-on rules file into a skill (#1201)
Fixes
- fix(index): re-indexing one transcript no longer erases another sharing its id (#699)
- fix(install): recall against the prompt in four more harnesses, and stop the wiring breaking itself (#1227)
- fix(packaging): pin windows manifests to 0.17.0 (#1169)
- fix(plugin): ship the skill in the Claude bundle the docs already promised (#1190)
- fix(recall): tell the user once per session, and quote the line that matched (#1228)
- fix(redact): a filesystem path is not a secret whatever its case (#1233)
- fix(search): hang the relevance ranking under a thin AND (#1226)
- fix(search): one date form per list, so the column reads vertically (#1232)
- fix(sync): index imported records the way ingestion does (#1223)
- fix(view): name the redaction floor when the page holds a masked secret (#857)
- fix: OS-independent exclude match; defer two unix-fixture tests on windows
Performance
- perf(index): cut the CJK bigram build overhead without changing the index (#1220)
Documentation
- docs(registry): close six more gaps, and record aider's as a limit not a backlog (#1195)
- docs(registry): four more harnesses reach /deja through the skill they already have (#1211)
- docs(registry): resolve nine harnesses from unknown to buildable work (#1194)
- docs(site): bare deja prints the brief on a terminal, not usage (#1105)
- docs: bring README, site and roadmap up to v0.17.0
- docs: bring the harness claims back in line with what ships (#1235)
- docs: changelog for 0.17.1 (#1234)
- docs: let the hero make one claim, and say the same thing everywhere (#1184)
- docs: name pages for what people search, and correct the compare table (#1178)
Other
- ci: let govulncheck use the newest Go patch (#1222)
- ci: stop instrumenting coverage on the platforms that never read it (#1209)
- docs+plugin: wire point-of-action, document hooks & ranking; fix latency
- test(kimi): pin record-less results and tear tool lines (#1224)
- test(plugin): derive the hooked events from the installer instead of restating them (#1230)
- test(sweep): a rig that drives every installed harness against a recording endpoint (#1225)