Problem
Ubuntu/Debian setup now reaches project delegates beyond Brewfile and Python runtime setup, but projects that declare mise: .mise.toml still fail with a manual "mise is required" error when mise is missing.
The Base manifest already declares that the project needs mise-managed tool versions, so Ubuntu setup should be able to reconcile that delegate instead of leaving contributors to install it by hand.
Desired behavior
basectl setup <project> --dry-run on Ubuntu/Debian should show the planned mise bootstrap when the project manifest declares mise: ....
basectl setup <project> --yes on Ubuntu/Debian should install or bootstrap mise when it is missing, then continue to the existing mise delegate.
basectl setup <project> without --yes should remain conservative before mutating the system/user toolchain.
- Projects that do not declare a mise delegate should not install
mise.
basectl check/doctor <project> should keep reporting missing mise, with recovery guidance that points back to the Base setup flow.
Notes
Observed on Ubuntu 24.04 ARM64 under Parallels:
basectl setup base-demo now creates the Python 3.13 project venv successfully
- setup then fails at
mise is required to install project tool versions from '/home/parallels/work/base-demo/.mise.toml'
base-demo declares mise: .mise.toml, so this should be manifest-driven and not inferred from unrelated files
Validation
- focused Python tests for mise manifest setup behavior
- focused BATS coverage for Ubuntu/Debian dry-run,
--yes, and conservative non-yes behavior
- docs/changelog update for Ubuntu contributor setup
- full
./bin/base-test
Problem
Ubuntu/Debian setup now reaches project delegates beyond Brewfile and Python runtime setup, but projects that declare
mise: .mise.tomlstill fail with a manual "mise is required" error whenmiseis missing.The Base manifest already declares that the project needs mise-managed tool versions, so Ubuntu setup should be able to reconcile that delegate instead of leaving contributors to install it by hand.
Desired behavior
basectl setup <project> --dry-runon Ubuntu/Debian should show the plannedmisebootstrap when the project manifest declaresmise: ....basectl setup <project> --yeson Ubuntu/Debian should install or bootstrapmisewhen it is missing, then continue to the existing mise delegate.basectl setup <project>without--yesshould remain conservative before mutating the system/user toolchain.mise.basectl check/doctor <project>should keep reporting missingmise, with recovery guidance that points back to the Base setup flow.Notes
Observed on Ubuntu 24.04 ARM64 under Parallels:
basectl setup base-demonow creates the Python 3.13 project venv successfullymise is required to install project tool versions from '/home/parallels/work/base-demo/.mise.toml'base-demodeclaresmise: .mise.toml, so this should be manifest-driven and not inferred from unrelated filesValidation
--yes, and conservative non-yes behavior./bin/base-test