The application follows a clean architecture with clear separation of concerns:
- UI Layer: Bubble Tea components for terminal interface
- Business Logic: File management, command execution, AI communication
- Data Layer: File system operations
- App: Main Bubble Tea application orchestrating all components
- EditorPane: Code editor with syntax highlighting and file editing
- AIChatPane: AI interaction pane with conversation history
- FileManager: Handles all file system operations
- CommandExecutor: Executes system commands and scripts
- OllamaClient: Communicates with Ollama service via REST API
The application can be configured via:
- Configuration file at
~/.ti/config.json(loaded automatically if present) - Command-line flags (override config file values)
- Default configuration (used when no config file or flags provided)
Command-line flags > Config file > Built-in defaults
- Workspace Directory:
~/ti-workspace - Ollama URL:
http://localhost:11434 - Default Model:
llama2 - Tab Size: 4 spaces
- Auto Save: Disabled
The application is designed to run on:
- Linux: Tested on Ubuntu 20.04+
- Windows: Tested on Windows 10+
- macOS: Tested on macOS 11+ (Intel and Apple Silicon)
- Go 1.21 or higher
- Make (for build automation)
- golangci-lint (optional, for linting)
make fmt # Format code
make lint # Run linter
make run # Build and run
make clean # Clean build artifactsContributions are welcome! Please ensure:
- All tests pass (
make test) - Code is formatted (
make fmt) - Linter passes (
make lint) - New features include tests