guito

Easily explore your git repositories.
4,541 1
Install
npm install guito
Latest Version:1.0.12
License:MIT
Last Updated:Oct 15, 2026
Links: GitHub  ·  npm
Maintainer: danisss9

Guito

Explore and manage Git repositories in a focused visual client. Guito runs locally in your browser or directly inside Visual Studio Code.

The name combines GUI and Git: GuITo. It is also a Portuguese word for money.

npm package · VS Code extension · Open VSX extension · Issue tracker

Features

  • Visual commit graph with branch and tag references.
  • Stashes listed in the commit table with apply, pop, and drop actions.
  • Commit search by subject, body, author, or hash, with loading feedback and retries.
  • Local and remote branch filtering.
  • Commit and working-tree diffs powered by the Monaco editor, with inline and side-by-side layouts and a code minimap preview of the changed file.
  • Fetch, pull, pull with rebase, push, and sync actions.
  • Context actions for creating branches and tags, checking out commits, cherry-picking, reverting, merging, rebasing, resetting, and exporting archives.
  • Working-tree actions for stashing changes, resetting tracked changes, and cleaning untracked files.
  • Stage and unstage files with multi-selection, preview staged and unstaged diffs, and commit staged changes.
  • Review your active Azure DevOps pull requests from the repository side panel: edit details, manage reviewers and votes, complete or auto-complete, discuss comment threads, and add inline comments on file diffs.
  • Have pull requests reviewed for you by Claude Code, re-reviewed on every new commit, with the comments queued for your approval before anything is posted.
  • Browser-based CLI and a VS Code extension with local, Remote SSH, Dev Container, and Codespaces support.

[!CAUTION] Guito can run destructive Git operations, including hard resets, commit drops, forceful cleanup, and history changes. Review confirmation dialogs carefully and make sure important work is committed or backed up.

Quick start

Browser client

You need Git, Node.js 20 or newer, and npm. From inside the repository you want to inspect, run:

npx guito

Guito starts a local server at http://localhost:8080 and opens it in your default browser.

To install the command globally instead:

npm install --global guito
guito

Visual Studio Code

After installing the extension, open a trusted workspace containing a Git repository, then either:

  • select Guito in the status bar; or
  • run Guito: Open Guito from the Command Palette.

In a multi-root workspace, Guito asks which repository to open. Git must be available on the local or remote VS Code extension host.

Stage and commit changes

Click Uncommitted changes to open the staged and unstaged file lists. Click to select a file, Ctrl/Cmd-click to toggle individual files, or Shift-click to select a range. Use the per-file buttons, selected-file actions, or Stage all / Unstage all. The separate Diff button previews only the changes in that list.

Enter a commit message and optional description, then choose Commit staged changes. Only staged changes are committed; unstaged edits remain on disk. Commit drafts stay available when you close and reopen the panel during the session.

Generate message drafts a subject and description with Claude Code running on your machine, from the staged diff when anything is staged and from every uncommitted change otherwise, matching the language and style of your recent commits. The draft fills the boxes for you to review and edit; nothing is committed automatically. The Commit message model setting picks the model, and Commit message style picks how much it writes: Oneliner (the default) drafts only the subject line, Brief adds a short description, and Descriptive explains the change in full. In the VS Code extension, the same button is also in the Source Control view's title bar, and it fills the Git commit message box.

CLI options

guito [--port <number>] [--no-open]
Option Description
--port <number> Port used by the local server. Defaults to 8080; use 0 to select an available port automatically.
--no-open Start the server without opening a browser.

Run the command from anywhere inside the Git worktree you want Guito to manage. Press Ctrl+C in the terminal to stop the server.

Using Guito

  • Select a commit to inspect its changed files, then select a file to open its diff.
  • Select Uncommitted changes to inspect the working tree.
  • Use the branch selector and remote-branch toggle to narrow the graph.
  • Right-click a commit, reference badge, or the working-tree row to open its available Git actions.
  • Use the toolbar for remote operations and manual refreshes.

The standalone server can execute Git commands against the current repository. Keep it on a trusted machine and do not expose its port to untrusted networks.

Settings

Inside the VS Code extension, every preference below is a native VS Code setting in the guito namespace: open the Settings editor and search for "Guito". In the browser client, the same preferences live in the settings dialog behind the toolbar's gear icon and are stored per repository in .git/guito-settings.json, which is never committed. VS Code settings win over the stored file when both are set.

The settings dialog also manages preferences that have no VS Code equivalent: the repository's Git user name and email, the fetch and push URLs of the configured remotes, and issue-linking rules. An issue-linking rule (a regular expression plus a URL template) turns issue references in commit messages into links; it can be saved for the repository or globally, and global rules are stored in your Git configuration as guito.issueRegex and guito.issueUrl.

General

Setting Description
guito.autoReload Reload commits and the working tree automatically when the repository changes outside Guito, for example from a terminal. On by default.
guito.showGraph Show the Git graph beside the commit history. On by default.
guito.showTags Show tag badges attached to commits. On by default.
guito.showRemoteBranches Show remote branches in the repository panel and the branch pills on commits. On by default.
guito.grayRefBadges Show branch and tag pills in a single neutral gray instead of graph lane colors. Off by default.
guito.fileListView How changed-file lists are shown: flat (default) lists every file with its full path, tree groups them into collapsible folders.
guito.refListView How branches and tags are shown in the repository panel: flat (default) lists full names, tree groups them into collapsible namespace folders.
guito.sidePanelSectionsExpanded Open the repository panel with all sections expanded. On by default.
guito.searchMode How commit search behaves: navigate (default) keeps the full history and jumps between matches, filter shows only matching commits.
guito.searchCaseSensitive Match commit and repository panel searches using the query's exact letter casing and accents. Off by default.
guito.diffViewer Where file diffs open: vscode (default) uses the native VS Code diff tab, guito uses Guito's own dialog. Binary files always use Guito's dialog.
guito.issueRegex Regular expression that recognizes issue references in commit messages, for example #(\d+). Inside the extension this is the issue-linking rule; it wins over the rule saved in the settings dialog.
guito.issueUrl URL template for issue links; capture groups from the issue regex are inserted with $1, $2, and so on.

Azure DevOps

Guito detects Azure DevOps from the repository's remotes: when origin (or, failing that, any other remote) has a URL like https://server/DefaultCollection/Project/_git/Repo, pull request creation, the pull request panel, and the automated reviewer are enabled for that project. ssh remotes are reached over https on the same host. Requests authenticate with Windows integrated auth.

Setting Description
guito.prBranchNameTemplate Branch name template used when Guito creates a new branch for a pull request. Defaults to pr/${randomstring}. Variables: ${username}, ${randomstring}, ${branch}, ${targetbranch}, ${title}, ${repository}, ${date} (UTC YYYY-MM-DD), ${time} (UTC HHmmss), and ${timestamp}.
guito.allowMerge Offer the "No fast-forward (merge commit)" and "Semi-linear merge" pull request completion strategies. On by default.

The guito.aiReview.* settings that configure the automated pull request reviewer are listed under Automated pull request review.

Automated pull request review

Guito can hand your Azure DevOps pull requests to Claude Code running on your own machine, then queue what it finds for you to approve.

Turn it on in Settings (gear icon), or with guito.aiReview.enabled in VS Code. Claude Code must be installed and signed in; no API key is configured in Guito, and no code leaves your machine except to the model Claude Code is already signed in to. Guito finds the CLI on PATH, in the standard install locations, and in the Claude Code VS Code extension's own bundled copy; set guito.aiReview.claudePath if yours lives somewhere else.

How it works:

  • Guito checks Azure DevOps every few minutes for the pull requests in scope — by default the active ones that list you as a reviewer.
  • Each pull request is reviewed once per merge source commit. When the author pushes, only the files that commit touched are reviewed again, and Claude is told what it already raised so it does not repeat itself.
  • Findings land in the pull request dialog's Review tab, each with a severity, the file and line it is about, and the comment it would post. Tick the ones you want and choose Post to pull request; they become ordinary Azure DevOps comment threads from your account.
  • Dismiss removes a finding and stops it being raised again for that pull request.
  • Nothing is posted, and no vote is cast, without you clicking.

Inside VS Code the reviewer also runs while no Guito panel is open, so pull requests are reviewed as you work; run Guito: Review Pull Requests Now from the Command Palette to check immediately. Reviews are stored per repository in .git/guito-ai-reviews.json and are never committed.

Setting Description
guito.aiReview.enabled Turns automated review on. Off by default.
guito.aiReview.scope reviewer (default), mine, or all.
guito.aiReview.pollMinutes Minutes between checks. Defaults to 30.
guito.aiReview.includeDrafts Also review draft pull requests. Off by default.
guito.aiReview.claudePath Path to the Claude Code executable. Empty means Guito looks for it (see above).
guito.aiReview.model Which Claude model reviews pull requests. Defaults to opus.
guito.aiReview.commitMessageModel Which Claude model drafts commit messages. Defaults to haiku.
guito.aiReview.effort Claude Code effort level for reviews (low to max). Defaults to high; empty uses Claude Code's default.
guito.aiReview.commitMessageEffort Claude Code effort level for commit messages. Defaults to low; empty uses Claude Code's default.
guito.aiReview.commitMessageStyle oneliner (default), brief, or descriptive.
guito.aiReview.timeoutSeconds How long one review may take. Defaults to 600.
guito.aiReview.instructions Extra reviewing instructions, such as your team's conventions.

Development and contributing

See CONTRIBUTION.md for local setup, development commands, project structure, testing, and pull-request guidance.

Release history is maintained in CHANGELOG.md.

License

Guito is available under the MIT License.

Related Packages

easy-file-picker

Easy File Picker is a straightforward library with no dependencies to upload/pic...

11,974 1
@agnostico/browser-solidity-compiler

Solidity compiler that works in the browser

1,548 18
viz

Visual regression testing framework

5,559 0
simple-shimmer

A pure css simple shimmer like facebook.

1,607 1

Version History

Version Released License
1.0.12 MIT
1.0.11 MIT
1.0.10 MIT
1.0.9 MIT
1.0.8 MIT