blob: 7595a68b58397bdf3767cdaa85e6ecb7fa49e6b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# TermAI
A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal.
[](https://asciinema.org/a/dtc4nJyGSZX79HRUmFLY3gmoy)
## Overview
TermAI is a Go-based CLI application that brings AI assistance to your terminal. It provides a TUI (Terminal User Interface) for interacting with various AI models to help with coding tasks, debugging, and more.
## Features
- **Interactive TUI**: Built with [Bubble Tea](https://github.com/charmbracelet/bubbletea) for a smooth terminal experience
- **Multiple AI Providers**: Support for OpenAI, Anthropic Claude, and Google Gemini models
- **Session Management**: Save and manage multiple conversation sessions
- **Tool Integration**: AI can execute commands, search files, and modify code
- **Vim-like Editor**: Integrated editor with Vim keybindings for text input
- **Persistent Storage**: SQLite database for storing conversations and sessions
## Installation
```bash
# Coming soon
go install github.com/kujtimiihoxha/termai@latest
```
## Configuration
TermAI looks for configuration in the following locations:
- `$HOME/.termai.json`
- `$XDG_CONFIG_HOME/termai/.termai.json`
- `./.termai.json` (local directory)
You can also use environment variables:
- `ANTHROPIC_API_KEY`: For Claude models
- `OPENAI_API_KEY`: For OpenAI models
- `GEMINI_API_KEY`: For Google Gemini models
## Usage
```bash
# Start TermAI
termai
# Start with debug logging
termai -d
```
### Keyboard Shortcuts
- `L`: View logs
- `N`: Create new session
- `Esc`: Close current view
- `Backspace`: Go back
- `Ctrl+C` or `q`: Quit
- `?`: Toggle help
## Architecture
TermAI is built with a modular architecture:
- **cmd**: Command-line interface using Cobra
- **internal/app**: Core application services
- **internal/config**: Configuration management
- **internal/db**: Database operations and migrations
- **internal/llm**: LLM providers and tools integration
- **internal/tui**: Terminal UI components and layouts
- **internal/logging**: Logging infrastructure
- **internal/message**: Message handling
- **internal/session**: Session management
## Development
### Prerequisites
- Go 1.23.5 or higher
### Building from Source
```bash
# Clone the repository
git clone https://github.com/kujtimiihoxha/termai.git
cd termai
# Build
go build -o termai
# Run
./termai
```
## Acknowledgments
TermAI builds upon the work of several open source projects and developers:
- [@isaacphi](https://github.com/isaacphi) - LSP client implementation
## License
[License information coming soon]
## Contributing
[Contribution guidelines coming soon]
|