Metadata-Version: 2.4
Name: eden-cli
Version: 1.0.0
Summary: Open-source AI coding and research agent framework
Project-URL: Homepage, https://github.com/eden-cli/eden
Project-URL: Repository, https://github.com/eden-cli/eden
Project-URL: Documentation, https://eden-cli.github.io
Project-URL: Issues, https://github.com/eden-cli/eden/issues
Project-URL: Changelog, https://github.com/eden-cli/eden/releases
Author: Eden Contributors
Maintainer: Eden Contributors
License-Expression: MIT
License-File: LICENSE
Keywords: ai,cli,coding-agent,developer-tools,research-agent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: pathspec>=0.12.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.5.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Provides-Extra: parsers
Requires-Dist: tree-sitter-go>=0.23.0; extra == 'parsers'
Requires-Dist: tree-sitter-javascript>=0.23.0; extra == 'parsers'
Requires-Dist: tree-sitter-python>=0.23.0; extra == 'parsers'
Requires-Dist: tree-sitter-rust>=0.23.0; extra == 'parsers'
Requires-Dist: tree-sitter-typescript>=0.23.0; extra == 'parsers'
Requires-Dist: tree-sitter>=0.23.0; extra == 'parsers'
Description-Content-Type: text/markdown

# Eden CLI

[![CI](https://github.com/eden-cli/eden/actions/workflows/ci.yml/badge.svg)](https://github.com/eden-cli/eden/actions/workflows/ci.yml)
[![PyPI version](https://img.shields.io/pypi/v/eden-cli.svg)](https://pypi.org/project/eden-cli/)
[![Python versions](https://img.shields.io/pypi/pyversions/eden-cli.svg)](https://pypi.org/project/eden-cli/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: Ruff](https://img.shields.io/badge/code%20style-Ruff-000000.svg)](https://github.com/astral-sh/ruff)

Eden CLI is an open-source AI coding and research agent framework. It provides
workspace intelligence, multi-model consensus planning, code analysis, research
tools, and interactive shell capabilities — all from your terminal.

## Features

- **Workspace Intelligence** — Auto-detect project types (Python, Dart, JS/TS, Rust, Go), parse code structure, build symbol indexes and dependency graphs
- **Multi-Model Consensus** — Query multiple local LLMs (via Ollama) and find agreement across models for more reliable answers
- **Planning Engine** — Analyze intent, decompose tasks, generate patches, and review code changes
- **Research Tools** — Search web, docs, GitHub, packages (PyPI/npm), and Q&A sites from the CLI
- **Interactive Shell** — Rich REPL with theme support, command history, slash commands
- **Model Management** — 9 built-in models with easy switching
- **Profiles & Themes** — Named profiles, 5 built-in color themes
- **Secure Credential Storage** — Providers and API keys encrypted with PBKDF2 + HMAC
- **Offline Mode** — Graceful fallback when no network is available
- **Plugin System** — Extend with custom commands and tools

## Installation

### Recommended: install with pipx

```bash
pipx install eden-cli
```

### Or with uv

```bash
uv tool install eden-cli
```

### Optional: tree-sitter parsers

For improved code analysis accuracy, install the parser extras:

```bash
pipx install eden-cli[parsers]
# or
uv tool install eden-cli --with eden-cli[parsers]
```

### Verify installation

```bash
eden version
```

You should see output like:

```
Eden CLI v1.0.0
  Build:    2025-07-05T12:00:00Z
  Python:   3.12.5
  Platform: Linux-6.8.0-x86_64-with-glibc2.39
```

## Quick Start

### Run eden in a project directory

Navigate to a project and run `eden`. It will auto-detect the project type:

```bash
cd my-python-project
eden
```

### Doctor — check your setup

```bash
eden doctor
```

### Config — view and set configuration

```bash
eden config show
eden config set app.debug true
```

### Chat — interactive shell

```bash
eden chat
```

### Research — search from the CLI

```bash
eden research search "python async patterns"
eden research docs "fastapi middleware"
eden research github "click cli library"
eden research package "rich"
eden research qa "how to use pytest fixtures"
eden research compare "fastapi flask starlette"
```

### Consensus — multi-model agreement

```bash
eden consensus solve "Write a Python function to merge two sorted lists"
eden consensus models
```

### Plan — generate implementation plans

```bash
eden plan create "Add rate limiting to the API"
eden plan analyze "Refactor the database layer"
```

### Model management

```bash
eden model list
eden model switch qwen2.5-coder:7b
```

### Profile management

```bash
eden profile list
eden profile create work
eden profile switch work
```

### Theme management

```bash
eden theme list
eden theme switch nord
```

### Provider & credentials

```bash
eden provider
eden login
eden login openrouter --key sk-or-v1-...
eden provider remove groq
```

### System info

```bash
eden info
eden version
```

## Development

### Setup

```bash
git clone https://github.com/eden-cli/eden.git
cd eden
uv venv
uv pip install -e ".[dev,parsers]"
```

### Run tests

```bash
pytest tests/
```

### Run linter

```bash
ruff check eden/
ruff format --check eden/
mypy eden/
```

### Build package

```bash
python -m build
twine check dist/*
```

## Project Structure

```
eden/
├── __init__.py           # Package exports, version
├── _version.py           # Version management
├── app.py                # Eden context bootstrap
├── cli/                  # CLI layer (Typer)
│   ├── main.py           # Root Typer app
│   ├── commands/         # Sub-command implementations
│   └── ui/               # Terminal UI helpers
├── config/               # Configuration (YAML + env vars)
├── consensus/            # Multi-model consensus engine
├── core/                 # DI container, events, lifecycle
├── credentials/          # Encrypted credential storage
├── intelligence/         # Code scanning, parsing, indexing, queries
├── logging/              # Logging setup
├── memory/               # Session and repository memory
├── models/               # Model manager
├── modes/                # Operation modes (research, review)
├── offline/              # Offline detection
├── onboarding/           # First-run wizard
├── planning/             # Intent analysis, task decomposition, patching
├── plugins/              # Plugin system
├── profiles/             # Named profiles
├── providers/            # AI provider registry
├── research/             # Research engine (web, GitHub, docs, packages)
├── shell/                # Interactive REPL
├── telemetry/            # Telemetry manager
├── themes/               # Theme system
├── tools/                # Tool framework
└── workspace/            # Workspace detection and session management
```

## Upgrading

```bash
pipx upgrade eden-cli
# or
uv tool upgrade eden-cli
```

## Uninstalling

```bash
pipx uninstall eden-cli
# or
uv tool uninstall eden-cli
```

## License

MIT
