Skip to content

Unify the development environment and manage CLI tools with mise - #204

Merged
jiminu merged 4 commits into
mainfrom
refactor/mise-cli-tools
Sep 14, 2026
Merged

jiminu merged 4 commits into
mainfrom
refactor/mise-cli-tools

Conversation

@jiminu

@jiminu jiminu commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace selectable minimal/developer profiles with one development environment declared in packages.conf.
  • Remove --profile, profile-selection state, and profile-specific configuration branches. Keep a simple completed-configuration marker.
  • Manage Starship, fzf, zoxide, ripgrep, eza, bat, and jq through mise on both macOS and Ubuntu; preserve eza/bat as optional.
  • Pin Starship to 1.26.0 in config/shared/mise.toml, remove its direct-download/Homebrew installation paths, and use the shared mise version-update workflow.
  • Update release payloads, lifecycle tests, documentation, and the isolated full-mode benchmark for the unified environment.
  • Query installed mise versions for status/doctor, excluding orphaned shims; isolate installer-owned mise operations from the caller's project configuration.
  • Pin fzf/zoxide in the full benchmark and assert real shell integration startup. Extend Ubuntu E2E with conflicting project pins, Zsh startup, and configured-but-uninstalled Starship checks.

Intentional compatibility change

Profile selection and legacy profile migration are deliberately not retained. This is a single-environment product change, not an automatic migration of old minimal installations. Existing user configuration and installed tools are not deleted as part of this PR.

Verification

  • Local WSL: PATH="<pinned-neovim-bin>:$PATH" bash scripts/check.sh (21 test suites, syntax, ShellCheck, and formatting).
  • Real isolated installation: SELFISHELL_BENCHMARK_ITERATIONS=3 PATH=/usr/bin:/bin bash scripts/benchmark.sh --mode full provisions pinned mise/Zinit and mise-managed Starship/fzf/zoxide; their resolved paths and Zsh initialization are checked before timing.
  • Empty temporary HOME with real mise: uninstalled Starship reports missing; a conflicting Node 24.13.0 project no longer overrides the release's 24.18.0 installer selection.
  • Isolated WSL comparison with identical Starship 1.26.0 binaries: login/non-login first prompts initialize correctly; warmed first prompt medians were 35.72 ms direct vs. 37.54 ms via mise (50 samples), prompt rendering 2.31 ms vs. 2.32 ms (100 samples).
  • GitHub Actions run 34855452692 passed for c183fd0: Linux/macOS shell checks, the expanded Ubuntu 24.04 real installation lifecycle, macOS configuration lifecycle, and pinned Neovim E2E. GitGuardian also passed.
  • Follow-up review identified and prompted fixes for installed-version detection and project-config interference; regression tests cover both.
  • Independent review of those fixes found no further actionable issues.
  • Fixed the previous macOS test failure by replacing GNU-specific sed basic-regex alternation with portable extended-regex syntax; the new macOS gate passed.

Scope retained

  • OS foundation packages stay with Apt/Homebrew; Zsh and Neovim plugins stay with their existing managers.
  • No Mason/LSP or development/CI-tool migration is included.
  • No merge, tag, or release publication is part of this change.

@jiminu jiminu changed the title Manage developer CLI tools with mise Unify the development environment and manage CLI tools with mise Sep 14, 2026
@jiminu
jiminu merged commit 4b86d6c into main Sep 14, 2026
7 checks passed
@jiminu
jiminu deleted the refactor/mise-cli-tools branch September 14, 2026 14:30
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.

1 participant