
🤠 Wrangle your code context for AI collaboration
Formerly "GPT Context Generator" - Same powerful features, new name!
Rodeo is a Visual Studio Code extension that helps you generate LLM-ready context from your workspace files, making it easier to collaborate with AI models. The extension can automatically reference local code dependencies and respects your .gitignore
rules to avoid including unnecessary files.
- Generate LLM-ready context from the currently open file and its imports, your entire VS Code workspace or marked files
- Generate context from all open editor tabs with or without their imports
- Smart mark/unmark functionality for files and folders via Explorer context menu
- Automatic file tracking updates marked files when they're moved or deleted
- Token count estimation for generated context
- Optional file type detection to include or exclude common programming file extensions
- Automatic support for multiple programming languages and file types
- Configurable markdown file handling - include raw or wrap in code blocks
-
Via Explorer:
- Right-click on one or more files or folders in the Explorer
- Select "Mark for LLM Context"
- Files appear in the Marked Files view
- Marking a folder includes all compatible files within it
-
Via Command Palette:
- Open a file
- Press
Ctrl+Shift+P
(Windows) orCmd+Shift+P
(Mac) - Select "Mark/Unmark File for LLM Context"
Five ways to generate context:
-
Marked Files:
- Mark desired files by right-clicking them in the Explorer and selecting "Mark for LLM Context" or invoking the Command Palette (
Ctrl+Shift+P
on Windows orCmd+Shift+P
on Mac) while in an editor and selecting "Mark/Unmark File for LLM Context" - Then, click the "Generate LLM Context (Marked Files)" magic wand icon in the Marked for LLM Context view or invoke the Command Palette again and select "Generate LLM Context (Marked Files)" to generate context from all marked files
- Mark desired files by right-clicking them in the Explorer and selecting "Mark for LLM Context" or invoking the Command Palette (
-
Current File + Imports:
- When you have a file open in the editor, you can generate context for it along with its imports by invoking the Command Palette (
Ctrl+Shift+P
on Windows orCmd+Shift+P
on Mac), typing "Generate LLM Context", and selecting "Generate LLM Context (Current File + Imports)"
- When you have a file open in the editor, you can generate context for it along with its imports by invoking the Command Palette (
-
All Open Files:
- Have multiple files open in editor tabs
- Invoke the Command Palette (
Ctrl+Shift+P
on Windows orCmd+Shift+P
on Mac) and select "Generate LLM Context (All Open Files)"
-
All Open Files + Imports:
- Have multiple files open in editor tabs
- Invoke the Command Palette (
Ctrl+Shift+P
on Windows orCmd+Shift+P
on Mac) and select "Generate LLM Context (All Open Files + Imports)"
-
Entire Workspace:
- Open a workspace
- Invoke the Command Palette (
Ctrl+Shift+P
on Windows orCmd+Shift+P
on Mac) and select "Generate LLM Context (Workspace)"
The generated context will be copied to your clipboard or opened in a new window, based on your settings.
After generating context, you'll see an estimated token count. This helps you stay within AI model token limits. A warning appears if the context exceeds a configurable token limit (default: 32,000), but the generation will still proceed.
Configure the extension in VS Code settings:
-
Enable File Type Detection
enforceFileTypes
: Enable/disable file type detection (default:true
)- When enabled, only files with extensions in
detectedFileExtensions
are processed - When disabled, all file types are included regardless of extension
-
Detected File Extensions
- Customize which file types to include (only when
enforceFileTypes
is enabled) - Supports many languages and formats:
- JavaScript/TypeScript (js, jsx, ts, tsx, etc.)
- Python (py, pyi, pyw, ipynb)
- Ruby (rb, rake, erb, etc.)
- PHP (php, phtml)
- Swift/Objective-C (swift, m, h, etc.)
- Systems (c, cpp, rs, go, etc.)
- Web (html, css, scss, etc.)
- Mobile (java, kt, dart, etc.)
- Configuration (json, yaml, toml, etc.)
- And more...
- Customize which file types to include (only when
-
Ignore Files
- Files containing ignore patterns (like .gitignore)
- Default:
.gitignore
,.dockerignore
- Patterns from each file are used to exclude matching files from context
- Files are processed in order, and missing ignore files are safely skipped
-
Token Warning Threshold
- Token count threshold for showing warnings
- Default:
32000
-
Output Method
clipboard
: Copy to clipboard (default)newWindow
: Open in new editor
-
Output Format (for newWindow only)
plaintext
: Plain text (default)markdown
: Markdown formatting
-
Include package.json (for open file context only)
- Include package.json when generating context for open file
- Default:
false
-
Markdown File Handling
raw
: Include markdown files as-is, preserving formatting (default)codeblock
: Wrap markdown files in code blocks like other files- Useful for documentation with embedded code examples
-
File Path Format
- Controls where file paths appear in generated context
inline
: In code block header, e.g.,```js file.js
(default)comment
: As HTML comment before content, e.g.,<!-- File: file.js -->
none
: No file paths included- Using
comment
ornone
prevents LLMs from including paths in generated code
- Primary development and icon: @codybrom
- Original marked files feature: @Aventuum
- Magic wand icon: @boxicons
© 2025 Cody Bromley and contributors.
This project is licensed under the MIT License - see the LICENSE file for details.