feat(config): store aube settings outside npmrc#517
Conversation
Greptile SummaryThis PR introduces
Confidence Score: 5/5Safe to merge; the config split, symlink fix, and precedence wiring are all consistent with runtime behaviour and covered by new unit and integration tests. The effective read/write precedence (user .npmrc beats aube config, project .npmrc beats both) is implemented correctly and confirmed by the new bats test. All error paths that could leave stale state now propagate with ? or emit tracing::warn!. The only finding is a doc-string walk-order description that is backwards relative to the actual insertion order, which does not affect runtime correctness. The user-facing doc strings in mod.rs, aube.usage.kdl, and docs/cli/ describe the merged walk order as ~/.npmrc then user aube config, but the actual insertion order is reversed; worth correcting so users are not misled about which store wins on conflict. Important Files Changed
Reviews (3): Last reviewed commit: "[autofix.ci] apply automated fixes" | Re-trigger Greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e1613c3. Configure here.

Summary
~/.config/aube/config.tomlfor known aube-owned settingsaube config set/get/list/deleteread and write that TOML config while keeping unknown registry/auth keys in.npmrc.npmrcfiles for remaining npmrc writesContext
Addresses Discussions #513 and #516: aube-specific settings no longer need to be written into npm's user config, and
.npmrcwrites follow the symlink target instead of replacing the symlink.Validation
cargo testcargo clippy --all-targets -- -D warningscargo fmt --check && cargo checkaube config set minimum-release-age 2880writesconfig.toml,aube config get minimum-release-agereturns2880, and staleminimumReleaseAgeis removed from user.npmrcwhile registry config remainsThis PR was generated by Codex.
Note
Medium Risk
Changes configuration read/write paths and precedence by introducing
~/.config/aube/config.toml, which can affect effective settings across many commands if ordering or key classification is wrong. Also adjusts.npmrcwrites to follow symlink targets, touching auth-token storage paths.Overview
Adds a new user-scoped TOML config (
~/.config/aube/config.toml, XDG-aware) for known aube-owned settings, keeping registry/auth and unknown keys in.npmrc.Updates
aube config set/get/list/deleteand the broader settings resolver to treataubeConfigas an additional source (between.npmrcand workspace YAML), threads it through commands that build aResolveCtx, and cleans up stale user.npmrcaliases when migrating a known setting to TOML.Hardens
.npmrcpersistence by writing atomically to the symlink target (preserving symlinked dotfile setups), and refreshes generated CLI/docs/tests to reflect the new locations and precedence.Reviewed by Cursor Bugbot for commit 57b8374. Bugbot is set up for automated code reviews on this repo. Configure here.