hAIve — VS Code Extension
Surface team memories, gotchas, and architectural decisions inline while you code.
Never let your AI agent forget what your team knows.
Getting started
- Install the extension (from the Marketplace, or a local
.vsix — see Installation).
- Initialize hAIve in your repo — open the Command Palette and run
hAIve: Initialize in This Workspace (or haive init in a terminal). This creates .ai/memories/.
- Open any file — anchored team knowledge appears inline (CodeLens at the top of the file), in the hAIve sidebar (Activity Bar), and in the status bar. Press
Ctrl/Cmd+Shift+B to get a briefing for the current file, or Ctrl/Cmd+Shift+H to search memories.
The extension reads .ai/memories/** directly, so it works even without the haive CLI on your PATH. Cockpit/eval/sensor/doctor features call the CLI — set haive.cliPath if haive isn't on PATH.
Features
Strategic Cockpit
The Strategic Cockpit turns hAIve's CLI observability into a one-shot VS Code view:
- doctor scores: protection, context quality, corpus quality, harness coverage
- eval quality: score, recall, precision, MRR, sensor catch-rate, baseline delta
- corpus health: active/retired memories, stale, pending, anchorless, prune candidates
- memory impact: high/medium/low tiers and top records by demonstrated utility
- sensors: warn/block/autogen/fired counts and sensor records
- tool usage: top hAIve tool calls from the usage log
- strategic risks: noisy retrieval, unfired sensors, stale/pending/prune work
Use hAIve: Refresh Observability to rebuild the cockpit from the official CLI JSON commands
(doctor, dashboard, eval, stats, memory impact, sensors list, memory lint).
Discipline Inbox
The Discipline Inbox is the human review queue for keeping context healthy:
- proposed/draft/stale/lint findings that need review
- prune candidates and deprecated records
- high-read memories that have never been marked applied
- autogenerated or warn-only sensors that need human promotion/rejection
- eval misses when retrieval or sensors regress
Right-click items to open the memory, mark it Applied or Rejected, run a suggested fix,
approve/reject memories, or promote a vetted sensor to block.
Harness Health
The Harness Health view surfaces haive doctor scores — protection, context quality, corpus
quality, and harness coverage — so you can see at a glance whether the agent harness is healthy
before handing work to an agent. Use hAIve: Run Health Check to (re)compute the scores, and
hAIve: Sync Memories to pull the latest shared corpus.
🧠 Inline CodeLens
Files with anchored memories show a count at the top:
🧠 hAIve: 3 memories — ⚠️ 1 gotcha · 🏗 1 architecture · 📐 1 convention
⚠️ pg Pool — must set max:5 in production
🏗 DB — always call migrate() at startup
📐 UUID as PK — never use sequential integers
Click any lens to jump to the memory file.
Browse memories from the dedicated hAIve icon in the Activity Bar (left strip). Memories are grouped by type; when you edit a file, the tree prioritizes anchors tied to that path.
Older builds placed the panel under Explorer — the activity bar placement keeps institutional knowledge one click away.
Example tree:
⚠️ Action Required (2)
└─ Breaking change: DELETE /users/:id removed
└─ express ^4 → ^5 major bump
📄 This File (db.ts) (2)
└─ DB migrations on startup
└─ UUID primary keys
🏗 Architecture (2)
📐 Conventions (3)
🎯 Decisions (1)
⚠️ Gotchas (4)
🔴 Status Bar
Bottom status bar shows total memories and flags action_required:
⚠️ hAIve: 9 memories · 2 action required
⚡ Auto-reload
The extension watches .ai/memories/** and refreshes automatically when you run haive memory save, haive sync, or edit memory files directly.
Human context routines
The extension is designed to reinforce a small daily discipline:
- Run Refresh Observability at the start of a work block.
- Clear the Discipline Inbox before handing work to an agent.
- Use Get Briefing for This File before editing policy-heavy files.
- Mark surfaced memories Applied when they changed your decision.
- Mark noisy/outdated memories Rejected so impact scoring can demote them.
- Promote only vetted sensors to
block; leave uncertain sensors as warn.
Requirements
haive init must have been run in the workspace (creates .ai/memories/)
- Node.js ≥ 20 (for the
haive CLI, optional — extension reads files directly)
Installation
From VSIX (local build)
cd packages/vscode
pnpm install
pnpm build
npx vsce package
code --install-extension haive-vscode-*.vsix
From Marketplace
Search hAIve in the Extensions view, or run:
ext install hAIve.haive-vscode
Then initialize hAIve in your repo (see Getting started).
Settings
| Setting |
Default |
Description |
haive.showCodeLens |
true |
Show inline context-record count (CodeLens) at the top of files with anchored records |
haive.showStatusBar |
true |
Show the hAIve memory count in the status bar |
haive.memoriesDir |
.ai/memories |
Path to the context-records directory, relative to the workspace root |
haive.highlightActionRequired |
true |
Warning decoration on files with action_required records |
haive.cliPath |
haive |
Path to the haive CLI binary. Use an absolute path if haive is not on PATH (e.g. /usr/local/bin/haive) |
haive.briefingBudget |
default |
Token budget for the briefing: default, deep (more thorough, more tokens), or minimal |
Keybindings
| Shortcut (Win/Linux) |
Shortcut (macOS) |
Command |
Ctrl+Shift+H |
Cmd+Shift+H |
hAIve: Search Memories… |
Ctrl+Shift+B |
Cmd+Shift+B |
hAIve: Get Briefing for This File (when the editor is focused) |
Commands
All commands are available from the Command Palette (Ctrl/Cmd+Shift+P).
Browse & search
| Command |
Description |
hAIve: Refresh Memories |
Reload memories from disk |
hAIve: Show All Memories |
Show every memory in the sidebar |
hAIve: Show Memories for This File |
Filter the sidebar to the current file |
hAIve: Search Memories… |
Fuzzy-search the corpus (Ctrl/Cmd+Shift+H) |
hAIve: Get Briefing for This File |
Ranked, file-scoped briefing for the active file (Ctrl/Cmd+Shift+B) |
hAIve: Copy Memory Content |
Copy a memory's body to the clipboard |
Author & curate
| Command |
Description |
hAIve: Add Memory… |
Quick-add a memory via guided input |
hAIve: Record Failed Attempt… |
Capture a dead end (mem tried) so agents don't repeat it |
hAIve: Add Starter Memories (Stack Pack)… |
Seed a stack pack of starter memories (auto-detected stacks first) |
hAIve: Anchor Memory to File… |
Anchor a memory/seed to the active or a chosen file — turns a background seed into high-signal context |
hAIve: Promote Memory to Team |
Promote a personal memory to the shared team scope |
hAIve: Mark Memory Applied |
Record that a memory demonstrably steered work |
hAIve: Mark Memory Rejected |
Record that a memory was noisy, wrong, or unhelpful |
hAIve: Sync Memories |
Sync the corpus (regenerate bridges / shared state) |
Observability & quality
| Command |
Description |
hAIve: Run Health Check |
Run haive doctor and refresh the Harness Health view |
hAIve: Refresh Observability |
Rebuild Strategic Cockpit + Discipline Inbox from CLI stats |
hAIve: Run Eval |
Run retrieval + sensor quality eval |
hAIve: Save Eval Baseline |
Save the current eval report as the regression baseline |
hAIve: Compare Eval to Baseline |
Compare current eval to the saved baseline |
hAIve: Run Sensors Check |
Run executable memory sensors against the staged diff |
hAIve: Run Memory Lint |
Review corpus quality and suggested fixes |
hAIve: Run Suggested Fix |
Apply a fix suggested by a Discipline Inbox item |
hAIve: Promote Sensor to Block |
Promote a vetted sensor from warn to block |
Setup
| Command |
Description |
hAIve: Initialize in This Workspace |
Run haive init in the terminal |
hAIve: Show Output |
Open the hAIve output channel (logs/diagnostics) |
🌱 Curating seeds: stack-pack seeds are generic starter knowledge kept at background priority. The sidebar groups unanchored seeds under Seeds — needs curation; anchor one to a real file (or replace it with a repo-specific note) to make it high-signal for agents.