feat(cli): add setup select for explicit multi-host plugin install - #1311
Closed
knqiufan wants to merge 2 commits into
Closed
feat(cli): add setup select for explicit multi-host plugin install#1311knqiufan wants to merge 2 commits into
knqiufan wants to merge 2 commits into
Conversation
This was referenced Aug 21, 2026
This was referenced Aug 22, 2026
29 tasks
Teingi
reviewed
Aug 24, 2026
knqiufan
force-pushed
the
feat/cli-setup-select
branch
from
August 24, 2026 07:51
19bf317 to
5f1e7e6
Compare
38 tasks
knqiufan
force-pushed
the
feat/cli-setup-select
branch
2 times, most recently
from
August 26, 2026 15:16
0a6c115 to
f813767
Compare
knqiufan
force-pushed
the
feat/cli-setup-select
branch
from
August 27, 2026 04:39
a628f28 to
7568def
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
The implementation described below was merged through #1314 because that PR was stacked on this branch. After
rebasing onto the latest
master, this PR has no remaining file diff and does not require a separate merge.Which issue or RFC does this PR close?
Closes #1301.
Rationale for this change
Installing PowerContext for several coding agents currently requires one fail-closed
setup <host>command perintegration. Chaining those commands aborts on the first unavailable CLI, while PATH-driven auto-install would treat
CLI presence as user intent and could unexpectedly modify every detected host.
This PR adds an opt-in orchestration command that installs only the integrations selected by the user, preserves the
existing single-host commands, and isolates failures so one host does not prevent the remaining selections from being
processed.
What changes are included in this PR?
powercontext setup selectfor the supported host catalog:codex,claude-code,dsh,openclaw,opencode,pi, andhermes.--hostoptions for scripts and CI. Interactive TTY sessions without--hostdisplay thecatalog and accept numbers or names;
--jsonand non-TTY usage require--host.http://127.0.0.1:8000, and OpenClaw uses--scope-mode agent. Explicit--server-urland--scope-modevalues are forwarded to the applicable hosts.skippedand print the Hermes memory setup guidance after a successful Hermes install.powercontext setuphelp-only and keep everysetup <host>command fail-closed.host-specific defaults, post-install verification, and unchanged single-host behavior.
Are there any user-facing changes?
Yes. The following optional command is new:
There is no breaking API or storage-format change. Existing per-host setup commands retain their current behavior,
and setup does not start the PowerContext Server or launch a host process.
How was this change tested?
uv lock --checkuv run ruff check src/powercontext/cli/hosts.py src/powercontext/cli/system.py tests/test_setup_select.pyuv run ruff format --check src/powercontext/cli/hosts.py src/powercontext/cli/system.py tests/test_setup_select.pyuv run pytest tests/test_setup_select.py tests/test_system_cli.py tests/test_dsh_cli.py tests/test_hermes_cli.py tests/test_openclaw_cli.py tests/test_pi_cli.pyuv run ty checkuv run zensical build -sin a clean worktreeAI usage statement
AI assistance was used for implementation and review against the issue contract. The command surface, failure
isolation rules, and acceptance criteria follow #1301.