Skip to content

chore: promote dev to main#31

Merged
vnedyalk0v merged 4 commits into
mainfrom
dev
Jun 5, 2026
Merged

chore: promote dev to main#31
vnedyalk0v merged 4 commits into
mainfrom
dev

Conversation

@vnedyalk0v

@vnedyalk0v vnedyalk0v commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Promote the current dev integration branch to main after the catalog expansion PR merged.
  • Carries the expanded tool catalog and macOS minimum-version gating into the stable branch.

Checklist

  • Head branch is dev; base branch is main.
  • Branch name is dev, which is allowed for PRs targeting main.
  • PR title starts with an approved prefix.
  • The change matches docs/rig-v1-spec.md or updates the spec.
  • User-facing behavior is documented.
  • Security-sensitive behavior is documented or called out.
  • Dry-run behavior remains side-effect free.
  • Shell code that runs on a clean Mac is Bash 3.2-compatible.
  • Shell/config edits are idempotent.

Validation

for f in install.sh rig lib/rig/*.sh scripts/*.sh tests/*.sh; do bash -n "$f"; done
bash tests/run-tests.sh
./scripts/validate-catalog.sh
./rig install --dry-run --select vscode,chrome,node-npm --defaults finder-show-hidden-files
./install.sh --dry-run
shellcheck install.sh rig lib/rig/*.sh scripts/*.sh tests/*.sh
actionlint .github/workflows/*.yml
git diff --check

Security Impact

This PR promotes the already-reviewed dev branch to main. It includes catalog-level macOS minimum-version gating for Homebrew casks that require newer macOS versions, so unsupported selections fail before Brewfile generation or config writes.

Summary by CodeRabbit

  • New Features

    • Added macOS version compatibility validation for tools. The installer now checks that selected tools support your current macOS version and prevents installation of incompatible tools.
  • Tests

    • Updated test fixtures and coverage to validate macOS version compatibility behavior.

@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@vnedyalk0v, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 31 minutes. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 21fa57d2-c9c9-4b45-a35e-32e0a409fd77

📥 Commits

Reviewing files that changed from the base of the PR and between a14fdbb and 71b0d51.

⛔ Files ignored due to path filters (1)
  • catalog/tools.tsv is excluded by !**/*.tsv
📒 Files selected for processing (6)
  • docs/rig-v1-spec.md
  • lib/rig/catalog.sh
  • lib/rig/common.sh
  • lib/rig/plan.sh
  • lib/rig/prompts.sh
  • tests/run-tests.sh

Walkthrough

The PR adds macOS minimum version support to rig's tool selection system. The TSV catalog schema gains a min_macos column, which is validated during catalog ingestion, compared against the current system during tool selection, and enforced in both dry-run and interactive modes to prevent incompatible tools from being installed.

Changes

macOS Minimum Version Support

Layer / File(s) Summary
Specification and macOS Version Utilities
docs/rig-v1-spec.md, lib/rig/common.sh
TSV catalog schema documents the new min_macos column; three helper functions (rig_macos_version, rig_macos_major_version, rig_macos_version_meets_minimum) detect and compare macOS versions, with support for RIG_MACOS_VERSION override and major-version-only comparison.
Catalog Row Validation for min_macos
lib/rig/catalog.sh
New rig_validate_min_macos() rejects invalid field values; catalog validation extends the TSV schema expectations and tool lookup functions now parse _min_macos alongside other metadata.
Plan Module TSV Parsing for Extended Schema
lib/rig/plan.sh
All functions reading tool catalog rows (rig_print_list, rig_collect_selected_tools, rig_emit_brewfile_content, rig_emit_install_plan, count helpers) are updated to declare and read _min_macos field, maintaining field alignment across the entire plan flow.
Selected Tool macOS Compatibility Validation
lib/rig/plan.sh
New rig_validate_selected_tools_macos() function looks up each selected tool's min_macos, determines the current macOS version once, and fails the plan if any tool's requirement is not met. Called from rig_resolve_plan_selections after tool collection but before defaults collection.
Interactive Selection Flow and Prompts
lib/rig/prompts.sh
Interactive selection functions (rig_prompt_tools_for_category, rig_prompt_print_review_tools, rig_each_category, rig_run_interactive_selection) updated to read _min_macos from catalog rows; macOS validation is called before the final "Review selection" prompt, preventing incompatible tool selection.
Test Harness and Fixture Updates
tests/run-tests.sh
Adds fake sw_vers script for version mocking (respects RIG_MACOS_VERSION override); all TSV fixture schemas updated with min_macos column; test coverage expanded to verify macOS rejection, category listing, and dry-run behavior; prompt step count and progress expectations adjusted from 8 to 9 steps.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • vnedyalk0v/rig#18: Extends rig_validate_tools_row to validate the new min_macos field, building on prior row validation enhancements.
  • vnedyalk0v/rig#14: Adds min_macos parsing and validation to the core TSV catalog and plan selection modules that were foundational in PR #14.
  • vnedyalk0v/rig#30: Updates rig_category_label for the terminal category and adjusts interactive prompt progress expectations.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 3.13% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed Title uses the required 'chore:' prefix and concisely describes a promotion of the dev branch to main.
Description check ✅ Passed Description includes a clear summary, completed checklist with all required items marked, comprehensive validation commands, and security impact documentation.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a14fdbbab8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread catalog/tools.tsv Outdated
@vnedyalk0v vnedyalk0v self-assigned this Jun 5, 2026
@vnedyalk0v vnedyalk0v merged commit c2b1b8d into main Jun 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant