Forgejo/Gitea TUI dashboard - gh-dash equivalent for Forgejo
This repository has been archived on 2026-03-09. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Rust 97.5%
  • Nix 2.5%
Find a file
Bryan Thompson 6e6e685227
chore: prepare for open-source release on Codeberg
Add LICENSE (MIT), CONTRIBUTING, CHANGELOG, SECURITY, and Woodpecker CI.
Add doc comments to all public items, expand .gitignore, untrack .envrc,
replace personal identifiers in tests, and fill out Cargo.toml metadata.
2026-03-09 15:30:12 -07:00
src chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
.gitignore chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
.woodpecker.yaml chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
Cargo.lock feat: fj-dash TUI dashboard implementation (#1) 2026-03-08 03:35:44 +00:00
Cargo.toml chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
CHANGELOG.md chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
CONTRIBUTING.md chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
flake.nix feat: initial project scaffold with hello world TUI 2026-03-07 17:38:26 -08:00
LICENSE chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
README.md chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
screenshot.png chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00
SECURITY.md chore: prepare for open-source release on Codeberg 2026-03-09 15:30:12 -07:00

fj-dash

Terminal dashboard for monitoring pull requests across Forgejo instances. Built with ratatui, tokio, and forgejo-api.

screenshot

Installation

cargo install --path .

Configuration

Create ~/.config/fj-dash/config.toml:

[[instance]]
name = "my-forgejo"
url = "https://forgejo.example.com"
token = "your-api-token"
repos = ["owner/repo1", "owner/repo2"]
  • name — Tab label shown in the UI
  • url — Base URL of your Forgejo instance
  • token — API token (Settings → Applications → Generate Token)
  • repos — Optional. Omit to auto-discover all non-archived, non-mirror repos

Multiple instances are supported; each gets its own tab:

[[instance]]
name = "work"
url = "https://git.work.com"
token = "token-a"
repos = ["team/backend", "team/frontend"]

[[instance]]
name = "personal"
url = "https://codeberg.org"
token = "token-b"

tea CLI Fallback

If no config.toml exists, fj-dash reads credentials from the tea CLI config (~/.config/tea/config.yml). All logins become instance tabs with automatic repo discovery.

Keybindings

Key Action
j / Down Move selection down
k / Up Move selection up
Tab Next instance tab
Shift-Tab Previous instance tab
Enter Open PR in browser
r Refresh all instances
q Quit

Pagination

PR fetching is limited to 50 PRs per repository (single API page). When a repo hits this limit, a footer indicator appears in the table. Full pagination is not yet implemented.

Acknowledgments

Inspired by gh-dash, a beautiful GitHub dashboard for the terminal.

License

MIT