• @mosaicstack/mosaic 0.0.25 — install UX hardening
    All checks were successful
    ci/woodpecker/push/ci Pipeline was successful
    ci/woodpecker/push/publish Pipeline was successful
    ci/woodpecker/tag/publish Pipeline was successful
    Pre-Release

    jason.woltje released this 2026-04-05 20:53:26 +00:00 | 19 commits to main since this release

    @mosaicstack/mosaic 0.0.25 — install UX hardening

    Closes the install-ux-hardening-20260405 mission. All 7 acceptance criteria satisfied across three feature PRs.

    New features

    mosaic uninstall (PR #429)

    • Top-level command that cleanly reverses every mutation made by tools/install.sh — framework data, npm CLI, nested stack deps, runtime asset injections in ~/.claude/, and npmrc scope mapping
    • Flags: --framework, --cli, --gateway, --all, --keep-data, --yes, --dry-run
    • New install manifest at ~/.config/mosaic/.install-manifest.json drives deterministic reversal; heuristic fallback for installs that predate the manifest
    • Shell fallback: curl … | bash -s -- --uninstall works without a functioning CLI

    Wizard remediation (PR #431)

    • Password entry is now masked in raw mode with a confirmation prompt (no plaintext echo)
    • New hooks-preview stage shows exactly which Claude hooks will be installed and captures explicit consent
    • New mosaic config hooks list|enable|disable subcommands for post-install management
    • Headless install path: MOSAIC_ASSUME_YES=1 + MOSAIC_ADMIN_NAME/EMAIL/PASSWORD lets CI/automation complete the wizard without a TTY

    Unified first-run wizard (PR #433)

    • mosaic wizard and mosaic gateway install are collapsed into a single cohesive flow with shared in-memory state
    • Gateway config + admin bootstrap are now terminal stages 11 & 12 of runWizard
    • The fragile 10-minute $XDG_RUNTIME_DIR/mosaic-install-state.json session bridge has been removed
    • mosaic gateway install still works standalone (thin wrapper over the same stages) for users who already went through the wizard
    • state.hooks.accepted === false now propagates end-to-end via MOSAIC_SKIP_CLAUDE_HOOKS — declining hooks actually skips hook installation

    Stats

    • 24 test files, 219 tests passing (+15 net new since 0.0.24)
    • 4 rounds of independent codex code review applied across the milestones

    Upgrade

    npm i -g @mosaicstack/mosaic@0.0.25
    

    Alpha — stays in 0.0.x until GA.

    Downloads