Ragex.CLI.Chat (Ragex v0.9.1)

View Source

Interactive terminal chat UI for codebase Q&A using Ragex RAG.

Uses Owl.LiveScreen for real-time streaming output and Owl.IO for styled user input. Backed by the RAG pipeline for retrieval-augmented answers about analyzed codebases.

Usage

Ragex.CLI.Chat.start(path: "/path/to/project")

Commands

  • /help - Show available commands
  • /history - Show conversation history
  • /clear - Clear conversation and start fresh
  • /sources - Show sources from last response
  • /analyze - Re-analyze the codebase
  • /status - Show session and graph stats
  • /quit - Exit the chat

Summary

Functions

Start an interactive chat session.

Types

state()

@type state() :: %{
  session_id: String.t() | nil,
  path: String.t(),
  provider: atom() | nil,
  model: String.t() | nil,
  strategy: atom(),
  last_sources: [map()],
  message_count: non_neg_integer(),
  analyzed: boolean()
}

Functions

start(opts \\ [])

@spec start(keyword()) :: :ok

Start an interactive chat session.

Options

  • :path - Project path to analyze (default: cwd)
  • :provider - AI provider atom (default: configured default)
  • :model - Model name override
  • :strategy - Retrieval strategy: :fusion, :semantic_first, :graph_first (default: :fusion)
  • :skip_analysis - Skip initial analysis (default: false)
  • :include_dead_code - Enable dead code analysis (default: false)