luckyshot-0.1.0 is not a library.
A powerful CLI tool that enhances code understanding by using RAG (Retrieval Augmented Generation) to find and analyze relevant files in your codebase.
Features
- File scanning with customizable chunk sizes and overlap
- Semantic search using OpenAI embeddings
- Support for piped input and file suggestions
- Intelligent context expansion
Installation
Usage
Scanning Files
Generate embeddings for your codebase using the scan command:
# Basic scan of all Rust files
# Basic scan of all Rust and Markdown files
# Scan with chunking enabled
# Include file metadata in embeddings
The scan command:
- Finds files matching your pattern (respecting .gitignore)
- Generates embeddings using OpenAI's API
- Saves results to
.luckyshot.file.vectors.v1
Finding Relevant Files
To find files related to a topic or question:
# Using command line arguments
# Using piped input
|
# Chain commands Unix-style
# This will:
# 1. Ask about OpenAI URLs
# 2. Expand it with Rust expertise context
# 3. Find relevant files
| \
| \
This will:
- Convert your query into an embedding
- Use BM25-style ranking to find similar files
- Display relevant files with similarity scores
Expanding Context
To expand a query with additional context:
Environment Setup
You'll need an OpenAI API key. Either:
Or create a .env file:
OPENAI_API_KEY=your-api-key
License
MIT