Skip to main content

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

Project description

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

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

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.

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