Repository navigation
Conversation
Adds detection and command generation for the aube package manager (https://github.com/jdx/aube), including its native `aube-lock.yaml` lockfile, `aube dlx`/`aubx` exec, and aube-specific add flags (`--save-dev`, no `i` install alias). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds aube support across types and package-manager registry, command generation (install/add/dlx), API/runtime handling, test fixtures and assertions, CI/autofix workflow steps to install aube, and README documentation. ChangesAube Package Manager Support
Sequence Diagram(s)sequenceDiagram
participant Runner
participant GitHubAPI
participant Asset
participant FS
Runner->>GitHubAPI: query latest `jdx/aube` release (gh + GH_TOKEN)
GitHubAPI-->>Runner: return release tag and asset URLs
Runner->>Asset: download platform-specific asset (os/arch)
Asset-->>FS: extract to $HOME/.aube/bin (Expand-Archive / tar)
Runner->>FS: append $HOME/.aube/bin to GITHUB_PATH
Runner->>FS: run `aube --version` to verify
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@README.md`:
- Line 13: Update the README link for the aube package manager by replacing the
incorrect GitHub URL (https://github.com/jdx/aube) with the canonical repository
URL (https://github.com/endevco/aube) in the line that lists supported package
managers (the anchor text "aube" in the supported tools sentence).
In `@test/fixtures/aube/package.json`:
- Around line 5-6: The package.json scripts "test-script" and "test-script-env"
call fs.writeFileSync inside node -e without importing fs; update each inline
Node command to require the built-in module first (e.g., const fs =
require('fs');) before calling fs.writeFileSync, and keep
process.env.TEST_CONTENT usage in "test-script-env" unchanged; ensure both
"test-script" and "test-script-env" now run without ReferenceError by prepending
the require statement in their node -e expressions.
🪄 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: defaults
Review profile: CHILL
Plan: Pro
Run ID: 80a3c643-8b70-421b-b99e-b9bd9d545fce
📒 Files selected for processing (9)
README.mdsrc/api.tssrc/cmd.tssrc/package-manager.tssrc/types.tstest/cmd.test.tstest/detect.test.tstest/fixtures/aube/aube-lock.yamltest/fixtures/aube/package.json
- install the aube release binary on Linux/macOS CI runners (no npm package / action published yet, so download the prebuilt binary) - add aube to the shared execution fixtures with a real generated lockfile; isolate it from the repo workspace via pnpm-workspace.yaml so installs don't escape to the repo root - match aube before pnpm in detection so aube-lock.yaml wins over the fixture's pnpm-workspace.yaml marker - skip corepack for aube (it is a standalone binary, not corepack-managed) - skip aube on Windows runners (binary not installed there) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)
28-41: ⚖️ Poor tradeoffConsider extracting duplicated aube installation script.
This installation script is duplicated verbatim in
.github/workflows/autofix.yml(lines 23-36). WhenAUBE_VERSIONneeds updating, both files must be changed. You could extract this to a local composite action under.github/actions/setup-aube/action.ymlfor maintainability.🤖 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 @.github/workflows/ci.yml around lines 28 - 41, Extract the duplicated AUBE install logic into a composite action at .github/actions/setup-aube/action.yml that accepts input AUBE_VERSION (default v1.18.2) and runs the existing shell block (the case on runner.os/runner.arch, compute target, curl|tar extract to $HOME/.aube/bin and echo to $GITHUB_PATH). Replace the inlined script in .github/workflows/ci.yml and .github/workflows/autofix.yml with a single step that uses the new action (./.github/actions/setup-aube) and passes the AUBE_VERSION via with:, ensuring the action preserves the same behavior and environment (uses runner.os/runner.arch, target, and writes to GITHUB_PATH).
🤖 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.
Nitpick comments:
In @.github/workflows/ci.yml:
- Around line 28-41: Extract the duplicated AUBE install logic into a composite
action at .github/actions/setup-aube/action.yml that accepts input AUBE_VERSION
(default v1.18.2) and runs the existing shell block (the case on
runner.os/runner.arch, compute target, curl|tar extract to $HOME/.aube/bin and
echo to $GITHUB_PATH). Replace the inlined script in .github/workflows/ci.yml
and .github/workflows/autofix.yml with a single step that uses the new action
(./.github/actions/setup-aube) and passes the AUBE_VERSION via with:, ensuring
the action preserves the same behavior and environment (uses
runner.os/runner.arch, target, and writes to GITHUB_PATH).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 4a229662-799d-435d-ac6d-ee14fec7f1ba
📒 Files selected for processing (7)
.github/workflows/autofix.yml.github/workflows/ci.ymlsrc/_utils.tssrc/package-manager.tstest/_shared.tstest/fixtures/aube/aube-lock.yamltest/fixtures/aube/pnpm-workspace.yaml
✅ Files skipped from review due to trivial changes (1)
- test/fixtures/aube/pnpm-workspace.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
- src/package-manager.ts
- test/fixtures/aube/aube-lock.yaml
Resolve the latest aube tag at run time (asset names embed the version) using the GitHub API with the workflow token to avoid rate limits. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The latest-version change piped `curl | grep -m1`, which under pipefail made curl exit 23 (write error) when grep closed the pipe early, aborting the step. Resolve the version with `gh release view` and download with `gh release download` instead (no pipe, handles auth/redirects). aube ships Windows builds too, so install the msvc zip there (extracted via bsdtar's `tar -xf`) and stop skipping aube fixtures on Windows. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Git Bash's `tar` is GNU tar and can't read the msvc `.zip`. Use `Expand-Archive` on Windows (tar still handles the unix tarballs). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
aube is installed and verified (aube --version) on Windows CI, but its network-heavy install/dlx fixtures are skipped there: the Windows runner already times out on the equivalent npm/pnpm/deno tests, and adding more concurrent installs only compounds that pre-existing flakiness. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds support for the aube package manager (binaries
aube,aubr,aubx) to nypmSummary by CodeRabbit
New Features
Documentation
Tests
Chores