I made this project for myself over the past two days. It's a web app that lets you build a ChatGPT prompt where you can add code, errors, and symbol definitions from VSCode in one click.
1. Run the web app from docker
2. Download the VSCode extension and run the connect command
3. Construct prompt
4. Paste into ChatGPT/some other tool
Why it's useful:
- LLM neutral: paste prompts into ChatGPT, Claude, Bing Chat, Bard, etc.
- No need to fiddle with copy/pasting code snippets or error messages
- Free Software under AGPLv3
- Fully local, no telemetry or tracking.
The architecture is in three parts:
1. VSCode extension that sends symbols, diagnostics, and open files to the server over both REST and Websockets.
2. Haskell Server that talks with the VSCode extension and serves the static frontend.
3. Static frontend in SvelteKit.
For production, the backend and frontend are packaged together with nix (see `flake.nix`) and turned into a Docker image, though they can also be run separately. The extension is packaged the normal way with `vsce`.
Please let me know what you think!