loopai
v0.1.2
Published
AI agent CLI with TUI that can read, write, and search files in your workspace
Maintainers
Readme
Loop AI
An AI agent CLI with a beautiful TUI (Terminal User Interface) that can read, write, and search files in your workspace.
Features
- Interactive TUI - Chat-style interface powered by Ink (React for CLI)
- Multi-provider support - Anthropic (Claude), OpenAI (GPT), Ollama (local), OpenRouter
- File operations - Read, write, search files with path traversal protection
- Streaming responses - Real-time streaming with tool call status indicators
- Configuration wizard - First-run setup for easy configuration
Installation
npm install -g loopOr with other package managers:
# pnpm
pnpm add -g loop
# yarn
yarn global add loop
# bun
bun add -g loopUsage
Quick Start
# Set your API key
export ANTHROPIC_API_KEY=your-api-key
# Run the CLI
loopCLI Options
loop [options]
Options:
--help, -h Show help message
--version, -v Show version number
--port <port> Start HTTP server on specified portIn-app Commands
/configor/settings- Open configuration menu/clear- Clear conversation historyCtrl+C- Exit
Configuration
Environment Variables
# Anthropic (Claude)
export ANTHROPIC_API_KEY=sk-ant-...
# OpenAI (GPT)
export OPENAI_API_KEY=sk-...
# OpenRouter
export OPENROUTER_API_KEY=sk-or-...Supported Providers
| Provider | Default Model | API Key Required | |----------|--------------|------------------| | Anthropic | claude-sonnet-4-20250514 | Yes | | OpenAI | gpt-4o | Yes | | Ollama | llama3.2 | No (local) | | OpenRouter | anthropic/claude-sonnet-4 | Yes |
Available Tools
The AI agent has access to these tools:
| Tool | Description |
|------|-------------|
| readFile | Read contents of a file |
| writeFile | Create or modify files |
| searchGlob | Find files by glob pattern |
| searchContent | Search for text in files (grep-like) |
| listDirectory | List files in a directory |
Programmatic Usage
import { createServer, createTools } from 'loop';
// Create Hono server
const app = createServer();
// Create tools for a specific workspace
const tools = createTools('/path/to/workspace');Development
# Clone the repository
git clone https://github.com/your-username/loop.git
cd loop
# Install dependencies
bun install
# Run in development mode
bun run dev
# Run tests
bun test
# Build for distribution
bun run buildArchitecture
src/
├── cli.ts # CLI entry point
├── index.tsx # Main exports
├── server/
│ ├── index.ts # Hono server setup
│ └── routes/
│ ├── chat.ts # Streaming AI endpoint
│ ├── history.ts # Conversation CRUD
│ └── config.ts # Settings API
├── ai/
│ ├── index.ts # Provider factory
│ ├── providers/ # Anthropic, OpenAI, Ollama, OpenRouter
│ └── tools/ # File system tools
├── tui/
│ ├── App.tsx # Main TUI layout
│ ├── components/ # UI components
│ └── hooks/ # React hooks
└── storage/
├── config.ts # User configuration
└── history.ts # Conversation persistenceLicense
MIT
