Skip to main content

Zenith-CLI

███████╗███████╗███╗   ██╗██╗████████╗██╗  ██╗
╚══███╔╝██╔════╝████╗  ██║██║╚══██╔══╝██║  ██║
  ███╔╝ █████╗  ██╔██╗ ██║██║   ██║   ███████║
 ███╔╝  ██╔══╝  ██║╚██╗██║██║   ██║   ██╔══██║
███████╗███████╗██║ ╚████║██║   ██║   ██║  ██║
╚══════╝╚══════╝╚═╝  ╚═══╝╚═╝   ╚═╝   ╚═╝  ╚═╝

Project Status: Active License: MIT Version Coverage: 100%

Python 3.13 Typer Rich AutoGen Python-Dateutil

A CLI-Based AI Coding Agent That Transforms Natural Language Into Efficient, Production-Ready Code.

🖼️ Images

Zenith Help

Zenith Chat

🌟 Features

Core Features

  • ⚡ 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.

Development Tooling

  • Ruff Linting: Enforces code style and identifies potential issues.
  • Pytest + Coverage: Comprehensive testing framework with 100% coverage enforcement.

🛠️ Tech Stack

  • 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

🚀 Getting Started

Prerequisites

  • Python 3.13
  • pip (Python package installer)
  • Git

1) Clone Repository

git clone https://github.com/DataRohit/zenith-cli.git
cd zenith-cli

2) Install Dependencies

pip install -e .

3) Configure Environment

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 or config.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.

4) Run Zenith-CLI

To display help:

zenith -h

To run the chat:

zenith -c <path-to-config-file> chat

⚙️ Configuration Highlights

  • zenith_openai_api_key: Your OpenAI API key.
  • zenith_openai_api_base: The base URL for the OpenAI API. Defaults to https://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.

🧪 Development

Run Linting / Type Checking / Tests Locally:

make ruff-check  # or 'make ruff-lint' to auto-fix issues
pytest -q

📄 License

This Project Is Licensed Under The MIT License — See The license File For Details.

📞 Contact

Rohit Ingole — rohti.vilas.ingole@gmail.com

Project Link: https://github.com/DataRohit/Zenith

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zenith_cli-0.1.2.tar.gz (197.3 kB view details)

Uploaded Source

Built Distribution

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

zenith_cli-0.1.2-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file zenith_cli-0.1.2.tar.gz.

File metadata

  • Download URL: zenith_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 197.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zenith_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7d3224b1ba70718f81032a050990e4578ff965fe3ef98706ae83db0f6dd28283
MD5 7ce68f424dee0a0e1927088a91594751
BLAKE2b-256 816da8960eeb1e94a60f7f29e5f2a03b2203a837dd488e8c3079b8c7abce1eff

See more details on using hashes here.

Provenance

The following attestation bundles were made for zenith_cli-0.1.2.tar.gz:

Publisher: publish.yml on DataRohit/Zenith

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zenith_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: zenith_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zenith_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c9943ea389ff84d15b69ba35a866f06d50f0899356eb4a41d5d59582f44d3bd
MD5 eabe3e98a2a00640645bfac8989a2288
BLAKE2b-256 432ceb35978f0983b9d703b60b03c97305374fb7f117ca56800b53ac86065b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for zenith_cli-0.1.2-py3-none-any.whl:

Publisher: publish.yml on DataRohit/Zenith

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page