Git Llama provides an offline-first, LLM command line interface to git source control that translates your prompt like:
git-llama "show me the last 5 commits, just the commit messages"
Into the real command:
git log -5 --pretty=format:%s
If you have nix flakes enabled, you can install git-llama
with:
nix develop
Then run make
.
Git Llama depends on ollama.
The first iteration of git-llama
has a decoupled architecture
that doesn't try to install ollama
for you. If this is a feature
you really want, please
file a feature request issue
and I will write it for you.
- Check if
ollama
is started in background - Add SQLite vector database sqlite-vec
- Write the vector db module with an interface that lets you insert, update and get the embeddings from the db
- Write the input -> Embedding Model code
- Write Semantic Search code
- Pair every command with it's inverse (if possible) and lots of unit tests
// check the sqlite_version and the vec_version
stmt, _, err := vecdb.DB.Prepare(`SELECT sqlite_version(), vec_version()`)
if err != nil {
fmt.Printf("failed getting vec_version(): %s\n", err)
return nil, err
}
stmt.Step()
fmt.Printf("sqlite_version() = %s, vec_version() = %s\n", stmt.ColumnText(0), stmt.ColumnText(1))