5bfc66e0d952585d291ae9d9871f3a0106ab36e1
Some checks failed
DevDash CLI CI / test (push) Has been cancelled
- src/ui/components/cards.py: Changed WorkflowCard to use WorkflowRunModel with correct attributes - src/models/__init__.py: Added WorkflowRunModel to exports - src/ui/screens/dashboard.py: Fixed timer API for Textual 0.52 compatibility - src/ui/components/loading.py: Renamed _animate to _spin for signature override - src/git/status.py: Added type annotation 'str | None' to remote_name variable
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
git clone https://7000pct.gitea.bloupla.net/7000pctAUTO/devdash-cli.git
cd devdash-cli
pip install -e .
Install from PyPI
pip install devdash-cli
Configuration
Environment Variables
Create a .env file or set environment variables:
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
devdash add-repo owner/repo --provider github
devdash add-repo owner/repo --provider gitlab
devdash config
devdash doctor
Usage
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
- Create a Personal Access Token at https://github.com/settings/tokens
- Select scopes:
repo,read:org - Set
GITHUB_TOKENenvironment variable
GitLab
- Create a Personal Access Token at https://gitlab.com/-/user_settings/personal_access_tokens
- Select scopes:
api,read_api - Set
GITLAB_TOKENenvironment variable
Development
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