feat(config): reorder the install provider picker and add Oh My Pi and Grok CLI (#617) - #618
Merged
Merged
Conversation
added 3 commits
September 5, 2026 23:21
Put Agents first in the install provider picker, followed by Claude Code, Pi, OpenCode, and Codex; the remaining providers keep their order. Add `omp` (Oh My Pi) and `grok` (Grok CLI) as built-in providers. Reordering the defaults alone would not reach anyone who already has a saved config, so `mergeWithDefaults` now canonicalizes the provider order on load. User-added providers keep their anchor: each stays just after whichever built-in preceded it in the saved config. The Agents row carries a note that most harnesses support it, except Claude Code. The note leads the hint so it survives truncation on a narrow terminal. First-time setup now pre-checks Agents and Claude Code. Claude-Session: https://claude.ai/code/session_01L7wEboaD5rvJst7KeKiEzq
Review feedback: the first-run pre-check ticked Agents and Claude Code regardless of `enabled`, and the picker does not filter disabled rows out of the selection, so a provider the user had turned off would install on Enter and be persisted to `selectedTools`. Gate the pre-check on `p.enabled` and restore the assertion that pins it. Claude-Session: https://claude.ai/code/session_01L7wEboaD5rvJst7KeKiEzq
Bump landing/README counts to 21, lead the Agents picker hint with the Claude Code exception so it survives narrow-terminal truncation, and list docs/README providers in picker order.
luongnv89
deleted the
feat/617-reorder-the-install-provider-picker-and
branch
September 5, 2026 21:54
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.
Description
Reorders the interactive
asm installprovider picker and extends the built-in provider list.New canonical order: Agents, Claude Code, Pi, OpenCode, Codex, Oh My Pi, Grok CLI, then the remaining providers in their existing relative order. The Agents row carries a note that most harnesses support it, except Claude Code; the note leads the hint so it survives truncation on a narrow terminal.
Three things the issue asked for that needed a decision:
amp codealready existed as the built-inamp(~/.amp/skills). No second entry was added; a duplicate name would have been dropped silently bymergeWithDefaults.ompandgrok buildare new. They reuse the definitions from open PR feat: add grok, omp, and reasonix built-in providers #557 so the two stay compatible:omp= Oh My Pi at~/.omp/agent/skills,grok= Grok CLI at~/.grok/skills. feat: add grok, omp, and reasonix built-in providers #557's third provider,reasonix, was deliberately not carried in — Reorder the install provider picker and add Grok Build, Amp Code, and omp #617 does not ask for it.mergeWithDefaultsonly splices in missing defaults and never reorders what is already saved, so the reporter's own picker would have looked exactly as in their screenshot. It now canonicalizes the provider order on load. User-added providers keep their relative anchor and nothing is dropped.Mid-flight addition from the reporter, recorded on the issue: first-time setup pre-checks Agents and Claude Code, not Agents alone. It never pre-checks a provider the user has disabled.
Related Issue
Closes #617
Overlaps open PR #557 (
omp,grok,reasonix). This PR carries the first two with the same names and paths. #557 can be closed or rebased down toreasonixalone.Type of Change
Decision Record
mergeWithDefaultsDEFAULT_PROVIDERSalone reaches only fresh installs; the reporter has a saved config, so acceptance criterion 1 would have failed on their own machinepreserves user-added custom providers in placepassing; a custom provider stays adjacent to the built-in it followedcheckbox-pickertruncates the hint at narrow widths and drops it entirely below 10 columns of room; putting the note first means the requested text is the part that survivesProviderConfigfield for the noteProviderConfigis persisted toconfig.json— a new field would mean migration churn for one stringreasonixTest Results
CI=true npm test— 2664 passed, 83 files, 0 failed.npm run typecheck,npm run lint,npm run lint:site— all clean.New and updated coverage:
src/config.test.ts— pins the 21-provider canonical order; new test canonicalizes a pre-Reorder the install provider picker and add Grok Build, Amp Code, and omp #617 saved config and asserts nothing the user had is dropped.src/installer.test.ts— first-run pre-check is Agents + Claude Code; a disabled provider is never pre-checked; the Agents hint text is pinned.Acceptance Criteria Verification
src/config.test.tsall 21 default providers in priority ordercanonicalizes a saved config that predates the #617 reorderasserts every legacy name survivessrc/installer.test.tspins the hint stringompandgrokadded;ampwas already presentsrc/utils/checkbox-picker.test.tsand theresolveProviderpicker suite unchanged and passingno saved tools defaults agents + claude to checkedReview
One blocking finding, fixed in 40ed06a: the first-run pre-check ignored
enabled, so a user who had disabled Claude Code would have had it pre-checked and installed on Enter. Gated onp.enabled.Additional Notes
Existing users see their
~/.config/agent-skill-manager/config.jsonprovider array rewritten into the new order on the next load.preferences.selectedToolsis stored by name, so saved selections are unaffected.https://claude.ai/code/session_01L7wEboaD5rvJst7KeKiEzq