Skip to main content

Linux terminal Gemini client with secure local API key config

Project description

๐Ÿ•ถ๏ธ Bro-CLI: The Agentic Terminal Bro

Bro-CLI isn't just another LLM wrapperโ€”it's an agentic terminal assistant that actually does things. Built for developers who want a smart buddy in their Linux environment to help find files, initialize repos, fix bugs, and automate the mundane.


๐Ÿ”ฅ Key Features

  • ๐Ÿง  Agentic & Stateful: Doesn't just talk; it proposes and executes terminal commands.
  • ๐Ÿ’พ Local Memory: Remembers past successes and lessons in a local SQLite database.
  • ๐Ÿ”’ Security First: Masked API key entry and automatic suppression of permission-denied noise.
  • ๐Ÿš€ Multi-Provider: Switch between Google Gemini (Flash 2.5/3.0) and Groq Cloud (Llama 3.3) on the fly.
  • ๐Ÿ“‚ Clean Architecture: Modular, professionally structured codebase that's easy to hack on.

๐Ÿ› ๏ธ Project Structure

For developers looking to contribute or customize, here is the "Bro" blueprint:

bro_cli/
โ”œโ”€โ”€ main.py            # Clean CLI entry point & command routing
โ”œโ”€โ”€ config.py          # Secure local configuration management
โ”œโ”€โ”€ engine/            # ๐Ÿง  The Brains
โ”‚   โ”œโ”€โ”€ manager.py     # Task orchestrator
โ”‚   โ”œโ”€โ”€ planner.py     # Hierarchical step decomposition
โ”‚   โ”œโ”€โ”€ worker.py      # Command execution loop
โ”‚   โ”œโ”€โ”€ reflection.py  # Post-task analysis & learning
โ”‚   โ””โ”€โ”€ memory.py      # Local SQLite Knowledge Base
โ”œโ”€โ”€ providers/         # ๐Ÿค– AI Backends
โ”‚   โ”œโ”€โ”€ base.py        # Standardized client interface
โ”‚   โ”œโ”€โ”€ gemini.py      # Google GenAI implementation
โ”‚   โ””โ”€โ”€ groq.py        # Groq Cloud implementation
โ”œโ”€โ”€ ui/                # ๐ŸŽจ Aesthetics
โ”‚   โ””โ”€โ”€ terminal.py    # Custom cyberpunk theme & Rich panels
โ””โ”€โ”€ utils/             # ๐Ÿ”ง Toolbox
    โ””โ”€โ”€ shell.py       # Safe subprocess execution & CWD tracking

โšก Quick Start

1. Installation

pip install -e .

2. Configuration

bro config

Choose your favorite provider and securely paste your API keys.

3. Usage

# Direct task execution
bro "Find my Laboratory folder and check for any .py files"

# Interactive mode
bro

# Use a specific provider
bro -p groq "Explain the current directory structure"

๐Ÿ›ก๏ธ Privacy & Security

  • No Remote Telemetry: Your commands and data never leave your machine except for the specific truncated context sent to your chosen AI provider.
  • Full Control: Every command is proposed with a [y/n] confirmation. You are always the boss.
  • Secure Storage: API keys are stored in a json file with restricted 0600 permissions.

๐Ÿ“œ License

MIT - Feel free to fork, hack, and make it your own. Stay agentic! ๐Ÿ›ก๏ธ

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

bro_cli-1.0.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

bro_cli-1.0.0-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file bro_cli-1.0.0.tar.gz.

File metadata

  • Download URL: bro_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bro_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ccc1e3e7ca5e92cea87bdef5fc572e94ff28d307ab26fc45f6833dac8c744241
MD5 cc07493972193d7f9096f5f52b0355c9
BLAKE2b-256 ae9fb39d81b1e401b268d1a2bf2abfcd5e8a3d90473638b764cccf10ecd2391e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bro_cli-1.0.0.tar.gz:

Publisher: publish.yml on PromitSarker/Bro-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 bro_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bro_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bro_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 502c3449b755319f59749457d6540f7d8cd152902ba3df8640f166cc7a0c015e
MD5 bc9e2dde75150db1bb62b0a2372c07f9
BLAKE2b-256 f1286863ab5761580b70db996118e1fa27d04eeb38a1116f6aaf9b4a6574f530

See more details on using hashes here.

Provenance

The following attestation bundles were made for bro_cli-1.0.0-py3-none-any.whl:

Publisher: publish.yml on PromitSarker/Bro-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