Skip to content

docs: replace "inherit" terminology with config layering#8046

Merged
jdx merged 3 commits intomainfrom
chore/prepare-scoping-terminology
Feb 7, 2026
Merged

docs: replace "inherit" terminology with config layering#8046
jdx merged 3 commits intomainfrom
chore/prepare-scoping-terminology

Conversation

@jdx
Copy link
Owner

@jdx jdx commented Feb 7, 2026

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: #8002

Test plan

  • Comments only, no behavior change

🤖 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.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).

Written by Cursor Bugbot for commit aeedbba. This will update automatically on new commits. Configure here.

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>
Copilot AI review requested due to automatic review settings February 7, 2026 18:02
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @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 prepare engine's internal documentation. The changes involve updating specific terminology within code comments to better reflect the scoping behavior of prepare providers, ensuring that future developers have a more accurate understanding of their functionality. No functional code changes were introduced, making this a purely documentation-focused improvement.

Highlights

  • Terminology Clarification: Replaced the term 'inherited' with 'scoped' in comments related to the prepare engine to accurately describe how prepare providers function within directories.
  • Improved Documentation: Updated comments to clarify that prepare providers are scoped to the directory where they are defined and do not inherit behavior from parent directories.
Changelog
  • src/prepare/engine.rs
    • Updated a comment to change 'inherited' to 'scoped' when describing how prepare configs apply, emphasizing that they are directory-specific.
    • Modified a comment to replace 'not inherited from parent directories' with 'skip config files from parent directories' for better clarity on config file inclusion.
Activity
  • The pull request was authored by jdx.
  • The changes are purely comment-based, with no impact on runtime behavior, as stated in the test plan.
  • The changes were generated with the assistance of Claude Code.
  • The PR references a GitHub discussion (`mise prepare` improvement proposals #8002) for additional context on the terminology clarification.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

Comment on lines +87 to +88
/// 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.
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

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.”

Suggested change
/// 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.

Copilot uses AI. Check for mistakes.
// 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).
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

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).”

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

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.

Comment on lines +87 to +88
/// 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.
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

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.

Suggested change
/// 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>
@jdx jdx changed the title chore: clarify prepare scoping terminology in comments docs: replace "inherit" terminology with config layering Feb 7, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jdx
Copy link
Owner Author

jdx commented Feb 7, 2026

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

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.

@jdx jdx enabled auto-merge (squash) February 7, 2026 18:25
@jdx jdx merged commit 614dcf7 into main Feb 7, 2026
36 checks passed
@jdx jdx deleted the chore/prepare-scoping-terminology branch February 7, 2026 18:33
@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Hyperfine Performance

mise x -- echo

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%

mise-en-dev added a commit that referenced this pull request Feb 8, 2026
### 🚀 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)
lucasew pushed a commit to lucasew/CONTRIB-mise that referenced this pull request Feb 18, 2026
## 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>
lucasew pushed a commit to lucasew/CONTRIB-mise that referenced this pull request Feb 18, 2026
### 🚀 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)
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