guito 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,30 @@ All notable changes to Guito are documented in this file. The project follows [S
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.0.7] - 2026-10-01
8
+
9
+ ### Added
10
+
11
+ - Draft commit messages with Claude. A new **Generate message** button in the uncommitted-changes panel hands the pending changes to Claude Code running on this machine and fills the commit message and description boxes with the reply, matching the language and style of your recent commits. The **Commit message model** setting (`guito.aiReview.commitMessageModel` inside the extension) picks the model; haiku is the default, since a subject line is a small question. Nothing is committed automatically: the draft lands in the boxes for you to review and edit, and Guito falls back to every uncommitted change when nothing is staged.
12
+ - Choose which Claude model reviews your pull requests. A new **Claude model** setting (the `guito.aiReview.model` VS Code setting inside the extension) sets the default for the automated reviewer, and the model picker in the pull request dialog's **Review** tab — preselected from that setting — overrides it for a single run; the review's summary line shows which model produced it. Aliases like "opus" always mean the latest model of that family Claude Code has.
13
+ - Scrolling to the end of the commit history now loads the next page automatically, so long histories can be explored without touching the footer; the **Load more commits** and **Load all** buttons remain available for explicit control.
14
+ - Pull request completion and auto-complete now follow the target branch's merge policy. Guito reads the project's Azure DevOps branch policies and offers only the merge strategies the "Merge Types" policies covering the pull request allow (so a squash-only branch no longer lists the other strategies, which Azure would reject anyway), notes in the dialog when the list is limited by policy, and still applies the **Allow merge completion** setting on top. Branches without a merge policy keep offering every strategy.
15
+
16
+ ### Fixed
17
+
18
+ - Canceling auto-complete on an Azure DevOps pull request now verifies the server actually cleared it. Azure DevOps sometimes answers the clearing PATCH with 200 OK while silently leaving auto-complete enabled, which made the button appear to do nothing; Guito now checks the pull request the server returns, retries with the alternate payload shape, and reports an error when auto-complete is still set.
19
+
20
+ ### Removed
21
+
22
+ - The `guito.aiReview.claudeArgs` setting. Models are chosen with the new model settings instead: `guito.aiReview.model` for pull request reviews and `guito.aiReview.commitMessageModel` for commit messages.
23
+
24
+ ## [1.0.6] - 2026-09-24
25
+
26
+ ### Added
27
+
28
+ - Install Guito from Open VSX as well as the Visual Studio Marketplace. Tagged releases are now published to both registries, so VSCodium and other Open VSX-compatible editors can run the extension, and the README links to the new listing.
29
+ - Review Azure DevOps pull requests automatically with Claude Code running on your own machine. Guito polls for the pull requests in scope (by default the active ones waiting on your review), hands each new merge source commit to Claude Code, and queues the findings in the pull request dialog's new **Review** tab, where each one shows its severity, file and line, and jumps to the diff. Tick the comments you want and post them as ordinary Azure DevOps threads, or dismiss them so they are never raised again. Nothing is posted and no vote is cast without you. When the author pushes a new commit, only the files that commit touched are reviewed again, and Claude is told what it already raised so the same point is not repeated. Configure it in the settings dialog or with the `guito.aiReview.*` VS Code settings; inside VS Code the reviewer keeps running with no Guito panel open, and **Guito: Review Pull Requests Now** checks immediately.
30
+
7
31
  ## [1.0.5] - 2026-09-22
8
32
 
9
33
  ### Added
package/CONTRIBUTION.md CHANGED
@@ -76,15 +76,15 @@ The package is written to `vscode-extension/guito.vsix` and is ignored by Git.
76
76
 
77
77
  ## Project structure
78
78
 
79
- | Path | Purpose |
80
- | --- | --- |
81
- | `src/` | Angular application, components, models, utilities, and API client. |
82
- | `server/` | Fastify API, Git integration, and CLI server entry point. |
83
- | `vscode-extension/` | VS Code extension manifest, source, build script, and extension-specific docs. |
84
- | `tests/` | Node integration tests for the local server. |
85
- | `scripts/` | Release verification utilities. |
86
- | `bin/` | Compiled server and UI assets shipped in the npm package. |
87
- | `.github/workflows/` | Release automation. |
79
+ | Path | Purpose |
80
+ | -------------------- | ------------------------------------------------------------------------------ |
81
+ | `src/` | Angular application, components, models, utilities, and API client. |
82
+ | `server/` | Fastify API, Git integration, and CLI server entry point. |
83
+ | `vscode-extension/` | VS Code extension manifest, source, build script, and extension-specific docs. |
84
+ | `tests/` | Node integration tests for the local server. |
85
+ | `scripts/` | Release verification utilities. |
86
+ | `bin/` | Compiled server and UI assets shipped in the npm package. |
87
+ | `.github/workflows/` | Release automation. |
88
88
 
89
89
  Treat `bin/`, `vscode-extension/dist/`, and packaged `.vsix` files as generated output. Make source changes under `src/`, `server/`, or `vscode-extension/src/`; do not edit generated bundles by hand. Regenerate build output with the npm scripts when it needs to be included or inspected.
90
90
 
@@ -132,7 +132,7 @@ Review feedback is part of the contribution process. Keep follow-up commits focu
132
132
 
133
133
  ## Releases
134
134
 
135
- Releases are maintained by the project owner. Pushing a stable `vX.Y.Z` Git tag triggers the release workflow, which verifies the root package and extension versions before building, testing, and publishing both packages. After both publishes succeed, the workflow creates the corresponding GitHub Release with generated release notes. npm uses trusted publishing, while the VS Code Marketplace publish reads the `VSCE_PAT` repository secret.
135
+ Releases are maintained by the project owner. Pushing a stable `vX.Y.Z` Git tag triggers the release workflow, which verifies the root package and extension versions before building, testing, and publishing the npm package and extension. After every publish succeeds, the workflow creates the corresponding GitHub Release with generated release notes and attaches a versioned `.vsix` file. npm uses trusted publishing, the Visual Studio Marketplace publish reads the `VSCE_PAT` repository secret, and the Open VSX publish reads the `OVSX_PAT` repository secret.
136
136
 
137
137
  Release preparation should update:
138
138
 
package/README.md CHANGED
@@ -4,7 +4,7 @@ Explore and manage Git repositories in a focused visual client. Guito runs local
4
4
 
5
5
  The name combines **GUI** and **Git**: **G**u**IT**o. It is also a [Portuguese word for money](https://dicionario.priberam.org/guito).
6
6
 
7
- [npm package](https://www.npmjs.com/package/guito) · [VS Code extension](https://marketplace.visualstudio.com/items?itemName=danisss9.guito) · [Issue tracker](https://github.com/danisss9/Guito/issues)
7
+ [npm package](https://www.npmjs.com/package/guito) · [VS Code extension](https://marketplace.visualstudio.com/items?itemName=danisss9.guito) · [Open VSX extension](https://open-vsx.org/extension/danisss9/guito) · [Issue tracker](https://github.com/danisss9/Guito/issues)
8
8
 
9
9
  <img width="1848" height="941" alt="image" src="https://github.com/user-attachments/assets/680f8ca0-acbf-4c61-baf5-58cfcb6c73d1" />
10
10
 
@@ -20,6 +20,7 @@ The name combines **GUI** and **Git**: **G**u**IT**o. It is also a [Portuguese w
20
20
  - Working-tree actions for stashing changes, resetting tracked changes, and cleaning untracked files.
21
21
  - Stage and unstage files with multi-selection, preview staged and unstaged diffs, and commit staged changes.
22
22
  - 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.
23
+ - 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.
23
24
  - Browser-based CLI and a VS Code extension with local, Remote SSH, Dev Container, and Codespaces support.
24
25
 
25
26
  > [!CAUTION]
@@ -59,6 +60,8 @@ Click **Uncommitted changes** to open the staged and unstaged file lists. Click
59
60
 
60
61
  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.
61
62
 
63
+ **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.
64
+
62
65
  ## CLI options
63
66
 
64
67
  ```text
@@ -82,6 +85,68 @@ Run the command from anywhere inside the Git worktree you want Guito to manage.
82
85
 
83
86
  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.
84
87
 
88
+ ## Settings
89
+
90
+ 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.
91
+
92
+ 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`.
93
+
94
+ ### General
95
+
96
+ | Setting | Description |
97
+ | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
98
+ | `guito.autoReload` | Reload commits and the working tree automatically when the repository changes outside Guito, for example from a terminal. On by default. |
99
+ | `guito.showGraph` | Show the Git graph beside the commit history. On by default. |
100
+ | `guito.showStashes` | Show stash entries above the commit history. Off by default. |
101
+ | `guito.showTags` | Show tag badges attached to commits. On by default. |
102
+ | `guito.showRemoteBranches` | Show remote branches in the repository panel and the branch pills on commits. On by default. |
103
+ | `guito.fileListView` | How changed-file lists are shown: `flat` (default) lists every file with its full path, `tree` groups them into collapsible folders. |
104
+ | `guito.refListView` | How branches and tags are shown in the repository panel: `flat` (default) lists full names, `tree` groups them into collapsible namespace folders. |
105
+ | `guito.sidePanelSectionsExpanded`| Open the repository panel with all sections expanded. On by default. |
106
+ | `guito.searchMode` | How commit search behaves: `navigate` (default) keeps the full history and jumps between matches, `filter` shows only matching commits. |
107
+ | `guito.searchCaseSensitive` | Match commit and repository panel searches using the query's exact letter casing and accents. Off by default. |
108
+ | `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. |
109
+ | `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. |
110
+ | `guito.issueUrl` | URL template for issue links; capture groups from the issue regex are inserted with `$1`, `$2`, and so on. |
111
+
112
+ ### Azure DevOps
113
+
114
+ | Setting | Description |
115
+ | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
116
+ | `guito.azureDevOpsUrl` | Base URL of your on-prem Azure DevOps Server, for example `https://server/DefaultCollection`. Enables pull request creation and the automated reviewer; requests authenticate with Windows integrated auth. |
117
+ | `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}`. |
118
+ | `guito.allowMerge` | Offer the "No fast-forward (merge commit)" and "Semi-linear merge" pull request completion strategies. On by default. |
119
+
120
+ The `guito.aiReview.*` settings that configure the automated pull request reviewer are listed under [Automated pull request review](#automated-pull-request-review).
121
+
122
+ ## Automated pull request review
123
+
124
+ Guito can hand your Azure DevOps pull requests to [Claude Code](https://claude.com/claude-code) running on your own machine, then queue what it finds for you to approve.
125
+
126
+ 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.
127
+
128
+ How it works:
129
+
130
+ - Guito checks Azure DevOps every few minutes for the pull requests in scope — by default the active ones that list you as a reviewer.
131
+ - 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.
132
+ - 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.
133
+ - **Dismiss** removes a finding and stops it being raised again for that pull request.
134
+ - Nothing is posted, and no vote is cast, without you clicking.
135
+
136
+ 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.
137
+
138
+ | Setting | Description |
139
+ | -------------------------------- | ---------------------------------------------------------------------------------------- |
140
+ | `guito.aiReview.enabled` | Turns automated review on. Off by default. |
141
+ | `guito.aiReview.scope` | `reviewer` (default), `mine`, or `all`. |
142
+ | `guito.aiReview.pollMinutes` | Minutes between checks. Defaults to 30. |
143
+ | `guito.aiReview.includeDrafts` | Also review draft pull requests. Off by default. |
144
+ | `guito.aiReview.claudePath` | Path to the Claude Code executable. Empty means Guito looks for it (see above). |
145
+ | `guito.aiReview.model` | Which Claude model reviews pull requests. Default uses whatever Claude Code is set to. |
146
+ | `guito.aiReview.commitMessageModel` | Which Claude model drafts commit messages. Defaults to haiku. |
147
+ | `guito.aiReview.timeoutSeconds` | How long one review may take. Defaults to 600. |
148
+ | `guito.aiReview.instructions` | Extra reviewing instructions, such as your team's conventions. |
149
+
85
150
  ## Development and contributing
86
151
 
87
152
  See [CONTRIBUTION.md](CONTRIBUTION.md) for local setup, development commands, project structure, testing, and pull-request guidance.