Repository navigation
feat(config): support project conf.d fragments - #12061
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan includes up to 10 reviews per rolling hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe configuration loader now discovers non-hidden TOML fragments in ChangesConfiguration discovery and validation
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change adds support for project configuration fragments with documentation and an end-to-end test; no actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant Project
participant Mise
participant ConfigDirectory
participant TaskDiscovery
Project->>Mise: run configuration or task command
Mise->>ConfigDirectory: discover conf.d TOML files
ConfigDirectory-->>Mise: return non-hidden files alphabetically
Mise->>TaskDiscovery: provide loaded project configuration
TaskDiscovery-->>Project: expose configured tasks
Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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 |
Greptile SummaryThis PR adds project-local
Confidence Score: 5/5The PR appears safe to merge, with no actionable correctness or security defects identified. The new project fragment path is applied consistently across loading and monorepo discovery, while precedence, hidden-file exclusion, lockfile placement, and write-target behavior are explicitly covered. Important Files Changed
Reviews (1): Last reviewed commit: "feat(config): support project conf.d fra..." | Re-trigger Greptile |
mise loads single-file fragments from `conf.d/` dirs (added in jdx/mise#12061 and jdx/mise#12395), but they're currently missing from the cache key <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Mise configuration matching now includes `conf.d/*.toml` files located under `.config/mise`, `.mise`, and `mise`. Updates to these files are now included when determining whether mise configuration has changed. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
.mise/conf.d/*.tomlfiles as project configuration fragments.mise/config.tomlauthoritative.mise/mise.lockroutingDetails
The project config discovery list already supported
.config/mise/conf.d/*.toml, while the config-root and lockfile helpers already understood.mise/conf.d. The missing piece was the discovery pattern itself. This adds that pattern immediately below.mise/config.tomlin precedence, filters hidden files consistently with global/systemconf.d, and routes every downstream feature through the existing config pipeline.Verification
mise exec -- cargo test --all-features test_project_mise_conf_d_precedencemise exec -- cargo test --all-features test_has_mise_config_with_glob_filenamesmise run test:e2e e2e/config/test_project_config_confd_slowmise run test:e2e e2e/cli/test_global_config_confd e2e/tasks/test_task_config_precedencemise exec -- cargo test --all-features config_root::testsmise exec -- cargo test --all-features test_lockfile_path_for_configmise exec -- cargo check --all-featuresmise exec -- cargo fmt --all -- --checkmise exec -- shellcheck e2e/config/test_project_config_confd_slowmise exec -- shfmt -d e2e/config/test_project_config_confd_slowmise exec -- prettier --check docs/configuration.mdmise run docs:buildcargo clippy --workspace --all-features --all-targets -- -D warningscurrently stops on the unchanged latest-mainneedless_returnatsrc/system/packages/brew/cask.rs:1959.mise run lintalso cannot run in this dotgitless Sapling checkout because hk reportsfailed to find git repository.Addresses #9909
AI-assisted — Tool: Codex; model: OpenAI/GPT-5; version: unavailable.