Markdown Project Memory
By Harish Chirati · Live Markdown preview and a development journal for your project.
Read documentation beside your code. When a task is finished, record what changed, why it changed, and how you tested it in a Markdown file you can keep in Git.
Start here
- Install Markdown Project Memory in Visual Studio Code.
- Open a Markdown file such as
README.md.
- Right-click the file in Explorer and select Open with Markdown Project Memory.
- To edit while reading, select Markdown Project Memory: Preview to the Side instead.
- Type in the source editor. The preview updates automatically. Save normally with Ctrl+S, or Cmd+S on macOS.
Both preview options also appear when you right-click a Markdown editor tab or inside its source editor. Explorer supports .md and .markdown files, including uppercase extensions.
Keyboard shortcut: Ctrl+Alt+M on Windows/Linux, Cmd+Alt+M on macOS, while a Markdown editor is focused.
Animated usage guide
Press Ctrl+Shift+P (macOS: Cmd+Shift+P), type Project Memory: Getting Started, and press Enter.
The built-in guide includes an animated GIF captured from VS Code, numbered instructions, and a Try the sample document button. The GIF is bundled with the extension and works offline.
To try the features immediately, run Project Memory: Try Sample Document. It opens an editable, unsaved sample beside its preview. Save a copy if you want to keep your edits.
Read and navigate
| Feature |
How to use it |
| Live preview |
Edit the source beside the preview; changes refresh automatically. |
| Outline |
In a wide preview, click a heading in the left outline. Use Outline to toggle it. Widen a narrow preview if the outline is hidden. |
| Search |
Type into Find in this document. Matches are highlighted; Enter jumps to the first match. |
| Copy code |
Click Copy in the upper-right corner of a code block. |
| Edit / Split |
Click Edit / Split to open the native source editor beside the preview. |
| Document statistics |
See words, lines, and estimated reading time in the footer. |
| Themes |
Preview colors follow your VS Code theme. |
Tables, task lists, syntax-highlighted code blocks, heading links, and local images are supported. Put local images in the document's directory or a subdirectory.
Diagrams and mathematics
Use a fenced block with the language mermaid for diagrams:
```mermaid
graph LR
A[Change code] --> B[Record the reason]
B --> C[Save the journal]
```
Use a fenced block with the language math for mathematical expressions:
```math
E = mc^2
```
Inline $...$ mathematics is not supported in this version.
Record a development change
Before you start: open a trusted project folder that is already a Git repository. Git must be installed. Make your code changes first.
- Click Record change in the preview, or run Project Memory: Record Change from the Command Palette.
- If multiple workspace folders are open, choose the folder to document.
- Enter a short title, for example Add login validation.
- Explain why, for example Prevent empty credentials from reaching the API.
- Enter your testing notes, for example Checked empty fields and successful login. If you have not tested the change, say so.
- Review the new draft in
DEVELOPMENT.md. The extension includes staged, unstaged, and untracked filenames.
- Fill in implementation decisions and any AI assistance, then save with Ctrl+S / Cmd+S.
Use Project Memory: Open Development Log to return to the journal later.
The journal is a draft until you save it. The extension does not commit code, inspect past commits, automatically explain code changes, or call an AI service. You supply the meaning of the change.
Export to HTML
- Open a Markdown source file or its preview.
- Click Export HTML in the preview, or run Project Memory: Export HTML.
- Choose a destination and save.
- Open the exported
.html file in a browser.
The export is static. Mermaid diagrams remain source text, math styling is not embedded, and relative image paths require the corresponding images. PDF export is not included.
Commands
Open the Command Palette with Ctrl+Shift+P / Cmd+Shift+P, then search for Project Memory.
| Command |
Purpose |
| Getting Started |
Open the animated guide and step-by-step instructions. |
| Try Sample Document |
Open a safe, editable sample and its preview. |
| Open Preview |
Preview the selected Markdown file. |
| Open Preview to the Side |
Keep source and preview visible together. |
| Record Change |
Draft an entry from your notes and Git filenames. |
| Open Development Log |
Open DEVELOPMENT.md. |
| Export HTML |
Save a static HTML document. |
Settings and requirements
- VS Code: version 1.90 or newer.
- Git: needed only for Record Change.
- Preview font size: change
projectMemory.fontSize in Settings; default 16, range 12–24.
- Workspace trust: Git recording requires a trusted workspace. Preview remains available in restricted mode.
Troubleshooting
The preview command is missing: run Developer: Reload Window, open a Markdown file, and search the Command Palette for Project Memory.
The right-click action is missing: select a .md or .markdown file, rather than a folder. In an editor, check that the language mode is Markdown.
Record Change cannot read Git: make sure Git is installed, the project folder is open, and it belongs to a Git repository. Preview does not require Git.
A local image does not display: use a relative image path within the Markdown file's directory or a subdirectory. Parent-directory images are outside the preview's local resource scope.
The extension header shows harish-chirati: this is the registered publisher ID. The publisher display name is Harish Chirati. Local VSIX installations may show the ID until VS Code receives the Marketplace publisher metadata. The ID must remain unchanged for updates to work.
Privacy
No AI credentials, AI provider, or telemetry are used. Raw HTML in Markdown is displayed as text. Preview scripts are bundled locally, with a Content Security Policy. HTTPS images may contact the image host. Git recording runs locally and collects changed filenames within the selected workspace folder.
For contributors
Install Node.js 22 or newer, then run npm install. Press F5 in this source project and choose Run Project Memory to launch an Extension Development Host.
npm run check
npm test
npm run package
npm run watch rebuilds JavaScript and TypeScript during development. CSS changes require a new build and reopening the preview.
Author and license
Created by Harish Chirati. Publisher ID: harish-chirati. MIT license.