feat(listall): annotate versions and refresh docs UX (#4)#5
Conversation
📝 WalkthroughWalkthroughChangesgvm 1.2.0 release and listall enhancements
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant gvm_listall
participant GitRemote
User->>gvm_listall: Run listall with options
gvm_listall->>GitRemote: Retrieve Go version tags
GitRemote-->>gvm_listall: Return version tags
gvm_listall-->>User: Print latest, annotated, or porcelain versions
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
474a90a to
454d579
Compare
Address gvm2#4 / moovweb/gvm#516–#517: annotate latest/beta/rc in gvm listall, add --latest/--porcelain, and rewrite the README quick start for an nvm-like onboarding path.
454d579 to
44924d7
Compare
Make sole-author commits by Brian Thompson the lasting rule for all agent sessions; forbid Cursor/AI author, committer, and co-author trailers.
Keep agent guidance out of GitHub; Cursor User Rules are the intended store for authorship and session instructions.
listall annotations and --latest/--porcelain are new features, so this release is a minor bump rather than a patch.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
scripts/listall (1)
82-84: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueFuture-proofing: support
go2tags.The default release filter explicitly checks for
go1. If Go 2 is released, its tags (e.g.,go2.x) will be ignored by this filter. Consider updating the condition to match anygo<number>prefix to gracefully handle future versions.♻️ Proposed refactor
- if [[ "${version:0:7}" == "release" ]] || [[ "${version:0:3}" == "go1" ]]; then + if [[ "${version:0:7}" == "release" ]] || [[ "$version" == go[0-9]* ]]; then filtered+="$version"$'\n'🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/listall` around lines 82 - 84, Update the version filter condition in the list-all logic to recognize any go<number> prefix rather than only the go1 prefix, while preserving the existing release-tag matching behavior. Use a pattern-based check so tags such as go2.x and future major Go versions are included.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/listall`:
- Around line 133-135: Update the porcelain output branch in scripts/listall to
remove the three leading spaces from the printf format, while preserving the
version value and newline output.
---
Nitpick comments:
In `@scripts/listall`:
- Around line 82-84: Update the version filter condition in the list-all logic
to recognize any go<number> prefix rather than only the go1 prefix, while
preserving the existing release-tag matching behavior. Use a pattern-based check
so tags such as go2.x and future major Go versions are included.
🪄 Autofix (Beta)
✅ Autofix completed
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 4dd59481-98ad-4309-972c-ef805f38f410
📒 Files selected for processing (8)
.github/workflows/ci.ymlAGENTS.mdChangeLogREADME.mdVERSIONlocales/en-US_go_install_prompt.txtscripts/listalltests/gvm_listall_comment_test.sh
💤 Files with no reviewable changes (1)
- AGENTS.md
| else | ||
| echo " $version" | ||
| printf ' %s\n' "$version" | ||
| fi |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Remove leading spaces from --porcelain output.
Porcelain mode is intended to produce machine-readable output for scripts. Including 3 leading spaces forces downstream scripts to manually trim the whitespace (e.g., using awk '{print $1}'). Removing the padding aligns better with the standard expectations of a porcelain format.
🐛 Proposed fix
else
- printf ' %s\n' "$version"
+ printf '%s\n' "$version"
fi📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| else | |
| echo " $version" | |
| printf ' %s\n' "$version" | |
| fi | |
| else | |
| printf '%s\n' "$version" | |
| fi |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@scripts/listall` around lines 133 - 135, Update the porcelain output branch
in scripts/listall to remove the three leading spaces from the printf format,
while preserving the version value and newline output.
|
Note Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it. Fixes Applied SuccessfullyFixed 1 file(s) based on 1 unresolved review comment. A stacked PR containing fixes has been created.
Time taken: |
Summary
Continues gvm2#4 (P2 docs / UX), covering the upstream examples moovweb/gvm#516 and #517.
Changes
gvm listall(#516)latest(highest stablego1.x.y),beta, andrc--latest(print one tag) and--porcelain(names only)grep/applymodusage still works$SORT_PATH -Vfor portable version sortingDocs / onboarding (#517)
.go-versionauto-switch andGVM_NO_CD=1gvm listall --latestConventions / repo hygiene
AGENTS.mdfrom the repo (agent guidance belongs in Cursor User Rules, not GitHub)Release metadata
VERSION,ChangeLog, CI grep) — minor bump for newlistallfeaturesTest plan
tfcomment testtests/gvm_listall_comment_test.sh(listall / --latest / --porcelain / -h)gvm listall --latest→go1.26.5; annotations present for beta/rc/latestSummary by CodeRabbit
New Features
gvm listalloptions for showing the latest stable Go version and producing machine-readable output.Documentation
Bug Fixes
Tests