Clemini is a Gemini-powered coding CLI built with genai-rs. It's designed to be self-improving - we use clemini to build clemini.
- Interactive REPL: Terminal-based conversation with streaming output
- Single Prompt Mode: Run one-off commands with
-p "your prompt" - MCP Server: Expose clemini as an MCP tool for Claude Code (
--mcp-server) - Tool Integration: Built-in tools for file operations, bash execution, searching, and more
- Self-Improving: Optimized for working on its own codebase
- Rust toolchain (2024 edition, requires Rust 1.88+)
GEMINI_API_KEYenvironment variable set with a valid Google Gemini API key
cargo install --path .Start the interactive REPL:
cleminiRun a single prompt:
clemini -p "summarize the current directory"Start as MCP server (for Claude Code integration):
clemini --mcp-server/h,/help- Show available commands/c,/clear- Clear conversation history/q,/quit,/exit- Exit the REPL/m,/model- Show model name/pwd,/cwd- Show current working directory! <command>- Run shell command directly (e.g.,!git status)
make check # Fast type checking
make build # Debug build
make release # Release build
make test # Run tests
make clippy # Lint with warnings as errors
make fmt # Format code
make logs # Tail human-readable logsGEMINI_API_KEY: Required for API accessLOUD_WIRE=1: Log all HTTP requests and responses for debugging
Optional config file at ~/.clemini/config.toml:
model = "gemini-3-flash-preview"
bash_timeout = 120
allowed_paths = ["~/Documents/projects", "/tmp"]model: Gemini model to use (default:gemini-3-flash-preview)bash_timeout: Timeout in seconds for bash commands (default: 120)allowed_paths: Additional paths tools can access beyond cwd (default: none)
Logs are stored in ~/.clemini/logs/ with daily rotation.