Initial upload: DevDash CLI with TUI dashboard
This commit is contained in:
110
README.md
110
README.md
@@ -1,3 +1,109 @@
|
||||
# devdash-cli
|
||||
# DevDash CLI
|
||||
|
||||
A terminal-based developer dashboard for git status, CI/CD pipelines, PRs, and issues
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user