feat(cli): add setup select for explicit multi-host plugin install - #1311
Open
knqiufan wants to merge 2 commits into
Open
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
Let users choose first-class hosts instead of PATH-scanning, and isolate one host failure from the rest.
This was referenced Aug 21, 2026
This was referenced Aug 22, 2026
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.
Which issue or RFC does this PR close?
Closes #1301
Rationale for this change
Multi-agent machines still have to run one fail-closed
setup <host>command per integration. Concatenating those commands aborts on the first missing CLI. PATH-driven auto-install would also treat “the CLI is present” as “install this plugin,” including Claude prompt capture.This PR adds an opt-in orchestration command that installs only the first-class hosts the user selects, keeps the existing single-target commands unchanged, and isolates one host failure from the others.
What changes are included in this PR?
powercontext setup selectover a shared first-class catalog:codex,claude-code,dsh,pi,hermes.--hostis the scriptable path. A TTY without--hostprints the catalog and accepts numbers or names.--jsonand non-TTY require--host.failedand continue. Unselected hosts areskipped.powercontext setupstill prints help.setup <host>remains fail-closed.doctoris unchanged;doctor integrationsis left for a follow-up PR.tests/test_setup_select.pycovers selection, isolation, TTY/non-TTY, JSON, flag pass-through, and the single-target fail-closed regression.Are there any user-facing changes?
Yes. New optional command:
No breaking API or storage-format change. Per-host setup commands keep their current behavior.
How was this change tested?
python -m pytest tests/test_setup_select.pypython -m pytest tests/test_system_cli.py tests/test_dsh_cli.py tests/test_hermes_cli.py tests/test_pi_cli.pyruff checkon the changed Python filesty checkon the changed Python filesuv lock --lockedAI usage statement
Used for implementation and review against the issue contract. The design, command surface, and acceptance criteria follow #1301 and the follow-up comment on that issue.