Monty combines the intelligence of LLMs with the context of your code using a technique called RAG (retrieval augmented generation).
Monty will automatically update its context to find code relevant to the task at hand.
How it works
Chat with your code: What happens when you send Monty a chat message?
Monty creates a code context from the files and symbols you have selected or by searching your workspace.
Monty uses this context and chat history to write a helpful response.
Document mode: What happens when you send Monty an instruction in document mode?
Monty creates a code context from the files and symbols you have selected or by searching your workspace.
Monty uses this context and your document to write a helpful response.
Getting Started
Installation: Install Monty from the VSCode Extension Marketplace.
Launch: Open monty from the VSCode Activity Bar, normally on the left hand side of the screen.
Config: Click the API KEY field in the Account view to add your OpenAI API key.
Select files and symbols: Open a source file and right-click to access the Monty: add to code context menu.
Chat: Click the New Chat field in the Command view or press ALT+N to start a new Chat with Monty.
More: Right-click on items in the History view to see additional options.
Chat with your code: Ask for documentation or explanations, explore design ideas, discuss implementation and code suggestions.
Document mode: Craft detailed tickets, bug reports, and documents aligned with organizational standards.
Private code database: Builds a local searchable database from your code repository for context-aware assistance.
Bring your own key: Use your own OpenAI API key. Or try some of the other supported LLM providers.
Limitations
Git: you must have git installed and in your PATH. Monty uses git to detect changes in your codebase.
Submodule indexing: Monty can't index git submodules. This means if your workspace contains folders that are themselves git repo’s we wont be able to index them. If you want Monty to index a submodule you need to open that folder in its own VSCode workspace. This will be fixed in a future release.