cir

command module
v0.0.0-...-3851b6f Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2025 License: MIT Imports: 20 Imported by: 0

README

A LLM Chat client on the terminal built with tview.

Status: Pre-Alpha

Requirements

  • fzf-tmux
  • OPENAI_API_KEY as env variable

Install

go install github.com/worldsayshi/cir@main

Then just run cir to start it. It will store the session in a ~/.cir folder. For a separate session, use the -session flag like this: cir -session my-session.yaml.

Key bindings

  • Ctrl-o - Manage context
  • Ctrl-s - Submit message
  • (Shift-)Tab - Toggle focus between input and chat history

Run from this repo

Run:

go run .

Test:

go test ./...

TODOs for Beta

  • [/] Refactor application.go so that the control flow is more DAG-like, now it's spaghet
  • More context info
    • Add the file names sent to the printed chat message
  • Allow code edits
  • Bug: Getting Error: <nil> in log
  • Cleanup: Get rid of frivolous panics

Alpha TODO log

  • Bug: refactor and fix messages handling so that messages are updated properly
  • adding context files using fzf?
    • Define working set data in session data structure:
      • workingFiles with path and last submitted checksum
    • Manage current working set in TUI - store in session file
    • Just add them to the message
    • Add them but hide them from rendering
    • Add them to the session data, calculate and store checksum whenever they are added to the sent data, only send when checksum change (sort of untested but seems to work I think??)
  • Add backwards compatibility for session yaml storage
  • Prompt templates for sending context
  • Make the history view scrollable
  • QOL: Also store the current wip chat message in the session (on exit?)

Nice to have's

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳