110 lines
3.0 KiB
Markdown
110 lines
3.0 KiB
Markdown
# DevDash CLI
|
|
|
|
A terminal-based developer dashboard providing real-time visibility into git status, CI/CD pipelines, open PRs, and assigned issues. Built with Python and Textual for a modern, responsive TUI experience.
|
|
|
|
## Features
|
|
|
|
- **Git Repository Status** - Display current branch, commit hash, uncommitted changes summary, and remote sync status
|
|
- **CI/CD Pipeline Monitoring** - Show running workflows, their status (pending/running/success/failure), duration, and recent runs
|
|
- **Pull Request Tracker** - List open PRs with status, checks, authors, and assignees. Show draft vs ready status
|
|
- **Issue Overview** - Display assigned issues with status, labels, and priority indicators
|
|
- **Auto-Refresh** - Automatically refresh data at configurable intervals (default 30s)
|
|
- **Multi-Repository Support** - Configure and switch between multiple repositories with saved settings
|
|
- **GitHub Integration** - Full API integration with GitHub for repos, PRs, issues, and workflows
|
|
- **GitLab Integration** - Full API integration with GitLab for repos, MRs, issues, and pipelines
|
|
- **Keyboard Navigation** - Full keyboard control for navigation, refresh, switching views, and actions
|
|
- **Configuration Management** - CLI-based configuration for API tokens, default repo, refresh interval
|
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
|
|
- Python 3.10 or higher
|
|
- pip or poetry
|
|
|
|
### Install from Source
|
|
|
|
```bash
|
|
git clone https://7000pct.gitea.bloupla.net/7000pctAUTO/devdash-cli.git
|
|
cd devdash-cli
|
|
pip install -e .
|
|
```
|
|
|
|
### Install from PyPI
|
|
|
|
```bash
|
|
pip install devdash-cli
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
|
|
Create a `.env` file or set environment variables:
|
|
|
|
```bash
|
|
export GITHUB_TOKEN="your_github_token"
|
|
export GITLAB_TOKEN="your_gitlab_token"
|
|
export DEVDASH_REPO="owner/repo"
|
|
export DEVDASH_REFRESH=30
|
|
export DEVDASH_THEME=dark
|
|
```
|
|
|
|
### CLI Configuration
|
|
|
|
```bash
|
|
devdash add-repo owner/repo --provider github
|
|
devdash add-repo owner/repo --provider gitlab
|
|
devdash config
|
|
devdash doctor
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
devdash # Launch with default repository
|
|
devdash launch owner/other-repo # Launch with specific repository
|
|
devdash launch --refresh 60 # Set custom refresh interval
|
|
devdash launch --theme light # Use light theme
|
|
```
|
|
|
|
### Keyboard Shortcuts
|
|
|
|
| Key | Action |
|
|
|-----|--------|
|
|
| `q` | Quit |
|
|
| `r` | Refresh data |
|
|
| `j`/`k` | Move up/down |
|
|
| `h`/`l` | Move left/right |
|
|
| `1-4` | Switch panels |
|
|
| `Esc` | Quit |
|
|
|
|
## API Setup
|
|
|
|
### GitHub
|
|
|
|
1. Create a Personal Access Token at https://github.com/settings/tokens
|
|
2. Select scopes: `repo`, `read:org`
|
|
3. Set `GITHUB_TOKEN` environment variable
|
|
|
|
### GitLab
|
|
|
|
1. Create a Personal Access Token at https://gitlab.com/-/user_settings/personal_access_tokens
|
|
2. Select scopes: `api`, `read_api`
|
|
3. Set `GITLAB_TOKEN` environment variable
|
|
|
|
## Development
|
|
|
|
```bash
|
|
python -m venv venv
|
|
source venv/bin/activate
|
|
pip install -e ".[dev]"
|
|
pytest tests/ -v
|
|
pytest tests/ --cov=src --cov-report=term-missing
|
|
ruff check src/
|
|
```
|
|
|
|
## License
|
|
|
|
MIT License
|