MCPcopy Index your code
hub / github.com/dlvhdr/gh-dash

github.com/dlvhdr/gh-dash @v4.24.1 sqlite

repository ↗ · DeepWiki ↗ · release v4.24.1 ↗
1,480 symbols 5,290 edges 153 files 203 documented · 14%
README

  <img alt="Text changing depending on mode. Light: 'So light!' Dark: 'So dark!'" width="600" src="https://github.com/dlvhdr/gh-dash/raw/v4.24.1/docs/public/logo-light.png">

<a href="https://gh-dash.dev" target="_blank">→ https://gh-dash.dev ←</a>

A rich terminal UI for GitHub that doesn't break your flow.

Latest Release Discord

❤️ Sponsoring

If you enjoy DASH and want to help, consider supporting the project with a donation at the sponsors page.

Thank you to all past and existing sponsors! 🙏🏽

Sponsors

TUI Visionary

Architect   Mario Zechner   Peter Steinberger  

TUI Power User

Alexander Garber   Brend Smits   Brian Gianforcaro   cdxn   Fernando Becerra Méndez   Ken Sanders   Luke Rollans   Matthew Chisolm   Nikolay Kolev   Philippe Serhal   Ryne Flood   SacredTexts   Scott Ames   sideshowbarker   Spencer Judd   Stefan Lüdin   Stevie Huh   Ulrich Dangel   vosahloj   Will Cory  

TUI Backer

Jeff Wainwright   Pavel Savchenko   purajit  

🌟 Features

  • User-defined, per-repo, PRs & issues sections
  • Overridable vim-style keyboard hotkeys
  • Custom actions to perform your specific workflow needs
  • Everything you can do on GitHub - diff, comment, checkout, push, update etc.
  • Control every setting with a YAML config file

If you like quickly navigating with your keyboard, seeing the PRs and issues you need and you love the terminal - DASH is for you! 🫵🏽

📃 Docs

DASH has an extensive docs site at gh-dash.dev/getting-started.

👥 Discord

Have questions? Join our Discord community!

🙏 Contributing

See the contribution guide at https://www.gh-dash.dev/contributing.

🛞 Under the hood

DASH uses:

Authors

Dolev Hadar (@dlvhdr) and the community.

Extension points exported contracts — how you extend this code

Model (Interface)
Model represents a common interface for UI components. [17 implementers]
internal/tui/components/common/interface.go
RowData (Interface)
(no doc) [7 implementers]
internal/data/utils.go
Component (Interface)
(no doc) [17 implementers]
internal/tui/components/section/section.go
Source (Interface)
Sources can load suggestions, return them based on the cursor position and insert them. [4 implementers]
internal/tui/components/fuzzyselect/source.go
Inserter (Interface)
TODO: use Inserter and remove it from Source
internal/tui/components/inputbox/inserter.go
Option (FuncType)
Option is used to set options in New. For example: carousel := New(WithItems([]string{"Item 1", "Item 2", "Item 3"}))
internal/tui/components/carousel/carousel.go

Core symbols most depended-on inside this repo

NewBinding
called by 82
internal/config/parser.go
Width
called by 74
internal/tui/components/inputbox/inputbox.go
Update
called by 72
internal/tui/components/common/interface.go
String
called by 60
internal/tui/components/fuzzyselect/fuzzyselect.go
Error
called by 58
internal/config/parser.go
Add
called by 46
internal/data/bookmarks.go
stringPtr
called by 45
internal/tui/markdown/theme.go
ParseConfig
called by 44
internal/config/parser.go

Shape

Method 757
Function 480
Struct 216
TypeAlias 16
Interface 10
FuncType 1

Languages

Go99%
TypeScript1%

Modules by API surface

internal/tui/components/section/section.go81 symbols
internal/config/parser.go56 symbols
internal/data/prapi.go51 symbols
internal/tui/ui_test.go47 symbols
internal/tui/components/prview/prview.go45 symbols
internal/tui/ui.go44 symbols
internal/tui/components/carousel/carousel.go39 symbols
internal/tui/components/cmpcontroller/controller.go38 symbols
internal/tui/components/tabs/testdata/test_section.go35 symbols
internal/tui/components/notificationssection/notificationssection.go34 symbols
internal/tui/components/fuzzyselect/fuzzyselect.go34 symbols
internal/tui/components/inputbox/inputbox.go33 symbols

Dependencies from manifests, versioned

charm.land/log/v2v2.0.0 · 1×
github.com/atotto/clipboardv0.1.4 · 1×
github.com/aymanbagabas/git-modulev1.8.4-0.20231101154 · 1×
github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/aymerick/douceurv0.2.0 · 1×
github.com/charmbracelet/colorprofilev0.4.2 · 1×

For agents

$ claude mcp add gh-dash \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact