Metadata-Version: 2.4
Name: ignite-ember
Version: 0.3.2
Summary: Terminal-based AI coding assistant built on Agno
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: agno[ddg,mcp,openai,sqlite]~=2.5
Requires-Dist: aiofiles>=24.1
Requires-Dist: aiosqlite~=0.22
Requires-Dist: arxiv>=2.1
Requires-Dist: beautifulsoup4>=4.12
Requires-Dist: chromadb>=1.5.5
Requires-Dist: click~=8.3
Requires-Dist: dateparser>=1.4.0
Requires-Dist: google-genai~=1.67
Requires-Dist: greenlet~=3.3
Requires-Dist: httpx~=0.28
Requires-Dist: openpyxl>=3.1
Requires-Dist: pydantic~=2.12
Requires-Dist: pypdf>=5.0
Requires-Dist: python-docx>=1.1
Requires-Dist: python-pptx>=1.0
Requires-Dist: pyyaml~=6.0
Requires-Dist: rich~=14.3
Requires-Dist: ripgrep>=15.0.0
Requires-Dist: sentence-transformers>=5.3.0
Requires-Dist: textual~=8.1
Requires-Dist: tiktoken>=0.12.0
Requires-Dist: tokenizers>=0.22.2
Requires-Dist: wikipedia>=1.4
Requires-Dist: youtube-transcript-api>=1.0
Provides-Extra: dev
Requires-Dist: mypy~=1.19; extra == 'dev'
Requires-Dist: pytest-asyncio~=1.3; extra == 'dev'
Requires-Dist: pytest~=9.0; extra == 'dev'
Requires-Dist: ruff~=0.15; extra == 'dev'
Provides-Extra: gemini
Requires-Dist: google-genai~=1.67; extra == 'gemini'
Provides-Extra: knowledge
Requires-Dist: chromadb~=1.5; extra == 'knowledge'
Provides-Extra: mcp
Requires-Dist: mcp~=1.26; extra == 'mcp'
Provides-Extra: web
Requires-Dist: duckduckgo-search~=8.1; extra == 'web'
Description-Content-Type: text/markdown

# Ember Code

**One spark ignites a team.** An AI coding assistant built with [Agno](https://github.com/agno-agi/agno) orchestration.

[ignite-ember.sh](https://ignite-ember.sh)

Inspired by [Claude Code](https://github.com/anthropics/claude-code), Ember Code is a terminal-based coding agent that assembles specialized AI teams on the fly. Describe your task — the Orchestrator picks the right agents, the right team mode, and runs them.

## Why Ember Code?

Claude Code uses a single agent loop — powerful but monolithic. Ember Code takes a different approach: **dynamic multi-agent orchestration**. Instead of one agent doing everything, Agno's team system decomposes tasks, routes them to specialized agents, and synthesizes results — all automatically.

| Feature | Claude Code | Ember Code |
|---|---|---|
| Architecture | Single agent loop | Multi-agent teams (Agno) |
| Task routing | Manual sub-agent spawning | Automatic via Coordinate/Route modes |
| Code intelligence | Grep + file reads | CodeIndex semantic search (included free) |
| Knowledge base | None | ChromaDB vector store with custom embeddings |
| Planning | Plan mode (read-only) | Agno reasoning + Tasks mode |
| IDE integration | MCP server (stdio) | MCP server + client (Agno MCPTools) |
| Extensibility | Plugins, hooks, MCP | Agents + hooks + toolkits + MCP |
| Agent evals | Not built-in | Built-in regression testing framework |
| Memory | File-based MEMORY.md | Agno Memory + DB-backed storage |
| Learning | None | Agno LearningMachine (user profiles, entity memory) |
| Guardrails | None | PII detection, prompt injection, moderation |
| HITL | Implicit | Explicit confirmation/input requirements |
| Default model | Anthropic Claude | MiniMax M2.7 (model-agnostic, swappable) |

## Quick Start

```bash
brew install ignite-ember/tap/ignite-ember  # or: pip install ignite-ember
ignite-ember /login              # sign up for hosted models (MiniMax M2.7)
ignite-ember                     # start coding
```

Or bring your own model (OpenAI, Anthropic, Groq, Ollama, etc.):

```bash
export OPENAI_API_KEY=sk-...
```

```yaml
# .ember/config.yaml
models:
  default: gpt-4o
  registry:
    gpt-4o:
      provider: openai_like
      model_id: gpt-4o
      url: https://api.openai.com/v1
      api_key: sk-...              # direct key in config
      # api_key_env: OPENAI_API_KEY  # or from env var
      # api_key_cmd: "op read ..."   # or from shell command
```

See [Quickstart](QUICKSTART.md) for the full setup guide.

## TUI Mode

`ignite-ember` launches the Textual-based terminal UI by default. The backend runs as a separate process, connected via Unix socket.

Features: streaming responses, agent tree visualization, token tracking, session picker, keyboard shortcuts, HITL confirmation dialogs.

## IDE Integration

Ember Code integrates with IDEs via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/):

```json
{
  "mcpServers": {
    "ignite-ember": {
      "type": "stdio",
      "command": "ignite-ember",
      "args": ["mcp", "serve"]
    }
  }
}
```

Works with **VS Code**, **JetBrains** (IntelliJ, PyCharm, etc.), **Cursor**, and **Windsurf**. See [MCP docs](docs/MCP.md) for details.

## Key Features

### Knowledge Base

Built-in vector knowledge base powered by ChromaDB and the Ember embeddings API:

```yaml
knowledge:
  enabled: true
  collection_name: "my_project"
  embedder: "local"             # local SentenceTransformer (or "ember" for cloud)
```

Add content via slash commands: `/knowledge add <url|path|text>`, search with `/knowledge search <query>`. Agents can search the knowledge base automatically during execution.

### Learning & Reasoning

- **Learning** — Agno LearningMachine builds user profiles, entity memory, and session context across conversations
- **Reasoning tools** — `think` and `analyze` tools for step-by-step reasoning during complex tasks

### Guardrails

Built-in safety guardrails via Agno's pre-hook system:

```yaml
guardrails:
  pii_detection: true          # detect and flag PII in prompts
  prompt_injection: true       # detect injection attempts
  moderation: true             # OpenAI moderation API
```

### Human-in-the-Loop (HITL)

Agents can pause execution to request confirmation or user input before proceeding with sensitive operations. The TUI shows interactive approval dialogs.

## Documentation

- **[Quickstart](QUICKSTART.md)** — Get up and running in under 5 minutes
- [Architecture](docs/ARCHITECTURE.md) — System design and agent topology
- [Agents](docs/AGENTS.md) — Specialized agents and their roles
- [Skills](docs/SKILLS.md) — Reusable prompted workflows (`/deploy`, `/review-pr`, etc.)
- [Onboarding](docs/ONBOARDING.md) — First-run setup, CodeIndex, and agent proposals
- [Tools](docs/TOOLS.md) — Available toolkits and capabilities
- [MCP](docs/MCP.md) — IDE integration via Model Context Protocol
- [Configuration](docs/CONFIGURATION.md) — Settings, permissions, and customization
- [CodeIndex](docs/CODEINDEX.md) — Semantic code intelligence engine
- [Evals](docs/EVALS.md) — Agent evaluation framework and regression testing
- [Hooks](docs/HOOKS.md) — Pre/post tool execution hooks
- [Migration](docs/MIGRATION.md) — Coming from Claude Code or Codex
- [Security](docs/SECURITY.md) — Threat model, permissions, and enterprise hardening
- [Development](docs/DEVELOPMENT.md) — Contributing and extending Ember Code

## License

MIT
