Skip to content

gitlab

This directory provides voice-control integration for the GitLab web interface using the Talon Voice framework.

It contains a single configuration file, gitlab.talon, which maps natural language voice commands to GitLab's built-in keyboard shortcuts, significantly improving hands-free navigation and management of repositories, issues, and merge requests.

How it Works

The gitlab.talon file defines context-aware voice commands. For these commands to be active, the user must be interacting with a web browser (identified by the tag: browser context) where the URL matches the pattern /gitlab\.com/.

Once active, the file translates voice instructions into the sequence of keystrokes that GitLab recognizes natively.

Command Categories

The voice commands defined in gitlab.talon cover several key areas of the GitLab interface:

  • Global Navigation: Commands like "go to projects [page]" or "go to merge requests [page]" trigger global shortcuts (such as shift-p and shift-m respectively) to jump directly to primary user dashboards.
  • Project-Specific Navigation: Many GitLab shortcuts rely on sequential key presses (e.g., typing g then p to go to the project home page). Talon handles these by using the insert() action to simulate typing the characters rapidly, mapping commands like "go to project files [list]" to insert("gf") or "go to project issues boards [list]" to insert("gb").
  • Issue & Merge Request Management: Streamlines code reviews and project management with commands for changing issue states or assigning tasks, such as "edit description" (key(e)), "change assignee" (key(a)), or cycling through files and discussions using "next file" (key(] )) and "next [unresolved] discussion" (key(n)).
  • Repository and Wiki Operations: Facilitates file-level navigation with commands like "open permalink" (key(y)) and content editing on wikis via "edit page" (key(e)).