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.1.tar.gz (390.6 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.1-py3-none-any.whl (227.9 kB view details)

Uploaded Python 3

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

Hashes for bloom_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8346e4bbd83db15e13f585c3638141cda08fb4618c99ea1babe678bd7ab32348
MD5 5428c5b5b3bd793a266cc0bd338cc4b9
BLAKE2b-256 6a87b9e082abcc2e63e70217e05ecc33b1936230973911a6bf16c86cd8685bea

See more details on using hashes here.

Provenance

The following attestation bundles were made for bloom_cli-0.1.1.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.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

Hashes for bloom_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a06d4e4ae42ff7533d27e26f5fda86d617a8d38a22c422f2e1d71485f3fe4d74
MD5 02a1f61b8928fcc5804154d9aa9e6aaa
BLAKE2b-256 fb6dd57b5ce111cc417f484abf90785a92514717eb28de470525a86dd405cb02

See more details on using hashes here.

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

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