Skip to content

feat(config): reorder the install provider picker and add Oh My Pi and Grok CLI (#617) - #618

Merged
luongnv89 merged 3 commits into
mainfrom
feat/617-reorder-the-install-provider-picker-and
Sep 5, 2026
Merged

feat(config): reorder the install provider picker and add Oh My Pi and Grok CLI (#617)#618
luongnv89 merged 3 commits into
mainfrom
feat/617-reorder-the-install-provider-picker-and

Conversation

@luongnv89

Copy link
Copy Markdown
Owner

Description

Reorders the interactive asm install provider 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 code already existed as the built-in amp (~/.amp/skills). No second entry was added; a duplicate name would have been dropped silently by mergeWithDefaults.
  • omp and grok build are 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.
  • Reordering the defaults alone would not have fixed anything for existing users. mergeWithDefaults only 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 to reasonix alone.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)

Decision Record

Decision Why
Canonicalize saved provider order in mergeWithDefaults Reordering DEFAULT_PROVIDERS alone reaches only fresh installs; the reporter has a saved config, so acceptance criterion 1 would have failed on their own machine
Anchor user-added providers rather than appending them Keeps preserves user-added custom providers in place passing; a custom provider stays adjacent to the built-in it followed
Note leads the Agents hint, path trails checkbox-picker truncates 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 survives
No new ProviderConfig field for the note The note is picker presentation, and ProviderConfig is persisted to config.json — a new field would mean migration churn for one string
Skipped reasonix Not requested by #617

Test Results

CI=true npm test2664 passed, 83 files, 0 failed.
npm run typecheck, npm run lint, npm run lint:site — all clean.

New and updated coverage:

Acceptance Criteria Verification

Criterion Status Evidence
Picker lists Agents, Claude Code, Pi, OpenCode, Codex as its first five, in order src/config.test.ts all 21 default providers in priority order
Every provider still appears after those five, none dropped canonicalizes a saved config that predates the #617 reorder asserts every legacy name survives
Agents entry shows the harness-support note src/installer.test.ts pins the hint string
Grok Build, Amp Code, and omp are selectable omp and grok added; amp was already present
Select All / Deselect All and selection behave as before src/utils/checkbox-picker.test.ts and the resolveProvider picker suite unchanged and passing
First-time setup pre-checks Claude Code + Agents (added mid-flight) no saved tools defaults agents + claude to checked

Review

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 on p.enabled.

Additional Notes

Existing users see their ~/.config/agent-skill-manager/config.json provider array rewritten into the new order on the next load. preferences.selectedTools is stored by name, so saved selections are unaffected.

https://claude.ai/code/session_01L7wEboaD5rvJst7KeKiEzq

Test 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
luongnv89 merged commit 55c150a into main Sep 5, 2026
14 checks passed
@luongnv89
luongnv89 deleted the feat/617-reorder-the-install-provider-picker-and branch September 5, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reorder the install provider picker and add Grok Build, Amp Code, and omp

1 participant