# 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