Turn selected workspace files and Git diffs into clean, AI-ready context from inside VS Code.
Lupinum Context is a local-first VS Code extension for building precise prompts for ChatGPT, Claude, Gemini and other LLMs. Pick the files you want, optionally include recent Git commit diffs, add a reusable prompt prefix, then copy or save a structured context bundle.
- Visual file selection with native VS Code checkboxes
- Rough token estimates for Claude, OpenAI, and Gemini
- Optional recent Git commit diff selection
- Reusable prompt prefixes
- Readable or compact XML-like output
.gitignore,.contextignore, and.towerignoresupport- Local-only context generation for filesystem workspaces
Lupinum Context generates structured text like this:
<context>
<project_tree>
src/
└─ core/
└─ context/ContextAssembler.ts
</project_tree>
<project_files>
<file name="ContextAssembler.ts" path="/src/core/context/ContextAssembler.ts">
...
</file>
</project_files>
<git_diffs>
...
</git_diffs>
</context>- Install Lupinum Context in VS Code.
- Open the Lupinum Context view from the Activity Bar.
- Select files and, optionally, Git commits.
- Add a prompt prefix if needed.
- Click Copy Context.
- Paste into your LLM of choice.
Create a .contextignore file in your workspace root to keep noisy files out of context:
tests/fixtures/
docs/generated/
*.min.js
data/Lupinum Context also honors .gitignore and .towerignore.
Requirements:
- Node.js 20+
- pnpm 10+
- VS Code 1.96+
git clone https://github.com/lupinum-dev/context.git
cd context
vp install
vp run watchThen press F5 in VS Code to launch the Extension Development Host.
Before opening a PR:
vp run validateBefore release or command-wiring changes:
pnpm run smoke:vscode
vp run bench:smokeBuild and install a local VSIX:
vp run deploy:localReleases use Conventional Commits and changelogen. The first public version is
0.1.0.
pnpm run changelog # preview generated notes
pnpm run release -- -r 0.1.0 # first release commit + tag
pnpm run release:github -- 0.1.0 # sync GitHub release from CHANGELOG.mdSee docs/RELEASING.md for marketplace publishing.
src/core → pure domain logic
src/app → application workflows
src/vscode → VS Code adapters and shell
src/webview → Vue UIImport boundaries are enforced by scripts/check-boundaries.mjs.
AGPL-3.0
Built by Lupinum. Originally forked from prompt-tower.