Skip to content

docs: standardize install order for tccutil-rs#8

Merged
altaywtf merged 6 commits intomainfrom
docs/install-order-standardization
Feb 20, 2026
Merged

docs: standardize install order for tccutil-rs#8
altaywtf merged 6 commits intomainfrom
docs/install-order-standardization

Conversation

@glitch418x
Copy link
Contributor

@glitch418x glitch418x commented Feb 20, 2026

Summary

Standardize direct install usage to a single script path and remove the duplicate root installer.

Changes

  • Removed tracked root install.sh from the repo.
  • Kept scripts/install.sh as the only direct install script.
  • README direct install command points to:
    • curl -sSL https://raw.githubusercontent.com/uinaf/tccutil/main/scripts/install.sh | sh

Validation

  • git ls-tree -r --name-only HEAD | rg '^install\.sh$|^scripts/install\.sh$'
  • sh -n scripts/install.sh

Linked Issues

  • N/A

@glitch418x glitch418x self-assigned this Feb 20, 2026
@glitch418x glitch418x requested a review from altaywtf February 20, 2026 22:36
@coderabbitai
Copy link

coderabbitai bot commented Feb 20, 2026

Warning

Rate limit exceeded

@glitch418x has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 21 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📝 Walkthrough

Walkthrough

This PR updates the installation documentation and introduces an automated install script for tccutil-rs. The README now features a Homebrew-based installation method and a renamed "Direct install" section. A new shell script handles installation from GitHub Releases with architecture detection, checksum verification, and binary placement.

Changes

Cohort / File(s) Summary
Documentation Update
README.md
Replaced one-liner install with Homebrew tap workflow, renamed "From source" to "Direct install", updated script URL to main branch, and replaced manual copy step with install command placing binary at /usr/local/bin/tccutil-rs.
Installation Script
scripts/install.sh
New shell script automating installation from GitHub Releases; includes macOS enforcement, architecture detection (arm64/amd64), dependency validation (curl, shasum, tar), version resolution via GitHub API, checksum verification, tarball extraction, and binary placement with sudo when needed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Poem

🐰 Hop, hop—the install paths align,
Homebrew flows and scripts divine,
From GitHub releases we brew with care,
Checksums verified, binaries fair!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: updating the README to standardize and reorder installation methods (Homebrew first, then Direct install, then Source build).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/install-order-standardization

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

@altaywtf altaywtf merged commit 058fa51 into main Feb 20, 2026
1 check passed
@altaywtf altaywtf deleted the docs/install-order-standardization branch February 20, 2026 22:51
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
README.md (2)

35-36: Optional: note sudo may be required for /usr/local/bin.

Some macOS setups don’t allow non‑admin writes there.

✍️ Doc tweak suggestion
 cargo build --release
-install -m 0755 target/release/tccutil-rs /usr/local/bin/tccutil-rs
+# Use sudo if /usr/local/bin is not writable
+sudo install -m 0755 target/release/tccutil-rs /usr/local/bin/tccutil-rs
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 35 - 36, Update the README.md where the install
command "install -m 0755 target/release/tccutil-rs /usr/local/bin/tccutil-rs" is
shown to include an optional note that sudo may be required for writing to
/usr/local/bin on some macOS systems; add a short parenthetical or sentence
after that command advising users to run the command with sudo if they encounter
permission errors and/or to use an alternative install location if they lack
admin rights.

25-29: Consider adding a pinned‑version example and fail‑fast curl.

This keeps installs reproducible and surfaces download failures immediately.

✍️ Doc tweak suggestion
-```sh
-curl -sSL https://raw.githubusercontent.com/uinaf/tccutil/main/scripts/install.sh | sh
-```
+```sh
+curl -fsSL https://raw.githubusercontent.com/uinaf/tccutil/main/scripts/install.sh | sh
+
+# Pinned version example:
+# curl -fsSL https://raw.githubusercontent.com/uinaf/tccutil/main/scripts/install.sh | sh -s -- v0.1.1
+```
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 25 - 29, Update the "Direct install" curl example in
README to use fail‑fast curl by adding the -f flag (change curl -sSL to curl
-fsSL) and add a second example showing a pinned release invocation (e.g.,
piping to sh -s -- <version>) so users can reproduce installs; modify the
"Direct install" block that contains the curl command to include both the -fsSL
form and the pinned‑version example.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/install.sh`:
- Around line 74-80: The checksum verification pipeline can silently succeed if
grep finds no match because POSIX sh lacks pipefail; update scripts/install.sh
to explicitly ensure a matching checksum line exists before invoking shasum:
after changing to "$tmp_dir", use grep -q "  ${asset}$" checksums.txt and if
that returns non-zero call error "checksum entry missing for $asset", then pipe
the matched line to shasum -a 256 -c - (or run shasum -a 256 -c on the extracted
line) and on any non-zero exit call error "checksum verification failed";
reference the variables/commands asset, tmp_dir, checksums.txt, grep and shasum
when making the change.

---

Nitpick comments:
In `@README.md`:
- Around line 35-36: Update the README.md where the install command "install -m
0755 target/release/tccutil-rs /usr/local/bin/tccutil-rs" is shown to include an
optional note that sudo may be required for writing to /usr/local/bin on some
macOS systems; add a short parenthetical or sentence after that command advising
users to run the command with sudo if they encounter permission errors and/or to
use an alternative install location if they lack admin rights.
- Around line 25-29: Update the "Direct install" curl example in README to use
fail‑fast curl by adding the -f flag (change curl -sSL to curl -fsSL) and add a
second example showing a pinned release invocation (e.g., piping to sh -s --
<version>) so users can reproduce installs; modify the "Direct install" block
that contains the curl command to include both the -fsSL form and the
pinned‑version example.

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.

2 participants