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
jsonfile with restricted0600permissions.
๐ 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
928c9e921a5aca2c31c351105a3f180ceb69c006fc6c46bcf3af2ceca488ad1c
|
|
| MD5 |
e4db12efb9adb6efeeed3c5fd2f214a3
|
|
| BLAKE2b-256 |
f10c65fe26948208fc981cffb7adf1acb506067b887cf407b2091b30bc871351
|
Provenance
The following attestation bundles were made for bro_cli-1.0.1.tar.gz:
Publisher:
publish.yml on PromitSarker/Bro-CLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bro_cli-1.0.1.tar.gz -
Subject digest:
928c9e921a5aca2c31c351105a3f180ceb69c006fc6c46bcf3af2ceca488ad1c - Sigstore transparency entry: 1342521519
- Sigstore integration time:
-
Permalink:
PromitSarker/Bro-CLI@ea1ca41ecb1f77c4e5fe43c7f6eb138e17390a11 -
Branch / Tag:
refs/tags/1.0.1 - Owner: https://github.com/PromitSarker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea1ca41ecb1f77c4e5fe43c7f6eb138e17390a11 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a358d1c0fbf8239ceea3354deb8c65d0199bf99a3313c66332fd8be106160fe
|
|
| MD5 |
c60b0297300c7552e540bde2007cd05a
|
|
| BLAKE2b-256 |
07fb0eabc96b6f2eb5be2e9bfb7b5d9c23a4eac78449843fba237ffa73ecc4f5
|
Provenance
The following attestation bundles were made for bro_cli-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on PromitSarker/Bro-CLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bro_cli-1.0.1-py3-none-any.whl -
Subject digest:
7a358d1c0fbf8239ceea3354deb8c65d0199bf99a3313c66332fd8be106160fe - Sigstore transparency entry: 1342521524
- Sigstore integration time:
-
Permalink:
PromitSarker/Bro-CLI@ea1ca41ecb1f77c4e5fe43c7f6eb138e17390a11 -
Branch / Tag:
refs/tags/1.0.1 - Owner: https://github.com/PromitSarker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea1ca41ecb1f77c4e5fe43c7f6eb138e17390a11 -
Trigger Event:
push
-
Statement type: