Metadata-Version: 2.4
Name: bloom-cli
Version: 0.1.0
Summary: CLI coding agent powered by Pollinations.ai
Project-URL: Homepage, https://github.com/Ilm-Alan/bloom
Project-URL: Repository, https://github.com/Ilm-Alan/bloom
Project-URL: Issues, https://github.com/Ilm-Alan/bloom/issues
Author: Ilm-Alan
License: Apache-2.0
License-File: LICENSE
Keywords: ai,cli,coding-assistant,developer-tools,glm,llm,pollinations
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.12
Requires-Dist: agent-client-protocol==0.8.0
Requires-Dist: anyio>=4.12.0
Requires-Dist: cryptography>=44.0.0
Requires-Dist: gitpython>=3.1.46
Requires-Dist: giturlparse>=0.14.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: keyring>=25.6.0
Requires-Dist: mcp>=1.14.0
Requires-Dist: packaging>=24.1
Requires-Dist: pexpect>=4.9.0
Requires-Dist: pydantic-settings>=2.12.0
Requires-Dist: pydantic>=2.12.4
Requires-Dist: pyperclip>=1.11.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: rich>=14.0.0
Requires-Dist: textual-speedups>=0.2.1
Requires-Dist: textual>=1.0.0
Requires-Dist: tomli-w>=1.2.0
Requires-Dist: tree-sitter-bash>=0.25.1
Requires-Dist: tree-sitter>=0.25.2
Requires-Dist: watchfiles>=1.1.1
Requires-Dist: zstandard>=0.25.0
Description-Content-Type: text/markdown

# Bloom

CLI coding agent powered by [Pollinations.ai](https://pollinations.ai). Uses GLM-5 by default, with access to 25+ models through the Pollinations API.

## Install

```bash
# With uv (recommended)
uv tool install bloom-cli

# With pip
pip install bloom-cli
```

## Setup

1. Get an API key from [enter.pollinations.ai](https://enter.pollinations.ai)
2. Run `bloom --setup` or set the environment variable:

```bash
export POLLINATIONS_API_KEY=sk_your_key_here
```

## Usage

```bash
# Interactive mode
bloom

# With an initial prompt
bloom "fix the authentication bug in login.py"

# Programmatic mode (auto-approve, output, exit)
bloom -p "add type hints to utils.py"

# Use a specific model
bloom --model deepseek "refactor this function"

# Continue last session
bloom --continue
```

In interactive mode, press `Shift+Tab` to toggle auto-approve for all tool executions.

## Available Models

Models are fetched dynamically from the Pollinations API. Only models with tool-calling support are available for agentic use. Common choices:

| Model | Alias | Reasoning | Notes |
|-------|-------|-----------|-------|
| GLM-5 | `glm-5` | Yes | Default. 744B MoE, strong coding |
| DeepSeek V3.2 | `deepseek` | Yes | Fast, good at code |
| Qwen3 Coder 30B | `qwen-coder` | No | Lightweight coding model |
| Mistral Small 3.2 | `mistral` | No | General purpose, via Pollinations |

Switch models with `/config` in the TUI or `bloom --model <name>`.

## Configuration

Config lives at `~/.bloom/config.toml`:

```toml
active_model = "glm-5"

[[providers]]
name = "pollinations"
api_base = "https://gen.pollinations.ai/v1"
api_key_env_var = "POLLINATIONS_API_KEY"

[[models]]
name = "glm"
provider = "pollinations"
alias = "glm-5"
```

## Tools

Bloom has a full set of agentic tools:

- `bash` - Execute shell commands
- `read_file` / `write_file` - Read and write files
- `search_replace` - Edit files with search and replace
- `grep` - Search file contents
- `ls` - List directory contents
- `task` - Spawn sub-agents for complex tasks
- MCP server support for extensibility

## Project Files

Bloom recognizes per-project configuration:

- `BLOOM.md` or `.bloom.md` - Project-specific instructions (like CLAUDE.md)
- `.bloom/config.toml` - Project-specific config overrides
- `.bloom/tools/` - Custom tool definitions
- `.bloom/agents/` - Custom agent profiles

## License

Apache 2.0. See [LICENSE](LICENSE).
