CLI coding agent powered by Pollinations.ai
Project description
Bloom CLI
Open-source CLI coding agent powered by Pollinations.ai.
Bloom defaults to glm and provides a conversational workflow for exploring, editing, and shipping code.
[!WARNING] Bloom works best in modern UNIX-style terminals (macOS/Linux, WSL, or equivalent shell environments).
One-line install (recommended)
curl -LsSf https://raw.githubusercontent.com/Ilm-Alan/bloom-cli/main/scripts/install.sh | bash
Using uv
uv tool install bloom-cli
Table of Contents
Features
- Interactive chat for code tasks with planning, edits, and command execution in one loop.
- Built-in toolset including
bash,read_file,write_file,search_replace,grep,ls,todo,task, andask_user_question. - Project-aware behavior that picks up repository context and supports project-level instructions.
- Safety controls with tool approvals by default and explicit auto-approve mode.
- Configurable platform via TOML configuration, custom tools, custom agents, custom prompts, and MCP servers.
Built-in Agents
Bloom includes multiple built-in agent profiles:
default: standard agent requiring approval for tool executions.plan: read-only planning/exploration profile with safe auto-approved tools.accept-edits: auto-approves file edits only (write_file,search_replace).auto-approve: auto-approves all tool executions (use carefully).
Select an agent with:
bloom --agent plan
Subagents and Task Delegation
Bloom supports delegated tasks through the task tool.
It includes an explore subagent for read-only codebase exploration, and supports custom subagents from your agents directory.
Quick Start
-
Install Bloom (see above).
-
Get a Pollinations API key from enter.pollinations.ai.
-
Run setup once:
bloom --setup -
Start the interactive agent:
bloom
Usage
Interactive Mode
Run Bloom interactively:
bloom
Useful patterns:
-
Start with an initial prompt:
bloom "Refactor authentication flow in auth.py"
-
Continue the latest session:
bloom --continue -
Resume a specific session:
bloom --resume abc123
-
Run in a specific directory:
bloom --workdir /path/to/project
Interactive shortcuts include:
Ctrl+J/Shift+Enter: newlineCtrl+G: open external editorCtrl+O: toggle tool outputShift+Tab: toggle auto-approve!<command>: run shell command directly@path/to/file: file path autocomplete
Trust Folder System
Bloom may ask whether to trust a folder before proceeding when project indicators are present (for example .bloom/, BLOOM.md, or .bloom.md).
Trust choices are saved in ~/.bloom/trusted_folders.toml.
Programmatic Mode
Use --prompt (-p) for non-interactive runs:
bloom --prompt "Summarize all TODOs in this repo"
Programmatic mode options:
--max-turns N--max-price DOLLARS--enabled-tools TOOL(repeatable; supports exact, glob, andre:patterns)--output text|json|streaming--model <name>
Slash Commands
Built-in slash commands:
/help/config(alias:/model)/reload/clear/log/compact/status/terminal-setup/exit
Configuration
Bloom reads configuration from:
./.bloom/config.toml(when available and trusted)~/.bloom/config.toml(global fallback)
Default model/provider setup:
active_model = "glm"
[[providers]]
name = "pollinations"
api_base = "https://gen.pollinations.ai/v1"
api_key_env_var = "POLLINATIONS_API_KEY"
[[models]]
name = "glm"
provider = "pollinations"
alias = "glm"
description = "Z.ai GLM-5 - 744B MoE, Long Context Reasoning & Agentic Workflows"
API key options:
-
bloom --setup(recommended) -
export in shell:
export POLLINATIONS_API_KEY="your_key_here"
-
set in
~/.bloom/.env:POLLINATIONS_API_KEY=your_key_here
Useful extension paths:
~/.bloom/agents/and.bloom/agents/~/.bloom/skills/and.bloom/skills/~/.bloom/tools/and.bloom/tools/~/.bloom/prompts/and.bloom/prompts/
Override the global Bloom home directory with:
export BLOOM_HOME="/path/to/custom/bloom/home"
Editors/IDEs
Bloom includes ACP support through bloom-acp.
See docs/acp-setup.md for JetBrains and Neovim setup instructions.
Resources
License
Apache-2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bloom_cli-0.1.1.tar.gz.
File metadata
- Download URL: bloom_cli-0.1.1.tar.gz
- Upload date:
- Size: 390.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8346e4bbd83db15e13f585c3638141cda08fb4618c99ea1babe678bd7ab32348
|
|
| MD5 |
5428c5b5b3bd793a266cc0bd338cc4b9
|
|
| BLAKE2b-256 |
6a87b9e082abcc2e63e70217e05ecc33b1936230973911a6bf16c86cd8685bea
|
Provenance
The following attestation bundles were made for bloom_cli-0.1.1.tar.gz:
Publisher:
release.yml on Ilm-Alan/bloom-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bloom_cli-0.1.1.tar.gz -
Subject digest:
8346e4bbd83db15e13f585c3638141cda08fb4618c99ea1babe678bd7ab32348 - Sigstore transparency entry: 955441059
- Sigstore integration time:
-
Permalink:
Ilm-Alan/bloom-cli@2e3bf727995f46ee285f43e1275745125ea50523 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Ilm-Alan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2e3bf727995f46ee285f43e1275745125ea50523 -
Trigger Event:
release
-
Statement type:
File details
Details for the file bloom_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: bloom_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 227.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a06d4e4ae42ff7533d27e26f5fda86d617a8d38a22c422f2e1d71485f3fe4d74
|
|
| MD5 |
02a1f61b8928fcc5804154d9aa9e6aaa
|
|
| BLAKE2b-256 |
fb6dd57b5ce111cc417f484abf90785a92514717eb28de470525a86dd405cb02
|
Provenance
The following attestation bundles were made for bloom_cli-0.1.1-py3-none-any.whl:
Publisher:
release.yml on Ilm-Alan/bloom-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bloom_cli-0.1.1-py3-none-any.whl -
Subject digest:
a06d4e4ae42ff7533d27e26f5fda86d617a8d38a22c422f2e1d71485f3fe4d74 - Sigstore transparency entry: 955441088
- Sigstore integration time:
-
Permalink:
Ilm-Alan/bloom-cli@2e3bf727995f46ee285f43e1275745125ea50523 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Ilm-Alan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2e3bf727995f46ee285f43e1275745125ea50523 -
Trigger Event:
release
-
Statement type: