docs: remove managed CLI plan
This commit is contained in:
@@ -1,84 +0,0 @@
|
||||
# Managed CLI Global Install
|
||||
|
||||
## Status
|
||||
|
||||
Implemented on this branch.
|
||||
|
||||
The original plan was to replace the desktop app's state-file trampoline CLI install flow with a stable outer shim, a bundle-managed inner launcher, structured install results, UI fallback instructions, and Docker-like CLI default host resolution. That work now exists in code and this file records what shipped.
|
||||
|
||||
## What Exists
|
||||
|
||||
### Desktop runtime and launcher
|
||||
|
||||
- The desktop runtime bundle is assembled by [build-managed-runtime.mjs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/scripts/build-managed-runtime.mjs).
|
||||
- The Tauri runtime manager now maintains:
|
||||
- a stable inner launcher under `bin/`
|
||||
- a trivial outer PATH shim
|
||||
- structured CLI install/uninstall results
|
||||
- manual install instructions
|
||||
- The old `--paseo-cli-shim <state-file>` trampoline is no longer the installed shim path.
|
||||
|
||||
Relevant files:
|
||||
|
||||
- [runtime_manager.rs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/src-tauri/src/runtime_manager.rs)
|
||||
- [lib.rs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/src-tauri/src/lib.rs)
|
||||
- [build-managed-runtime.mjs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/scripts/build-managed-runtime.mjs)
|
||||
- [managed-daemon-smoke.mjs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/scripts/managed-daemon-smoke.mjs)
|
||||
|
||||
### App UI and desktop bridge
|
||||
|
||||
- The desktop bridge exposes a structured `CliShimResult` with explicit statuses and optional manual instructions.
|
||||
- The desktop settings UI now:
|
||||
- warns that a permissions prompt may appear before install starts
|
||||
- opens a dedicated modal when manual install is required
|
||||
- shows copyable platform-specific commands
|
||||
|
||||
Relevant files:
|
||||
|
||||
- [managed-runtime.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/app/src/desktop/managed-runtime/managed-runtime.ts)
|
||||
- [desktop-updates-section.tsx](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/app/src/desktop/components/desktop-updates-section.tsx)
|
||||
|
||||
### CLI default host resolution
|
||||
|
||||
- The CLI now resolves default daemon targets in this order when `--host` is not provided:
|
||||
1. local IPC target if discoverable
|
||||
2. configured non-default TCP target
|
||||
3. `localhost:6767`
|
||||
|
||||
Relevant files:
|
||||
|
||||
- [client.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/cli/src/utils/client.ts)
|
||||
- [28-client-ipc-targets.test.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/cli/tests/28-client-ipc-targets.test.ts)
|
||||
|
||||
## Files Created For This Work
|
||||
|
||||
- [MANAGED_CLI_GLOBAL_INSTALL_LOOP_PLAN.md](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/MANAGED_CLI_GLOBAL_INSTALL_LOOP_PLAN.md)
|
||||
- [managed-runtime.test.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/app/src/desktop/managed-runtime/managed-runtime.test.ts)
|
||||
- [managed-runtime.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/app/src/desktop/managed-runtime/managed-runtime.ts)
|
||||
- [managed-tauri-daemon-transport.test.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/app/src/utils/managed-tauri-daemon-transport.test.ts)
|
||||
- [managed-tauri-daemon-transport.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/app/src/utils/managed-tauri-daemon-transport.ts)
|
||||
- [28-client-ipc-targets.test.ts](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/cli/tests/28-client-ipc-targets.test.ts)
|
||||
- [build-managed-runtime.mjs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/scripts/build-managed-runtime.mjs)
|
||||
- [managed-daemon-smoke.mjs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/scripts/managed-daemon-smoke.mjs)
|
||||
- [runtime_manager.rs](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/src-tauri/src/runtime_manager.rs)
|
||||
- [resources/.gitkeep](/Users/moboudra/.paseo/worktrees/1luy0po7/managed-daemon-bundle/packages/desktop/src-tauri/resources/.gitkeep)
|
||||
|
||||
## Acceptance Check
|
||||
|
||||
- Stable outer shim: covered by runtime-manager tests that assert the outer shim forwards to a stable inner launcher and does not encode runtime-specific roots.
|
||||
- Inner launcher: implemented inside the managed runtime tree and invoked directly by the outer shim.
|
||||
- Structured install results: implemented in Rust and parsed in TypeScript without string matching.
|
||||
- Permission notice and fallback modal: implemented in the desktop settings UI.
|
||||
- macOS global target: `/usr/local/bin/paseo`.
|
||||
- CLI host ordering: covered by CLI tests, including the non-default TCP fallback case.
|
||||
|
||||
## Verification
|
||||
|
||||
- Run `npm run typecheck`
|
||||
- Run targeted tests for the CLI and desktop-managed runtime paths
|
||||
- Perform a manual macOS smoke check for the privileged `/usr/local/bin/paseo` install flow
|
||||
|
||||
## Remaining Manual Validation
|
||||
|
||||
- Privileged install and uninstall prompts still need the normal on-device macOS smoke pass.
|
||||
- Merge readiness depends on the branch test pass after rebasing onto `origin/main`.
|
||||
Reference in New Issue
Block a user