███████╗███████╗███╗ ██╗██╗████████╗██╗ ██╗ ╚══███╔╝██╔════╝████╗ ██║██║╚══██╔══╝██║ ██║ ███╔╝ █████╗ ██╔██╗ ██║██║ ██║ ███████║ ███╔╝ ██╔══╝ ██║╚██╗██║██║ ██║ ██╔══██║ ███████╗███████╗██║ ╚████║██║ ██║ ██║ ██║ ╚══════╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝ ╚═╝
A CLI-Based AI Coding Agent That Transforms Natural Language Into Efficient, Production-Ready Code.
- ⚡ AI-Powered Code Generation: Transform natural language instructions into high-quality, production-ready code.
- 🗣️ Interactive Chat Interface: Engage with Zenith-CLI through a rich, console-based chat experience.
- 🔧 Extensible Toolset: Utilizes a suite of file system tools (list, read, write, search, make directory, replace content) to interact with the codebase.
- ⚙️ Flexible Configuration: Easily configure OpenAI API keys, base URLs, and models via JSON or ENV files.
- 🚀 Streaming Responses: Provides real-time feedback from the AI agent through streaming.
- 🛡️ Robust Error Handling: Gracefully handles API errors (timeout, bad requests, not found) and file system issues.
- Ruff Linting: Enforces code style and identifies potential issues.
- Pytest + Coverage: Comprehensive testing framework with 100% coverage enforcement.
- Core: Python 3.13
- CLI Framework: Typer 0.17.4
- Rich Output: Rich-cli 1.8.1
- AI Agent Framework: Autogen-agentchat 0.7.4, Autogen-ext 0.7.4
- Date/Time Utilities: Python-Dateutil 2.9.0
- Environment Variables: Python-Dotenv 1.1.1
- AI API: OpenAI API
- Python 3.13
pip
(Python package installer)- Git
git clone https://github.com/DataRohit/zenith-cli.git
cd zenith-cli
pip install -e .
Create a .zenith-cli/config.json
or .zenith-cli/.config.env
file in your project root.
Example using .zenith-cli/config.json
:
{
"zenith_openai_api_key": "YOUR_OPENAI_API_KEY",
"zenith_openai_api_base": "https://api.openai.com/v1",
"zenith_model": "gpt-4"
}
Example using .zenith-cli/.config.env
:
ZENITH_OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
ZENITH_OPENAI_API_BASE="https://api.openai.com/v1"
ZENITH_MODEL="gpt-4"
Notes:
- Keep secrets in
.env
orconfig.json
files; do not commit them to version control. - If both
config.json
and.config.env
exist in the.zenith-cli
directory, the application will raise an error.
To display help:
zenith -h
To run the chat:
zenith -c <path-to-config-file> chat
zenith_openai_api_key
: Your OpenAI API key.zenith_openai_api_base
: The base URL for the OpenAI API. Defaults tohttps://api.openai.com/v1
.zenith_model
: The specific model to be used (e.g.,gpt-4
,gpt-3.5-turbo
).zenith_assistant_description
: A detailed description of the AI agent's capabilities.zenith_assistant_system_message
: The system-level instructions provided to the AI agent to guide its behavior.
These configurations are loaded via zenith.utils.config_loader
and can be provided through a .json
or .env
file.
Run Linting / Type Checking / Tests Locally:
make ruff-check # or 'make ruff-lint' to auto-fix issues
pytest -q
This Project Is Licensed Under The MIT License — See The license
File For Details.
Rohit Ingole — rohti.vilas.ingole@gmail.com
Project Link: https://github.com/DataRohit/Zenith