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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bro_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 20.3 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.1.tar.gz
Algorithm Hash digest
SHA256 928c9e921a5aca2c31c351105a3f180ceb69c006fc6c46bcf3af2ceca488ad1c
MD5 e4db12efb9adb6efeeed3c5fd2f214a3
BLAKE2b-256 f10c65fe26948208fc981cffb7adf1acb506067b887cf407b2091b30bc871351

See more details on using hashes here.

Provenance

The following attestation bundles were made for bro_cli-1.0.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: bro_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 22.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a358d1c0fbf8239ceea3354deb8c65d0199bf99a3313c66332fd8be106160fe
MD5 c60b0297300c7552e540bde2007cd05a
BLAKE2b-256 07fb0eabc96b6f2eb5be2e9bfb7b5d9c23a4eac78449843fba237ffa73ecc4f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for bro_cli-1.0.1-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