Skip to content

Extract repo-intel into standalone repo#15

Merged
tyom merged 3 commits into
masterfrom
migrate-repo-intel
May 22, 2026
Merged

Extract repo-intel into standalone repo#15
tyom merged 3 commits into
masterfrom
migrate-repo-intel

Conversation

@tyom
Copy link
Copy Markdown
Owner

@tyom tyom commented May 21, 2026

repo-intel now lives in its own repository — tyom/repo-intel — with a CLI, a GitHub Action, and a Homebrew formula. This removes the in-tree source and build wiring from dotfiles.

Changes

  • Remove src/repo-intel/ and the repo-intel-build / repo-intel-techdata / repo-intel-dev Makefile targets (now make build / make techdata / make dev in the standalone repo).
  • Untrack + gitignore stow/bin/repo-intel. The local file is kept, so an existing ~/bin/repo-intel symlink keeps working until the next setup run.
  • setup.sh: before stowing, fetch the single-file artifact into stow/bin/repo-intel via curl when repo-intel isn't already installed (covers Linux and macOS-without-brew). Non-fatal.
  • brew.sh: install tyom/tap/repo-intel in a separate, non-fatal step so a missing/unpublished tap can't abort the core package install.
  • README: point the bin-scripts entry at the standalone repo.

Notes

  • The Homebrew tap (tyom/homebrew-tap) and a tagged release are not published yet, so the brew install step is intentionally non-fatal; the curl fallback installs repo-intel regardless.
  • Linux Docker CI is unaffected (the brew tap line is macOS-only and now non-fatal anyway).

Summary by CodeRabbit

  • New Features

    • repo-intel tool is now available as a standalone Homebrew package for independent installation.
  • Documentation

    • Updated installation and usage instructions to reflect repo-intel as a standalone tool.
    • Added Docker support for VARIANT=minimal testing option.
  • Chores

    • Removed local build and development infrastructure for the migrated component.
    • Streamlined Makefile targets and build configuration.

Review Change Stack

repo-intel now lives in its own repo with a CLI, GitHub Action, and Homebrew
formula. This removes the in-tree source and build targets:

- Remove src/repo-intel/ and the repo-intel-* Makefile targets
- Untrack + gitignore stow/bin/repo-intel (kept locally so ~/bin keeps working)
- setup.sh: fetch the artifact into stow/bin via curl when not installed by brew
- brew.sh: install tyom/tap/repo-intel non-fatally (won't block core packages)
- README: point at the standalone repo
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bc419a95-11d4-495e-a462-18b1e7864519

📥 Commits

Reviewing files that changed from the base of the PR and between d5c34fd and 6b5d194.

📒 Files selected for processing (3)
  • .gitignore
  • README.md
  • scripts/install/brew.sh
✅ Files skipped from review due to trivial changes (2)
  • .gitignore
  • README.md
📜 Recent review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2026-01-01T21:11:09.058Z
Learnt from: tyom
Repo: tyom/dotfiles PR: 6
File: scripts/setup.sh:33-41
Timestamp: 2026-01-01T21:11:09.058Z
Learning: In dotfiles repositories, when running installers during setup (e.g., Volta or similar tools) from shell scripts, pass the appropriate skip/setup flag (such as --skip-setup or an equivalent) to avoid modifying shell profiles. Shell configuration should be managed centrally in the version-controlled dotfiles, so external modifications should be prevented or minimized by default. Ensure setup.sh and related scripts do not alter shell init files outside the repo.

Applied to files:

  • scripts/install/brew.sh
🪛 Shellcheck (0.11.0)
scripts/install/brew.sh

[info] 59-59: Note that A && B || C is not if-then-else. C may run when A is true.

(SC2015)

🔇 Additional comments (1)
scripts/install/brew.sh (1)

56-61: LGTM!


📝 Walkthrough

Walkthrough

The PR removes in-repository repo-intel build infrastructure whilst updating configuration and documentation to describe repo-intel as a standalone tool. It then adds installation wiring in brew.sh to fetch repo-intel via Homebrew formula, with a non-fatal fallback to direct download if the formula is unavailable.

Changes

Move repo-intel to standalone installation

Layer / File(s) Summary
Configuration and documentation updates
.gitignore, Makefile, README.md
.gitignore adds Python bytecode patterns; Makefile removes repo-intel-build, repo-intel-techdata, and repo-intel-dev from .PHONY; README.md updates to describe repo-intel as a standalone tool installed via Homebrew and removes references to in-repo build commands (make repo-intel-build, make repo-intel-dev).
Homebrew and fallback installation in brew.sh
scripts/install/brew.sh
Adds post-installation step to install repo-intel via the tyom/tap/repo-intel Homebrew formula, with non-fatal error handling that provides manual curl installation instructions if the formula cannot be installed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • tyom/dotfiles#14: Previously added src/repo-intel build infrastructure (techdata generation and bundling pipeline), which this PR removes entirely.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main objective of the pull request: moving repo-intel from an in-tree tool to a standalone repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch migrate-repo-intel

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

Copy link
Copy Markdown
Contributor

@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

🤖 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/install/brew.sh`:
- Around line 59-60: Update the log message passed to print_step so its tap name
matches the actual brew install command; currently print_step shows
"tyom/homebrew-tap" while the install line uses "tyom/tap/repo-intel" (see
print_step invocation and the brew install command), so change the message to
reference "tyom/tap/repo-intel" (or vice-versa if you intended a different tap)
to keep them consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: eb840cdf-a3da-4e4e-8d32-14439371efae

📥 Commits

Reviewing files that changed from the base of the PR and between c87a0d2 and b63fb1d.

📒 Files selected for processing (12)
  • .gitignore
  • Makefile
  • README.md
  • scripts/install/brew.sh
  • scripts/setup.sh
  • src/repo-intel/README.md
  • src/repo-intel/build.py
  • src/repo-intel/gen_techdata.py
  • src/repo-intel/repo-intel.py
  • src/repo-intel/techdata.json
  • src/repo-intel/template.html
  • stow/bin/repo-intel
💤 Files with no reviewable changes (5)
  • src/repo-intel/README.md
  • src/repo-intel/techdata.json
  • src/repo-intel/build.py
  • src/repo-intel/gen_techdata.py
  • src/repo-intel/repo-intel.py
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2026-01-01T21:11:09.058Z
Learnt from: tyom
Repo: tyom/dotfiles PR: 6
File: scripts/setup.sh:33-41
Timestamp: 2026-01-01T21:11:09.058Z
Learning: In dotfiles repositories, when running installers during setup (e.g., Volta or similar tools) from shell scripts, pass the appropriate skip/setup flag (such as --skip-setup or an equivalent) to avoid modifying shell profiles. Shell configuration should be managed centrally in the version-controlled dotfiles, so external modifications should be prevented or minimized by default. Ensure setup.sh and related scripts do not alter shell init files outside the repo.

Applied to files:

  • scripts/install/brew.sh
  • scripts/setup.sh
📚 Learning: 2026-01-01T21:17:03.846Z
Learnt from: tyom
Repo: tyom/dotfiles PR: 6
File: scripts/setup.sh:64-66
Timestamp: 2026-01-01T21:17:03.846Z
Learning: In personal dotfiles repositories, setup scripts can rely on sequential execution guarantees and omit redundant availability checks, since failures are immediately visible during interactive setup and the context is personal, not production. Apply this guideline to setup.sh files or any similarly named scripts in personal repos, but do not generalize to non-interactive or production environments or scripts that may run in parallel. Ensure the script still handles essential errors gracefully and remains readable.

Applied to files:

  • scripts/setup.sh
🪛 Shellcheck (0.11.0)
scripts/install/brew.sh

[info] 59-59: Note that A && B || C is not if-then-else. C may run when A is true.

(SC2015)

🔇 Additional comments (1)
scripts/setup.sh (1)

70-72: ⚡ Quick win

Provide the original review comment (including any diff/context) so I can rewrite it in the required format.

Comment thread scripts/install/brew.sh Outdated
tyom added 2 commits May 22, 2026 09:58
repo-intel is now published (tap tyom/tap/repo-intel + a standalone
installer), and brew.sh runs on both macOS and Linux (Linuxbrew), so the
Homebrew install covers every platform. Remove the now-redundant stow-tree
curl fallback:

- setup.sh: drop the curl-into-stow/bin fetch block
- brew.sh: this is the sole install path; on failure hint at the manual
  installer instead of the removed fallback
- .gitignore: drop stow/bin/repo-intel; ignore __pycache__/ and *.pyc
- README: installed via Homebrew or the standalone repo's installer
@tyom tyom merged commit 6e6b23b into master May 22, 2026
3 checks passed
@tyom tyom deleted the migrate-repo-intel branch May 22, 2026 10:14
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