Jolli Memory
Every commit deserves a Memory.
Jolli Memory automatically turns your AI coding sessions into structured development documentation attached to every commit, without any extra effort.
When you work with AI agents like Claude Code, Codex, or Gemini CLI, the reasoning behind every decision lives in the conversation: why this approach was chosen, what alternatives were considered, what problems came up along the way. The moment you commit, that context is gone. Jolli Memory captures it automatically.
What it does
After each commit, Jolli Memory reads your selected AI session transcripts and the code diff, calls the LLM to produce a structured summary, and stores it alongside the commit silently in the background. The VSCode extension surfaces everything in a sidebar so you can manage plans, stage files, write AI-assisted commit messages, review summaries, and share them, without leaving your editor.
| Panel |
What it shows |
| STATUS |
Whether Jolli Memory is enabled, active AI agent sessions (Claude, Codex, Gemini), and how many memories are stored. Toggle on/off with the (●) / (⊘) buttons. |
| PLANS |
Claude Code Plan files automatically detected from your session transcripts. Edit, translate, remove, or associate plans with commits. |
| Changes |
All changed files with checkboxes to stage or unstage. Supports an exclude filter for hiding irrelevant files. |
| Commits |
Every commit on the current branch not yet in main. Click (👁) to open the full AI summary. |
How it works
Jolli Memory runs entirely in the background using two types of hooks, you don't need to do anything special.
AI Agent Hooks: knowing which sessions are active
When you use an AI coding agent, Jolli Memory keeps track of your active sessions so it knows where to find conversation context at commit time. These hooks only record session metadata (like a session ID and file path), they never read your conversation content.
| Agent |
How sessions are tracked |
| Claude Code |
A lightweight StopHook fires after each AI response |
| Gemini CLI |
An AfterAgent hook fires after each agent completion |
| Codex CLI |
No hook needed — sessions are discovered automatically by scanning the filesystem |
Git Hooks — generating summaries on commit
When you run git commit, three standard git hooks handle the rest:
- Before the commit: detects if this is a squash or amend (so existing memories can be merged instead of regenerated)
- After the commit: spawns a background process that reads the AI conversation + code diff, calls the LLM, and writes the summary. Your commit returns instantly, the summary is generated in the background (~10-20 seconds)
- After rebase/amend: migrates existing summaries to match the new commit hashes, so nothing is lost
Everything is stored in a git orphan branch (jollimemory/summaries/v3), completely separate from your code history. Raw AI conversations are optionally preserved alongside the summaries and can be viewed, edited, or deleted from the extension.
Features
AI Commit (✦)
Click ✦ AI Commit in the Changes panel toolbar to generate a commit message from your staged changes. The LLM produces a focused one-line message; a picker lets you review and edit it before committing or amending.
Push (↑)
Click ↑ Push to push the branch. If the push is rejected, a Force Push option is offered with a confirmation step.
Squash (⊞)
Select two or more commits, then click ⊞ Squash. The LLM generates a commit message using the topics and decisions captured in each commit's memory. Two actions are offered: squash only, or squash and push together.
Existing memories for all squashed commits are automatically merged — no extra AI call needed for that step.
Summary Webview (👁)
Click 👁 on any commit to open a full memory panel. It shows:
- All Conversations (Private Zone): raw AI conversation transcripts stored locally on your machine. Browse by session tab, edit, delete, or restore entries. Your private data, nothing is uploaded unless you choose to.
- Properties: commit hash, branch, author, date, duration (working days), conversation count, and code change stats
- Plans: associated Claude Code Plan files with edit, translate (🌐), and remove actions
- E2E Test Guide: AI-generated test scenarios with preconditions, steps, and expected results. Click "Generate" to create them on demand.
- Source Commits (for squash/amend): all contributing commits with diff stats and conversation counts
- Summaries: each topic structured as:
- ⚡ Why This Change: the trigger from the AI conversation
- 💡 Decisions Behind the Code: key technical trade-offs and choices
- ✅ What Was Implemented: what was actually built
Action buttons:
- Copy Markdown: copies the full summary to clipboard
- Push to Jolli: publishes the summary (and associated Plans) to your Jolli Space
- Create & Update PR: manages a GitHub PR for this commit
Push to Jolli Space
Click Push to Jolli to publish the summary to your team's Jolli Space knowledge base. Plans are uploaded first (so their URLs appear in the summary article), then the summary itself is published. Requires a Jolli API Key configured in the STATUS panel settings.
Plans
Jolli Memory automatically detects Claude Code Plan files from your session transcripts and displays them in the PLANS sidebar panel. When you commit, the active plan is archived as a snapshot in the orphan branch and associated with the commit.
From the Summary Webview, you can:
- Preview a committed plan's content
- Edit the plan inline (changes are saved to the orphan branch)
- Remove a plan association from a commit
- Associate additional plans from
~/.claude/plans/
Create & Update PR
At the bottom of every memory panel, Jolli Memory can create or update a GitHub Pull Request:
- Create PR: pre-fills the PR description with a streamlined summary: Jolli Memory URL → Plans → E2E Test Guide → Summaries (Why → Decisions → What). Only includes information not already visible on the GitHub PR page.
- Update PR: refreshes the summary section in place (using
<!-- jollimemory-summary --> markers) without affecting any text you've added manually.
Requires the gh CLI to be installed and authenticated.
While Jolli Memory is generating a summary in the background, the AI Commit, Push, and Squash buttons are temporarily disabled to prevent conflicts. They re-enable automatically when done.
Configuration
All settings can be configured directly from the STATUS panel in the sidebar, no need to edit files manually. They are stored in .jolli/jollimemory/config.json (add .jolli/ to your .gitignore):
| Field |
Type |
Default |
Description |
apiKey |
string |
$ANTHROPIC_API_KEY |
Your Anthropic API key for AI summarization (generate one at platform.anthropic.com) |
model |
string |
claude-haiku-4-5-20251001 |
Model used for summarization |
jolliApiKey |
string |
— |
Jolli Space API key for pushing summaries to your team knowledge base |
excludePatterns |
string[] |
— |
Glob patterns for hiding files from the Changes panel |