Skip to main content

CLI coding agent powered by Pollinations.ai

Project description

Bloom CLI

PyPI Version Python Version CI Status License

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, and ask_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

  1. Install Bloom (see above).

  2. Get a Pollinations API key from enter.pollinations.ai.

  3. Run setup once:

    bloom --setup
    
  4. 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: newline
  • Ctrl+G: open external editor
  • Ctrl+O: toggle tool output
  • Shift+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, and re: 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:

  1. ./.bloom/config.toml (when available and trusted)
  2. ~/.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bloom_cli-0.1.2.tar.gz (388.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bloom_cli-0.1.2-py3-none-any.whl (228.0 kB view details)

Uploaded Python 3

File details

Details for the file bloom_cli-0.1.2.tar.gz.

File metadata

  • Download URL: bloom_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 388.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bloom_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 81fa02fb2670df8c860f0c7018b4b40d7e2ee36b4123322ddf735f5338bf9b5f
MD5 9b07ed3da36b148681f618c262832188
BLAKE2b-256 983968fe111295098f0750a3d460c2dea6ef791d4606154a7e8dfff3239b4e1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bloom_cli-0.1.2.tar.gz:

Publisher: release.yml on Ilm-Alan/bloom-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bloom_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: bloom_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 228.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bloom_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 730287bbe9aafa70a697841aa5d56d62fcb565cd258e781972873a49bd0fafb7
MD5 1ae033b95c2b6e1d8fe138c8b8cf34ab
BLAKE2b-256 7c21175f8d92a4c32ec073b2c1513a1cba9be615603f55839dfcb23ed7202723

See more details on using hashes here.

Provenance

The following attestation bundles were made for bloom_cli-0.1.2-py3-none-any.whl:

Publisher: release.yml on Ilm-Alan/bloom-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page