Kind
implement
Goal
Make installation explicit, idempotent, and diagnosable across all supported CLI agents and desktop modes.
Non-goals
- Silently modifying unrelated agent configuration.
- Installing adapters for agents not in the supported matrix.
- Hiding unsupported desktop behavior.
Invariants
- Existing config is preserved and merges are reversible.
- Detection reports binary, version, surface, and adapter status.
- Re-running install is idempotent.
- Uninstall removes only human.md-owned changes.
Behavioral contract / States
The installer supports auto, explicit agent selection, dry-run, doctor, and uninstall. It reports supported, conditional, advisory, and unsupported states with actionable remediation.
Scope surface
install.sh, uninstall.sh, adapter registration, diagnostics output, and installer tests.
Acceptance
- Test clean install, repeat install, dry-run, doctor, and uninstall in an isolated HOME.
- Test detection with each installed CLI and with missing binaries.
- Run: bash tests/test_install.sh and add assertions for idempotence and non-destructive config merges.
- Doctor output must identify the exact adapter and hook path in use.
Split triggers
- An agent requires an installer language/runtime not shared by the core.
- Config ownership cannot be safely detected or reversed.
Dependencies / Parent
Blocked by: #4, #5, #6, #7, #8, #9, #10
Parent Epic: #15
Kind
implement
Goal
Make installation explicit, idempotent, and diagnosable across all supported CLI agents and desktop modes.
Non-goals
Invariants
Behavioral contract / States
The installer supports auto, explicit agent selection, dry-run, doctor, and uninstall. It reports supported, conditional, advisory, and unsupported states with actionable remediation.
Scope surface
install.sh, uninstall.sh, adapter registration, diagnostics output, and installer tests.
Acceptance
Split triggers
Dependencies / Parent
Blocked by: #4, #5, #6, #7, #8, #9, #10
Parent Epic: #15