### Start Devbox Shell and Setup Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Enter the Devbox shell, which provides an environment with all necessary tools pre-installed. The setup process may take some time on the first run. ```sh devbox shell ``` -------------------------------- ### Global Configuration Example Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/reusing.mdx Example of a global configuration file defining pager, theme, and keybindings. ```yaml pager: diff: diffnav theme: colors: text: primary: "#E2E1ED" secondary: "#666CA6" inverted: "#242347" # ... keybindings: universal: - key: g name: lazygit command: cd {{.RepoPath}} && lazygit ``` -------------------------------- ### Install gh CLI (macOS Example) Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Use Homebrew to install the GitHub CLI on macOS. Refer to the official installation instructions for other platforms. ```bash brew install gh # e.g. if on macOS ``` -------------------------------- ### Install gh-dash extension Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/index.mdx Install the gh-dash extension using the GitHub CLI command. ```bash gh extension install dlvhdr/gh-dash ``` -------------------------------- ### Per-Repo Configuration Example Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/reusing.mdx Example of a local `.gh-dash.yml` file overriding or adding specific sections like `prSections`. ```yaml prSections: - title: Bugs filters: is:open author:@me [BUG] - title: Our Packages filters: is:open review-requested:@me repo:work-org/our-pkg ``` -------------------------------- ### Example version information output Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx Example output when displaying version information, showing the version, commit SHA, build timestamp, and build environment details. ```text gh-dash version commit: built at: built by: goos: goarch: ``` -------------------------------- ### Install Devbox Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Install the Devbox tool, which is used to manage the project's development environment and ensure consistent tooling versions. ```sh curl -fsSL https://get.jetpack.io/devbox | bash ``` -------------------------------- ### Specific version information example Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx A concrete example of the version information output for a specific release, including version, commit hash, build date, OS, and architecture. ```text gh-dash version 3.7.7 commit: 6ce3f89ab0d73dd88e359133699d1cf920f88699 built at: 2023-04-15T08:42:16Z built by: goreleaser goos: windows goarch: amd64 ``` -------------------------------- ### Including Other Configuration Files Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/reusing.mdx Example demonstrating how to include multiple configuration files using the `include` directive. Paths are resolved relative to the current file. ```yaml include: - /var/lib/gh-dash/system-shared.yml - ~/.config/gh-dash/themes/tokyonight.yml - ./shared-keybindings.yml prSections: - title: Bugs filters: is:open author:@me [BUG] ``` -------------------------------- ### Install gh-enhance Locally Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Install the gh-enhance extension locally from the current directory after cloning the repository. ```bash gh extension install . ``` -------------------------------- ### Install Nerd Font (macOS Example) Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Install a Nerd Font using Homebrew on macOS to ensure icons render correctly in your terminal. ```bash brew install --cask font-fira-code-nerd-font ``` -------------------------------- ### Install gh-enhance Extension Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Install the gh-enhance extension using the GitHub CLI. Use the first command for the stable version and the second for the insiders program. ```bash # if you're *not* in the insiders program gh extension install dlvhdr/gh-enhance # if you are in the insiders program gh extension install dlvhdr-insiders/gh-enhance ``` -------------------------------- ### Theming Example with Monokai Pro Colors Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/examples.mdx Customizes the UI theme colors, inspired by the Monokai Pro Spectrum Filter palette. ```yaml theme: colors: text: primary: "#F7F1FF" secondary: "#5AD4E6" inverted: "#F7F1FF" faint: "#3E4057" warning: "#FC618D" success: "#7BD88F" background: selected: "#535155" border: primary: "#948AE3" secondary: "#7BD88F" faint: "#3E4057" ``` -------------------------------- ### Define Page Up/Down Keybindings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/keybindings/index.mdx Example of how to define keybindings for Page Up and Page Down using Ultraviolet key strings. ```yaml keybindings: universal: - key: pgup builtin: pageUp - key: pgdown builtin: pageDown ``` -------------------------------- ### Example gh-dash upgrade output Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/updating.mdx This is an example of the output you can expect after successfully upgrading gh-dash using the GitHub CLI. It confirms the version change and successful upgrade. ```sh [dash]: upgraded from v4.16.2 to v4.17.0 ✓ Successfully checked extension upgrades ``` -------------------------------- ### Run gh dash Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx The basic command to start the gh-dash application. Press '?' for help within the UI. ```bash gh dash ``` -------------------------------- ### Define Custom Universal Keybindings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/keybindings/index.mdx Example of defining custom universal keybindings, including a command to execute lazygit and a built-in search command. ```yaml keybindings: universal: - key: g name: lazygit command: > cd {{.RepoPath}} && lazygit - key: s builtin: search ``` -------------------------------- ### Example: Enhance with PR URL Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/usage.mdx Example of using 'gh enhance' with a full URL to a GitHub Pull Request to look up its checks. ```bash gh enhance https://github.com/dlvhdr/gh-dash/pull/767 ``` -------------------------------- ### Configure Repo Paths with Wildcards and Exact Matches Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/repo-paths.mdx This example demonstrates how to configure repository paths using both wildcard and exact match patterns. The wildcard entry `dlvhdr/*` maps any repository under the `dlvhdr` owner to a corresponding path in `~/code/repos/*`. The exact match `dlvhdr/gh-dash` takes precedence for that specific repository, mapping it to `~/code/gh-dash`. ```yaml repoPaths: dlvhdr/*: ~/code/repos/* dlvhdr/gh-dash: ~/code/gh-dash ``` -------------------------------- ### Define PR Keybindings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/keybindings/index.mdx Configure custom keybindings for the PRs view. This example shows how to bind keys to built-in commands and custom shell commands. ```yaml keybindings: prs: - key: O builtin: checkout - key: m command: gh pr merge --admin --repo {{.RepoName}} {{.PrNumber}} - key: g name: lazygit add command: > cd {{.RepoPath}} && git add -A && lazygit - key: v name: approve command: > gh pr review --repo {{.RepoName}} --approve --body "$(gum input --prompt='Approval Comment: ')" {{.PrNumber}} ``` -------------------------------- ### Define Notifications Keybindings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/keybindings/index.mdx Configure custom keybindings for the notifications view. This example shows how to bind 'd' to mark as done and 'D' to mark all as done. ```yaml keybindings: notifications: - key: d builtin: markAsDone - key: D builtin: markAllAsDone ``` -------------------------------- ### Define Completions Keybindings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/keybindings/index.mdx Define custom keybindings for the Completions popup. This example shows how to map keys like 'tab', 'ctrl+j', 'ctrl+k', 'ctrl+t', and 'ctrl+r' to specific built-in commands. ```yaml keybindings: completions: - key: tab builtin: selectSuggestion - key: ctrl+j builtin: nextSuggestion - key: ctrl+k builtin: previousSuggestion - key: ctrl+t builtin: toggleSuggestions - key: ctrl+r builtin: refreshSuggestions ``` -------------------------------- ### Notification Row Layout Example Source: https://github.com/dlvhdr/gh-dash/blob/main/internal/tui/components/notificationssection/DESIGN.md Illustrates the three-line structure for displaying notification information, including repository details, title, and activity description. Icons like bookmark are also shown. ```text repo/name #123 🔖 +5💬 2d ago Title of the notification (bold if unread) @username commented on this pull request ``` -------------------------------- ### Example: Enhance with PR Number Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/usage.mdx Example of using 'gh enhance' with a Pull Request number when inside the repository clone. It looks up checks for the specified PR. ```bash gh enhance 767 ``` -------------------------------- ### Configure Column Width, Alignment, and Hidden State Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/options.mdx Example demonstrating how to set the width, alignment, and hidden state for columns in the dashboard layout configuration. Use 'align' for text justification and 'width' for character-based sizing. ```yaml prs: layout: numComments: width: 5 align: right ``` -------------------------------- ### Example Issue Section Filter Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/issue-section.mdx Defines filters for an issue section, including open status, involvement, and last updated time. Use the `>-` syntax for multi-line filters. ```yaml - # Involved filter: >- is:open involves:@me -author:@me updated:>={{ nowModify "-2w" }} ``` -------------------------------- ### Upgrade gh-dash using GitHub CLI Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/updating.mdx Use this command to upgrade the gh-dash extension to the latest version via the GitHub CLI. Ensure you have the GitHub CLI installed and configured. ```sh gh extension upgrade dlvhdr/gh-dash ``` -------------------------------- ### Run Documentation Site Locally Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Serve the project's documentation site locally to preview changes. Access the site by navigating to localhost:4321 in your browser. ```sh task docs ``` -------------------------------- ### Display version information Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx Use the --version flag to display the version and build information for dash. This flag ignores other flags like --config or --debug. ```bash gh dash --version ``` -------------------------------- ### Display help information Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx Use the --help flag to display the help information for dash in the terminal. This flag ignores all other flags. ```bash gh dash --help ``` -------------------------------- ### Project Directory Structure Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/README.mdx This snippet shows the typical file and folder organization for the project. Starlight documentation files are located in `src/content/docs/`. ```bash . ├── public/ ├── src/ │ ├── assets/ │ ├── content/ │ │ └── docs/ │ └── content.config.ts ├── astro.config.mjs ├── package.json └── tsconfig.json ``` -------------------------------- ### Specify configuration file Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx Use the --config flag to specify a custom path to the configuration file. If the file does not exist, dash will create it. ```bash gh dash --config path/to/configuration/file.yml ``` -------------------------------- ### Navigate to gh-dash directory Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/index.mdx Change the current directory to the cloned gh-dash repository. ```bash cd gh-dash ``` -------------------------------- ### Project Commands Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/README.mdx A table listing essential commands for managing the project. These commands are executed from the project's root directory using a terminal. ```bash pnpm install ``` ```bash pnpm dev ``` ```bash pnpm build ``` ```bash pnpm preview ``` ```bash pnpm astro ... ``` ```bash pnpm astro -- --help ``` -------------------------------- ### Navigate to Cloned Repository Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Change your current directory to the cloned gh-enhance repository folder. ```bash cd gh-enhance ``` -------------------------------- ### Clone gh-dash Repository Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Clone the gh-dash repository locally to begin development. This command also navigates you into the cloned directory. ```sh git clone git@github.com:dlvhdr/gh-dash.git && cd gh-dash ``` -------------------------------- ### Enable debug logging Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx Use the --debug flag to enable writing logs to a debug.log file in the current directory. If the file exists, new log entries are appended. ```bash gh dash --debug ``` -------------------------------- ### Write Debug Logs Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Use the Charm's log package to write debug messages. This is useful for tracking application state and diagnosing issues during development. ```go import "charm.land/log/v2" // more code... log.Debug("some message", "someVariable", someVariable) ``` -------------------------------- ### gh enhance Help Information Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/usage.mdx Displays the help information for the 'gh enhance' command, listing its usage and available flags. ```bash Usage: gh enhance [ | ] [flags] Flags: --debug passing this flag will allow writing debug output to debug.log --flat passing this flag will present checks as a flat list -h, --help help for gh-enhance -R, --repo string [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format -v, --version version for gh-enhance ``` -------------------------------- ### gh dash help information Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/getting-started/usage.mdx Display detailed help information for the gh dash command, including available flags and their descriptions. This command ignores all other flags. ```bash Usage: gh dash [flags] Flags: -c, --config string use this configuration file (default lookup: a .gh-dash.yml file if inside a git repo, $GH_DASH_CONFIG env var, or if not set, $XDG_CONFIG_HOME/gh-dash/config.yml) --debug passing this flag will allow writing debug output to debug.log -h, --help help for Dash ``` -------------------------------- ### Default Configuration Sections Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/examples.mdx Shows the default structure for PR, issues, and notifications sections, along with general display and filtering settings. ```yaml prSections: - title: "My Pull Requests" filters: "is:open author:@me" - title: "Needs My Review" filters: "is:open review-requested:@me" - title: "Involved" filters: "is:open involves:@me -author:@me" issuesSections: - title: "My Issues" filters: "is:open author:@me" - title: "Assigned" filters: "is:open assignee:@me" - title: "Involved" filters: "is:open involves:@me -author:@me" notificationsSections: - title: "All" filters: "" - title: "Created" filters: "reason:author" - title: "Participating" filters: "reason:participating" - title: "Mentioned" filters: "reason:mention" - title: "Review Requested" filters: "reason:review-requested" - title: "Assigned" filters: "reason:assign" - title: "Subscribed" filters: "reason:subscribed" - title: "Team Mentioned" filters: "reason:team-mention" pager: diff: less showAuthorIcons: true smartFilteringAtLaunch: true defaults: view: prs refetchIntervalMinutes: 5 layout: prs: repoName: grow: true, width: 10 hidden: false base: hidden: true preview: open: true width: 84 prsLimit: 20 issuesLimit: 20 notificationsLimit: 20 theme: ui: sectionsShowCount: true table: compact: false colors: text: primary: "#E2E1ED" secondary: "#666CA6" inverted: "#242347" faint: "#B0B3BF" warning: "#E0AF68" success: "#3DF294" background: selected: "#1B1B33" border: primary: "#383B5B" secondary: "#39386B" faint: "#2B2B40" ``` -------------------------------- ### Custom Keybindings with Tmux Integration Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/examples.mdx Defines custom keybindings for universal actions and PR-specific commands, including launching external TUIs like lazygit and nvim. ```yaml keybindings: universal: - key: g name: lazygit command: > cd {{.RepoPath}} && lazygit prs: - key: O builtin: checkout - key: m command: gh pr merge --admin --repo {{.RepoName}} {{.PrNumber}} - key: C name: code review command: > tmux new-window -c {{.RepoPath}} '\n nvim -c ":silent Octo pr edit {{.PrNumber}}"\n ' - key: a name: lazygit add command: > cd {{.RepoPath}} && git add -A && lazygit - key: v name: approve command: > gh pr review --repo {{.RepoName}} --approve --body "$(gum input --prompt='Approval Comment: ')" {{.PrNumber}} ``` -------------------------------- ### Configure PR Base Column Width and Visibility Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/pr.mdx Sets the width and visibility for the PR base branch column. Use this to control how the target branch is displayed. ```yaml width: 15 hidden: true ``` -------------------------------- ### Clone gh-enhance Repository (Standard) Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Manually clone the gh-enhance repository using Git or the GitHub CLI if you are not in the insiders program. ```bash # Git git clone https://github.com/dlvhdr/gh-enhance # or with the GitHub CLI gh repo clone dlvhdr/gh-enhance ``` -------------------------------- ### Run Linting Locally Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Execute the linting task locally to check for code style and formatting issues. This helps maintain code quality and consistency. ```sh task lint ``` -------------------------------- ### Notification ID Store Structure Source: https://github.com/dlvhdr/gh-dash/blob/main/internal/tui/components/notificationssection/DESIGN.md Defines the structure for storing notification IDs locally. Used for bookmarks. ```go type NotificationIDStore struct { ids map[string]bool filePath string // ... mutex, name for logging } ``` -------------------------------- ### Allow Direnv in the Current Directory Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/contributing/index.mdx After configuring direnv, run this command in the project's root directory to allow direnv to manage environment variables for this specific directory. ```sh direnv allow ``` -------------------------------- ### Add Custom Keybind for ENHANCE in DASH Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/dash-integration.mdx Configure a custom keybind in your DASH configuration to launch ENHANCE with repository and PR number. This is useful for quick access to ENHANCE from DASH. ```yaml keybindings: prs: - key: T command: gh enhance -R {{.RepoName}} {{.PrNumber}} ``` -------------------------------- ### Configure Schema in Neovim Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/schema.mdx Add this directive to the top of your configuration file to enable schema validation via yaml-language-server. ```yaml # yaml-language-server: $schema=https://gh-dash.dev/schema.json ``` -------------------------------- ### Define PR Sections with Filters Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/searching.mdx This snippet shows how to define a section for open PRs authored by anyone except the current user, updated within the last two weeks. The `filter` syntax uses GitHub search filters, and the `nowModify` function helps calculate relative dates. ```yaml prsSections: - title: Review filter: >- is:open -author:@me updated:>={{ nowModify "-2w" }} ``` -------------------------------- ### Clone gh-enhance Repository (Insiders) Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/getting-started.mdx Manually clone the gh-enhance repository for the insiders program using Git or the GitHub CLI. ```bash # Git git clone https://github.com/dlvhdr-insiders/gh-enhance # or with the GitHub CLI gh repo clone dlvhdr-insiders/gh-enhance ``` -------------------------------- ### Configure Schema in VS Code Settings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/schema.mdx Add this setting to your `.vscode/settings.json` file to associate the gh-dash schema with YAML files. ```json { "yaml.schemas": { "https://gh-dash.dev/schema.json": "*.yml" } } ``` -------------------------------- ### Done Store Structure Source: https://github.com/dlvhdr/gh-dash/blob/main/internal/tui/components/notificationssection/DESIGN.md Defines the structure for tracking 'done' notifications with timestamps. This is necessary because GitHub's API does not truly delete notifications. ```go type DoneStore struct { entries map[string]time.Time // id -> updatedAt when marked done filePath string // ... mutex } ``` -------------------------------- ### Enable Direnv for Automatic Devbox Shell Source: https://github.com/dlvhdr/gh-dash/blob/main/CONTRIBUTING.md Configure direnv to automatically activate the devbox shell when entering the project directory. This simplifies environment management. ```sh eval "$(direnv hook bash)" ``` ```sh direnv allow ``` -------------------------------- ### Basic Usage of gh enhance Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/usage.mdx The basic syntax for the 'gh enhance' command. It accepts a Pull Request URL or number as an argument. ```bash gh enhance [ | ] [flags] ``` -------------------------------- ### Custom Keybinding for Pinning Issues Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/keybindings/index.mdx Define a custom keybinding to pin an issue. This snippet shows how to map the 'P' key to the 'gh issue pin' command, utilizing issue number and repository name arguments. ```yaml keybindings: issues: key: "P" command: > gh issue pin {{ .IssueNumber }} --repo {{ .RepoName }} ``` -------------------------------- ### Configure PR Title Column Width and Growth Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/pr.mdx Sets the width and growth behavior for the PR title column. Use this to control how the title column occupies space. ```yaml width: 15 grow: true ``` -------------------------------- ### Repository Paths Mapping Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/examples.mdx Configures mappings for `repoPaths` to direct PR checkouts to specific local directories based on organization or repository name patterns. ```yaml repoPaths: dlvhdr/*: ~/code/personal/* my-work-org/*: ~/code/my-work-org/* charmbracelet/*: ~/code/charm/* dlvhdr/dotfiles: ~/dotfiles ``` -------------------------------- ### Define Dashboard Theme Colors and Icons Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/theme.mdx This snippet shows the structure for defining all UI colors and inline icons for the dashboard theme. Ensure all color properties are provided using valid hex codes or ANSI color indices. ```yaml ui: sectionsShowCount: true table: showSeparators: true compact: false colors: text: primary: "#ffffff" secondary: "#c6c6c6" inverted: "#303030" faint: "#8a8a8a" warning: "#800000" success: "#008000" actor: "#c6c6c6" background: selected: "#808080" border: primary: "#808080" secondary: "#c0c0c0" faint: "#000000" inline: icons: newcontributor: "077" contributor: "075" collaborator: "178" member: "178" owner: "178" unknownrole: "178" icons: inline: newcontributor: "󰎔" contributor: "" collaborator: "" member: "" owner: "" unknownrole: "󰭙" ``` -------------------------------- ### Default Configuration Settings Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/defaults.mdx Defines the default behavior for the dashboard, such as item limits, preview pane properties, and the default view. These can be overridden per section. ```yaml defaults: issuesLimit: 20 notificationsLimit: 20 prApproveComment: LGTM preview: open: true width: 0.45 height: 0.60 position: auto prsLimit: 20 refetchIntervalMinutes: 30 view: prs ``` -------------------------------- ### Configure PR Section Columns Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/pr.mdx Define column properties like width, growth, and hidden status for the PR view. Use this to customize which columns are displayed and how they are sized. ```yaml updatedAt: width: 7 repo: width: 15 title: grow: true author: width: 15 labels: width: 22 hidden: true assignees: width: 20 hidden: true base: width: 15 hidden: true lines: width: 16 ``` -------------------------------- ### Configure PR Labels Column Width and Visibility Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/pr.mdx Set the width and visibility for the PR Labels column. This allows customization of how labels are displayed, including hiding them by default. ```yaml width: 22 hidden: true ``` -------------------------------- ### Notifications Section Key Bindings Source: https://github.com/dlvhdr/gh-dash/blob/main/internal/tui/components/notificationssection/DESIGN.md Displays the available key bindings for interacting with the notifications section. Actions like marking as done, read, or viewing are highlighted. ```text Press [Enter] to view the PR (Note: this will mark it as read) Other Actions [D] mark as done [m] mark as read [u] unsubscribe [b] toggle bookmark [t] toggle filtering [S] sort by repo [o] open in browser [Enter] view ``` -------------------------------- ### Apply a Theme using ENHANCE_THEME Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/companions/enhance/theme.mdx Set the `ENHANCE_THEME` environment variable to a theme ID from bubbletint's website to customize the CLI's appearance. This command applies the 'dracula' theme. ```bash ENHANCE_THEME=dracula gh enhance ``` -------------------------------- ### Configure Issue Table Columns Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/issue.mdx Define column properties such as width, growth, and visibility for issue tables. Use this to customize the default display of issue data. ```yaml title: grow: true assignees: hidden: true width: 20 creator: width: 10 repo: width: 15 updatedAt: width: 7 ``` -------------------------------- ### Notifications Data Flow Diagram Source: https://github.com/dlvhdr/gh-dash/blob/main/internal/tui/components/notificationssection/DESIGN.md Illustrates the data flow from the GitHub REST API through various components to the UI rendering. ```text GitHub REST API │ ▼ notificationapi.go (FetchNotifications) │ ▼ notificationssection.go (stores []notificationrow.Data) │ ├──▶ notificationrow.go (renders table rows) │ └──▶ notificationview.go (renders sidebar detail) OR renderNotificationPrompt() (shows action prompt) ``` -------------------------------- ### Configure PR Lines Column Width Source: https://github.com/dlvhdr/gh-dash/blob/main/docs/src/content/docs/configuration/layout/pr.mdx Set the width for the PR Lines column using YAML. This configuration is applied directly within the layout settings. ```yaml width: 16 ```