docs: replace "inherit" terminology with config layering#8046
Conversation
Replace "inherited" with "scoped" — prepare providers are scoped to the directory where they are defined, not inherited from parent directories. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary of ChangesHello @jdx, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on enhancing the clarity and precision of the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Pull request overview
Clarifies terminology in PrepareEngine documentation by replacing “inherited” wording with “scoped” to better reflect how prepare providers apply by directory.
Changes:
- Reworded doc comments to explain prepare configs are scoped to the directory where they’re defined.
- Updated an inline comment to describe skipping parent-directory config files.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/prepare/engine.rs
Outdated
| /// Prepare configs are scoped to the directory where they are defined - a `[prepare.pnpm]` | ||
| /// in a root mise.toml only applies when running from that root, not from subdirectories. |
There was a problem hiding this comment.
These doc comments read a bit awkwardly/ambiguously as written: (1) using a hyphen instead of an em dash or a full stop makes the sentence easier to misread, and (2) “in a root mise.toml” could be read as describing the command’s location rather than where the config is defined. Consider rephrasing to something like: “Prepare configs are scoped to the directory where they are defined. For example, a [prepare.pnpm] defined in the root mise.toml only applies when running from the root directory, not from subdirectories.”
| /// Prepare configs are scoped to the directory where they are defined - a `[prepare.pnpm]` | |
| /// in a root mise.toml only applies when running from that root, not from subdirectories. | |
| /// Prepare configs are scoped to the directory where they are defined. | |
| /// For example, a `[prepare.pnpm]` defined in the root `mise.toml` only applies when running | |
| /// from the root directory, not from subdirectories. |
src/prepare/engine.rs
Outdated
| // config file's directory as the project root for its providers. | ||
| // Only include config files that belong to the current project root | ||
| // (not inherited from parent directories). | ||
| // (skip config files from parent directories). |
There was a problem hiding this comment.
Minor clarity: “skip config files from parent directories” could be interpreted as skipping all parent-directory configs unconditionally, rather than “skip config files that are outside the current project root.” Consider aligning wording with the preceding line (project-root membership), e.g. “(skip config files outside the current project root, e.g. from parent directories).”
There was a problem hiding this comment.
Code Review
This pull request clarifies the terminology used in comments related to prepare providers, replacing 'inherited' with 'scoped'. The changes improve the clarity of the documentation and inline comments. I have one suggestion to further improve the clarity of a doc comment to avoid potential confusion about when providers are applied.
src/prepare/engine.rs
Outdated
| /// Prepare configs are scoped to the directory where they are defined - a `[prepare.pnpm]` | ||
| /// in a root mise.toml only applies when running from that root, not from subdirectories. |
There was a problem hiding this comment.
The phrasing of the example could be clearer to avoid ambiguity. The phrase "only applies when running from that root" might be misinterpreted to mean it depends on the user's current working directory.
To make the scoping behavior more explicit, I suggest rephrasing the example to focus on where the provider's command executes. This clarifies that the execution context is tied to the config file's location, regardless of where mise is invoked.
| /// Prepare configs are scoped to the directory where they are defined - a `[prepare.pnpm]` | |
| /// in a root mise.toml only applies when running from that root, not from subdirectories. | |
| /// Prepare configs are scoped to the directory where they are defined. For example, a `[prepare.pnpm]` | |
| /// provider in a root `mise.toml` will execute in that root directory, not in subdirectories. |
…om parent" Config from parent directories isn't "inherited" — it's standard config layering where parent configs contribute to the resolved config. Tasks from parent dirs are simply available, not inherited. Using "inherit" created confusion about which features should propagate across dirs (e.g., why tasks do but prepare providers don't). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request systematically replaces the term 'inheritance' with clearer terminology like 'config layering' across various documentation files and code comments. The changes aim to more accurately describe how configurations, tasks, and tools are made available from parent directories. The updates are consistent and improve the clarity of the documentation. The comment changes in src/prepare/engine.rs are particularly helpful in explaining the scoping of prepare providers. Overall, this is a solid improvement to the project's documentation and internal comments.
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.6 x -- echo |
20.6 ± 0.4 | 19.8 | 23.8 | 1.00 |
mise x -- echo |
20.9 ± 0.5 | 20.1 | 22.9 | 1.02 ± 0.03 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.6 env |
20.3 ± 0.9 | 19.4 | 32.2 | 1.00 |
mise env |
20.5 ± 0.7 | 19.4 | 22.9 | 1.01 ± 0.06 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.6 hook-env |
21.3 ± 0.6 | 20.3 | 23.5 | 1.02 ± 0.04 |
mise hook-env |
21.0 ± 0.5 | 20.2 | 24.1 | 1.00 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.2.6 ls |
19.1 ± 0.4 | 18.3 | 20.5 | 1.00 |
mise ls |
19.6 ± 0.7 | 18.4 | 23.3 | 1.03 ± 0.04 |
xtasks/test/perf
| Command | mise-2026.2.6 | mise | Variance |
|---|---|---|---|
| install (cached) | 113ms | 114ms | +0% |
| ls (cached) | 72ms | 73ms | -1% |
| bin-paths (cached) | 76ms | 76ms | +0% |
| task-ls (cached) | 555ms | 554ms | +0% |
### 🚀 Features - **(shim)** add native .exe shim mode for Windows by @jdx in [#8045](#8045) ### 🐛 Bug Fixes - **(install)** preserve config options and registry defaults by @jdx in [#8044](#8044) - **(link)** linked versions override lockfile during resolution by @jdx in [#8050](#8050) - **(release)** preserve aqua-registry sections in changelog across releases by @jdx in [#8047](#8047) - ls --all-sources shows duplicate entries by @roele in [#8042](#8042) ### 📚 Documentation - replace "inherit" terminology with config layering by @jdx in [#8046](#8046) ### 📦 Registry - switch oxlint to npm backend by default by @risu729 in [#8038](#8038) - add orval (npm:orval) by @zdunecki in [#8051](#8051) ### New Contributors - @zdunecki made their first contribution in [#8051](#8051)
## Summary - Replace "inherited" with "scoped" in prepare engine comments — prepare providers are scoped to the directory where they're defined, they don't "inherit" from parent directories Ref: jdx#8002 ## Test plan - Comments only, no behavior change 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Mostly documentation/comment-only terminology changes; no runtime logic changes beyond clarifying intent. > > **Overview** > Updates multiple docs to replace *inheritance* phrasing with clearer **config layering/parent-availability** terminology for tasks, tools, environments, and shell aliases (including monorepo task docs and task architecture). > > Clarifies in `src/prepare/engine.rs` comments that `[prepare.*]` providers are **scoped to the directory/config file where defined** and do not apply from parent directories when running in subdirectories (no functional behavior change). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit aeedbba. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
### 🚀 Features - **(shim)** add native .exe shim mode for Windows by @jdx in [jdx#8045](jdx#8045) ### 🐛 Bug Fixes - **(install)** preserve config options and registry defaults by @jdx in [jdx#8044](jdx#8044) - **(link)** linked versions override lockfile during resolution by @jdx in [jdx#8050](jdx#8050) - **(release)** preserve aqua-registry sections in changelog across releases by @jdx in [jdx#8047](jdx#8047) - ls --all-sources shows duplicate entries by @roele in [jdx#8042](jdx#8042) ### 📚 Documentation - replace "inherit" terminology with config layering by @jdx in [jdx#8046](jdx#8046) ### 📦 Registry - switch oxlint to npm backend by default by @risu729 in [jdx#8038](jdx#8038) - add orval (npm:orval) by @zdunecki in [jdx#8051](jdx#8051) ### New Contributors - @zdunecki made their first contribution in [jdx#8051](jdx#8051)
Summary
Ref: #8002
Test plan
🤖 Generated with Claude Code
Note
Low Risk
Mostly documentation/comment-only terminology changes; no runtime logic changes beyond clarifying intent.
Overview
Updates multiple docs to replace inheritance phrasing with clearer config layering/parent-availability terminology for tasks, tools, environments, and shell aliases (including monorepo task docs and task architecture).
Clarifies in
src/prepare/engine.rscomments that[prepare.*]providers are scoped to the directory/config file where defined and do not apply from parent directories when running in subdirectories (no functional behavior change).Written by Cursor Bugbot for commit aeedbba. This will update automatically on new commits. Configure here.