Conversation
Adds built-in support for aube (https://github.com/endevco/aube), a fast Node.js package manager. The provider detects projects via aube-lock.yaml, runs aube install for freshness, and powers mise deps add/remove with the aube:<pkg> ecosystem prefix (-D for dev deps). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Greptile SummaryThis PR adds a first-class Confidence Score: 5/5This PR is safe to merge — it's a self-contained additive change with no regression risk to existing providers. The implementation faithfully mirrors the bun provider pattern with no novel logic, all registration points are covered (BUILTIN_PROVIDERS, engine dispatch, auto-detection, re-export), the e2e test correctly resets state between provider sections, and no security or correctness issues were found. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Project root] --> B{aube-lock.yaml exists?}
B -- No --> C[Provider not applicable]
B -- Yes --> D[AubeDepsProvider active]
D --> E{Freshness check}
E -- aube-lock.yaml / package.json changed --> F[Stale → run install_command]
E -- Up to date --> G[Fresh → skip]
F --> H[aube install]
I[mise deps add aube:pkg] --> J[add_command]
J --> K{dev flag?}
K -- Yes --> L[aube add -D pkg]
K -- No --> M[aube add pkg]
N[mise deps remove aube:pkg] --> O[remove_command]
O --> P[aube remove pkg]
Reviews (1): Last reviewed commit: "feat(deps): add aube provider" | Re-trigger Greptile |
There was a problem hiding this comment.
Code Review
This pull request adds support for the 'aube' package manager as a dependency provider in the project. The changes include implementing the AubeDepsProvider, updating the engine and module registrations, and adding relevant documentation and end-to-end tests. I have reviewed the implementation and suggest a minor simplification to the description logic in the provider using unwrap_or instead of unwrap_or_else.
| description: self | ||
| .base | ||
| .config | ||
| .description | ||
| .clone() | ||
| .unwrap_or_else(|| "aube install".to_string()), |
There was a problem hiding this comment.
The description logic can be simplified using unwrap_or instead of unwrap_or_else since the default value is a constant string.
| description: self | |
| .base | |
| .config | |
| .description | |
| .clone() | |
| .unwrap_or_else(|| "aube install".to_string()), | |
| .description | |
| .clone() | |
| .unwrap_or("aube install".to_string()), |
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.4.25 x -- echo |
18.4 ± 0.5 | 17.2 | 22.1 | 1.00 |
mise x -- echo |
19.1 ± 0.6 | 17.7 | 23.3 | 1.04 ± 0.04 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.4.25 env |
18.4 ± 0.5 | 17.1 | 22.0 | 1.00 |
mise env |
19.1 ± 0.4 | 18.1 | 21.1 | 1.04 ± 0.04 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.4.25 hook-env |
19.1 ± 0.5 | 18.1 | 25.2 | 1.00 |
mise hook-env |
19.3 ± 0.4 | 18.0 | 21.2 | 1.01 ± 0.04 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.4.25 ls |
20.2 ± 0.6 | 19.2 | 25.9 | 1.00 |
mise ls |
20.7 ± 0.4 | 19.8 | 22.7 | 1.02 ± 0.03 |
xtasks/test/perf
| Command | mise-2026.4.25 | mise | Variance |
|---|---|---|---|
| install (cached) | 121ms | 125ms | -3% |
| ls (cached) | 70ms | 71ms | -1% |
| bin-paths (cached) | 70ms | 71ms | -1% |
| task-ls (cached) | 743ms | 721ms | +3% |
### 🚀 Features - **(deps)** add aube provider by @jdx in [#9452](#9452) - **(ls-remote)** add strict metadata mode by @jdx in [#9448](#9448) ### 🐛 Bug Fixes - **(env)** parse concatenated short form `-Eval` correctly by @bts in [#9456](#9456) - **(http)** improve HTML detection by using Content-Type header by @phateffect in [#9407](#9407) - **(task)** install monorepo subdir tools before running deps by @jdx in [#9454](#9454) ### 📦️ Dependency Updates - update astral-tokio-tar advisory by @jdx in [#9449](#9449) - respect -q flag for provider command stream by @JamBalaya56562 in [#9457](#9457) ### New Contributors - @JamBalaya56562 made their first contribution in [#9457](#9457) - @bts made their first contribution in [#9456](#9456) - @phateffect made their first contribution in [#9407](#9407) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Summary
aubedeps provider — auto-detects projects viaaube-lock.yaml, runsaube installfor freshness, and outputs tonode_modules/.mise deps add aube:<pkg>(with-Dfor dev) andmise deps remove aube:<pkg>so aube can manage individual packages alongside the existing npm/yarn/pnpm/bun ecosystems.docs/dev-tools/deps.md(provider table, ecosystem list, configuration example) and adds e2e coverage ine2e/cli/test_deps.Why
aube is a fast Rust-written Node.js package manager (https://github.com/endevco/aube) already in mise's registry. With this PR, an aube-backed project gets the same first-class
mise depsexperience as bun/pnpm: lockfile-aware freshness checks, optionalauto = true, and add/remove via theaube:prefix.Implementation notes
src/deps/providers/aube.rs, modeled after the bun provider. Detection is keyed onaube-lock.yaml(aube's native lockfile) — projects that use aube against an existingpnpm-lock.yaml/bun.lock/etc. continue to be detected by those providers.aubeis registered inBUILTIN_PROVIDERS, in thebuild_providerdispatch inengine.rs, and indetect_applicable_providers.-Dshort form.Test plan
mise run lintpassescargo buildsucceedsmise run test:e2e test_deps— new aube assertions (--listshowsaube+aube-lock.yaml,--dry-runmentionsaube) all pass alongside existing provider coverage🤖 Generated with Claude Code
Note
Low Risk
Low risk additive change that registers a new deps provider and updates detection/listing logic; impact is limited to projects that opt into
[deps.aube]and haveaube-lock.yamlpresent.Overview
Adds first-class support for the
aubeNode.js package manager inmise deps, including lockfile-based applicability (aube-lock.yaml), default install command (aube install), and package management viamise deps add/remove aube:<pkg>(with-Dfor dev deps).Wires the provider into built-in provider registration, discovery, and provider construction, updates docs to list/configure
aube, and extends thetest_depse2e coverage to assert--listand--dry-runbehavior.Reviewed by Cursor Bugbot for commit 5da02da. Bugbot is set up for automated code reviews on this repo. Configure here.