git-llama

command module
v0.0.0-...-3b1504f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

README

git-llama

Go Report Card

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

Build with Nix

If you have nix flakes enabled, you can install git-llama with:

nix develop

Then run make.

Install

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.

Architecture

git llama architecture

TODO

  • 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

Appendix

Check the sqlite_version and the vec_version

// 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))

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package ollm wraps the ollama api
Package ollm wraps the ollama api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL