Skip to content

Get relevant files/authors for your code - binary written in rust. Plugins available in NeoVim and VSCode (separate repositories)

License

Notifications You must be signed in to change notification settings

krshrimali/context-pilot-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

229 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Context Pilot

Tests Build

Just the tool that answers following questions for you:

  1. "What all commits ever touched this piece of code?"
  2. "What are the files related to this piece of code?"
  3. "Who all touched this piece of code?"

Eventually answering following questions for you: (via your own brain or LLMs)

  1. "What could have caused the bug?"
  2. "Why was this changed in the last month? What's the reason?"
  3. "Where can I find the tests written for this code?"
  4. "Where should I make the change while working on this code?"

Gist: Whether you want to find:

  • Who wrote a particular line (author search 🧑‍💻),
  • Which files are most related to a given section (context search 📄),
  • Or index your whole workspace efficiently with Git history 🔥,

Context Pilot gives you fast, powerful, and local-first code intelligence.

Installation

Context Pilot is available via homebrew:

brew install krshrimali/context-pilot/context-pilot

And via AUR: https://aur.archlinux.org/packages/contextpilot and git package here: https://aur.archlinux.org/packages/contextpilot-git.

If you're not using homebrew or AUR, please build this project from source for now (we are working on adding this to other package managers):

git clone https://github.com/krshrimali/context-pilot-rs.git
cd context-pilot-rs
cargo build --release

This will generate the binary at ./target/release/contextpilot.

Move it to a path that's in your $PATH to run it globally:

cp ./target/release/contextpilot /usr/local/bin/contextpilot

Once done, you should be able to do: contextpilot --help


✨ Features

  • 📈 History Analysis: Understand who contributed to every line.
  • 🔍 Context Extraction: Find related files automatically based on commit histories.
  • 🗂️ Smart Indexing: Index your project into a fast sharded database for quick queries.
  • 🚀 Rust-Powered: Extremely fast and lightweight — no servers needed.
  • 🧠 Multi-level tracing: Traverses multiple previous commits to capture richer history.
  • Editor Integrations: Works with Neovim and VSCode extensions.
  • 🔒 Local-first: Never sends your code outside your machine.

🚀 Usage

Index your workspace

contextpilot /path/to/workspace -t index

This will index your project and store smartly sharded JSON database files at:

~/.context_pilot_db/<workspace>/

Selectively Index your Workspace

contextpilot /path/to/workspace -t index "subdir1,subdir2"

Pass relative paths to the argument as above, and it will only index those folders for you.


Query for Top Context Files

contextpilot /path/to/workspace -t query path/to/file.rs -s <start-line> -e <end-line>

Fetch top related files for the selected line range.


Get relevant commits

contextpilot /path/to/workspace -t desc path/to/file.rs -s <start-line> -e <end-line>

Gives you the relevant commits to the selected piece of code.


🖥️ Editor Integrations

Neovim

VSCode


👨‍💻 Development

Setting Up Development Environment

  1. Clone the repository

    git clone https://github.com/krshrimali/context-pilot-rs.git
    cd context-pilot-rs
  2. Install dependencies

    rustup component add rustfmt clippy
  3. Install git hooks (recommended)

    ./.git-hooks/install-hooks.sh

    This installs a pre-commit hook that:

    • Automatically checks code formatting before commits
    • Runs clippy to catch common issues
    • Prevents commits with formatting errors

Running Tests

# Run all tests (with single thread for git-dependent tests)
cargo test -- --test-threads=1

# Run specific test suite
cargo test --test rename_detection -- --test-threads=1

# Run with output
cargo test -- --test-threads=1 --nocapture

Code Quality

# Format code
cargo fmt

# Check formatting without modifying files
cargo fmt --check

# Run clippy
cargo clippy --all-targets --all-features

# Run clippy with warnings as errors
cargo clippy --all-targets --all-features -- -D warnings

Git Hooks

The pre-commit hook ensures code quality before commits. See .git-hooks/README.md for details.

To bypass the hook (not recommended):

git commit --no-verify

Continuous Integration

We use GitHub Actions for CI/CD:

  • Tests workflow: Runs on every PR and push to main
  • Build workflow: Builds on Linux, macOS, and Windows

See .github/workflows/README.md for details.

About

Get relevant files/authors for your code - binary written in rust. Plugins available in NeoVim and VSCode (separate repositories)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •