Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Repo2MD — Live Project ContextNew to Visual Studio Code? Get it now.
Repo2MD — Live Project Context

Repo2MD — Live Project Context

Amirmuz

|
1 install
| (0) | Free
Keeps one Markdown file in sync with the files you pick: folder tree + file contents. Starts blank — right-click files → Add to Context (or include the whole project). Built for pasting into Copilot/LLM chats.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Repo2MD — Live Project Context

One Markdown file, always in sync with the files you pick: folder tree + each file's relative path + contents. Built for one job — pasting project context into Copilot Chat / any LLM without hand-maintaining it.

It starts blank. You choose what goes in (right-click → Add to Context), or switch on whole-project mode if you want everything.

What it does

  • Starts empty. On a fresh project, nothing is generated until you add at least one file — so it never dumps your whole repo by surprise.
  • Add files: right-click file(s)/folder(s) in the Explorer → Repo2MD: Add to Context. From then on, PROJECT_CONTEXT.md at the workspace root contains ONLY those, with the tree trimmed to their locations.
  • On every save (and file create/delete) inside your selection, it regenerates that one file (debounced, so bursts = one write). It is the only file this extension ever creates.
  • Picked folders stay live: pick tests/ once and every new file inside it rides along automatically.
  • Auto profile: detects the project type per workspace (a playwright.config.* or @playwright/test dependency switches on the Playwright preset), so you can leave it installed globally.
  • Safe by default: skips node_modules/.git/dist/..., lock files, binaries, anything starting with .env (secrets never ride along), files over 64 KB, and its own output (no loops). These rails apply even to files you pick, and anything withheld is reported in the output header, never silently dropped.
  • Status bar shows mode + last sync time; click it to force a regeneration.

The two ways to add / remove

Add — select files and/or folders in the Explorer (Cmd/Ctrl-click for multi-select) → right-click → Repo2MD: Add to Context.

Remove — right-click the same items → Repo2MD: Remove from Context.

Reset to blank — Cmd/Ctrl+Shift+P → Repo2MD: Clear Selection (Blank Context). Back to nothing selected.

Everything — Cmd/Ctrl+Shift+P → Repo2MD: Include Whole Project. Turns the whole repo on (respecting the safety ignores). Adding any file switches you back to picked mode.

Pick from a list — Cmd/Ctrl+Shift+P → Repo2MD: Choose Files (Pick List): a checkbox list of every includable file; check the ones you want.

Mouse only (no keyboard): click the Repo2MD item in the status bar (bottom-right) for a menu with Generate / Choose files / Include whole project / Clear selection. Handy on Windows — the Command Palette there is Ctrl+Shift+P, but you never need it: right-click adds/removes, the status bar does the rest.

Your selection lives per project in .vscode/settings.json (repo2md.files + repo2md.mode), so it is visible, hand-editable, and committable for teammates.

Try it (2 minutes)

  1. Open this folder (repo2md/) in VS Code.
  2. Press F5 ("Run Extension") — a second VS Code window opens.
  3. In that window: File → Open Folder → pick sample-playground/.
  4. Nothing is generated yet (it starts blank). Right-click src/app.js → Repo2MD: Add to Context — now PROJECT_CONTEXT.md appears with just that file. Edit it, save, watch it update (~1s). Add a folder to see the tree grow.

CLI smoke test without VS Code: node test/run.js [folder] [profile] --files src/app.js.

Install for daily use (pick one)

A. Package a VSIX (proper way):

cd repo2md
npx @vscode/vsce package

Then VS Code → Extensions panel → ··· menu → Install from VSIX → pick repo2md-0.4.0.vsix. Send the .vsix file to anyone — same install. (Or just install "Repo2MD" from the Marketplace.)

B. Zero-tools way: copy this folder to ~/.vscode/extensions/amirmuz.repo2md-0.4.0 and restart VS Code.

Settings (Cmd/Ctrl+, → search "repo2md")

Setting Default Meaning
repo2md.outputFile PROJECT_CONTEXT.md Name of the generated file
repo2md.autoUpdate true Regenerate on save/create/delete
repo2md.mode picked picked starts blank and includes only what you add; whole includes the entire project
repo2md.files [] Picked paths (files or folders). ONLY these are included. Managed via right-click → Add/Remove from Context
repo2md.maxFileSizeKB 64 Bigger files: listed in tree, contents skipped
repo2md.profile auto Stack preset. auto detects per project; playwright also excludes playwright-report, test-results, blob-report, user-data (browser profiles), .auth/ and storage-state secret files
repo2md.extraIgnores [] Extra file/folder names to exclude
repo2md.includeContents true false = tree only

Commands (Cmd/Ctrl+Shift+P)

  • Repo2MD: Generate Project Context Now (manual run, also works with autoUpdate off)
  • Repo2MD: Choose Files (Pick List)
  • Repo2MD: Clear Selection (Blank Context)
  • Repo2MD: Include Whole Project
  • Explorer right-click: Add to Context / Remove from Context

Using it across many projects

Repo2MD only ever writes one file per workspace root, so it is safe to keep installed. If you want it dormant by default: set repo2md.autoUpdate: false in your User settings, then turn it on per project in that project's .vscode/settings.json. Projects with autoUpdate off are never touched (manual command still works).

Notes

  • Multi-root workspaces: one PROJECT_CONTEXT.md per root folder, each with its own picks/profile.
  • .gitignore-aware filtering is a possible future addition; for now use extraIgnores.
  • Tip: add PROJECT_CONTEXT.md to the project's .gitignore — it's generated, not source.

FAQ

Does it create folders or scaffolding in my project? No. Exactly one file (PROJECT_CONTEXT.md, or your configured outputFile) at the workspace root. The sample-playground/ folder in the source repo is a development fixture and is not part of the installed extension.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft