Metadata-Version: 2.4
Name: devcli-dashboard
Version: 0.1.1
Summary: A plugin-driven developer CLI with a live Textual dashboard.
License: MIT
Keywords: cli,dashboard,plugins,textual,devops,monitoring
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.10
Requires-Dist: rich>=13.0
Requires-Dist: psutil>=5.9
Requires-Dist: python-dotenv>=1.0
Requires-Dist: textual>=0.38
Dynamic: license-file

# DevCLI

DevCLI is a plugin-driven command line toolkit with a live Textual dashboard for developers and sysadmins.

It combines system metrics, task status, and dynamic plugins into a single terminal UI, making it easy to extend with custom monitoring, git status, and tooling panels.

## Features

- Plugin-based dashboard architecture
- Live updates for system stats, git status, ping, and quotes
- Textual-powered terminal UI with left/right layout
- Easy plugin registration via `register(tui_app)` hooks
- CLI entrypoint via `devcli`

## Installation

Install from PyPI once published:

```bash
pip install devcli
```

For local development:

```bash
python3 -m pip install -e .
```

## Usage

Run the dashboard from the repository or installed package:

```bash
python3 -m devcli.main start
```

or if the package is installed:

```bash
devcli start
```

## Plugin System

The dashboard is built around plugins located in `devcli/plugins/`.

Each plugin should expose a `register(tui_app)` function that appends a widget to `tui_app.tui_panels`.

Example plugin characteristics:

- `cpu_temp.py` — CPU temperature and frequency
- `git_status.py` — current git repo status
- `ping_monitor.py` — ping latency reporting
- `fun_quotes.py` — rotating motivational quotes

### Creating a plugin

1. Add a new file under `devcli/plugins/`.
2. Define a `Static`-based widget.
3. Implement `register(tui_app)` and append the widget to `tui_app.tui_panels`.

## Notes

- Requires Python 3.11+
- Depends on `textual` for the TUI
- `python-dotenv` is included for environment configuration support

## Contribution

Contributions are welcome. Add new plugins, improve dashboard styling, or extend the CLI commands.
