ð Contexter: Streamlined Context Gathering for LLMs
RustCLIBrowser ExtensionLLMContext Gathering
ð Overview
Contexter is a robust, dual-purpose tool designed to ease the way developers interact with Language Models (LLMs). It combines a powerful Rust-based CLI application with a sleek Chrome extension, offering a seamless experience for gathering and managing context from your projects.
âĻ Key Features
- ðïļ Smart Directory Traversal: Recursively walks through directories to gather relevant files.
- ð Flexible Filtering: Includes files based on specified extensions and excludes patterns using regex.
- ð Clipboard Integration: Easily copy concatenated content to your clipboard.
- ð Duplicate Detection: Skips duplicate file contents based on content hashes for efficiency.
- ð Consistent Output: Ensures a reliable, ordered output of files.
- ð Dark Mode Support: Comfortable viewing in any lighting condition.
- ð Secure API Key Management: Keeps your interaction with the server safe and authenticated.
ð ïļ Technical Stack
- Backend: Rust
- Frontend: HTML, CSS, JavaScript
- Browser Extension: Chrome Extension API
- API: RESTful API with JSON communication
- Security: SHA-256 hashing for API keys
ðĄ Use Cases
- Code Review Assistance: Quickly gather context from specific parts of your project to ask an LLM for code review suggestions.
- Documentation Generation: Collect information about your project structure to help LLMs generate or update documentation.
- Bug Analysis: Provide relevant code snippets and file structures to LLMs for more accurate bug analysis and potential solutions.
- Refactoring Support: Gather context about related files and functions to assist LLMs in suggesting refactoring strategies.
ð Getting Started
CLI Installation
1git clone https://github.com/hyperb1iss/contexter.git 2cd contexter 3cargo build --release
Chrome Extension Installation
- Navigate to
chrome://extensions/
- Enable "Developer mode"
- Click "Load unpacked" and select the
extension
directory from the Contexter project
ð Usage Example
CLI
1contexter /path/to/your/project rust js --exclude ".*test.*"
Chrome Extension
- Click the Contexter icon in your browser
- Select your project from the list
- Choose the files you want to include
- Click "Fetch Content" or "Copy to Clipboard"