Skip to content

CLI: port webview marketplace features for full parity#94

Merged
zo-sol merged 1 commit into
mainfrom
cli-market-parity-93
Jul 2, 2026
Merged

CLI: port webview marketplace features for full parity#94
zo-sol merged 1 commit into
mainfrom
cli-market-parity-93

Conversation

@mega123-art

Copy link
Copy Markdown
Contributor

Summary

  • Closes Port mobile marketplace features to CLI surface (full parity: 16 render + 4 form gaps) #93. The vscode surface already loads the webview (full parity, no work needed); the CLI's Ink marketplace was the only gap — it fetched agent/skill data via marketplaceEnv but rendered a fraction of it.
  • Split the render layer into surfaces/cli/src/views/market/ (tiers.ts, ScrollView.tsx, AgentProfileView.tsx, SkillDetailView.tsx, PublishProgressView.tsx, HeliusPanel.tsx) and widened SkillMarket.tsx's MarketApi type to match what marketplaceEnv actually returns.
  • Added: agent tier badge+gauge+ladder, earned SOL, verified GitHub repos (with "show all"), blog carousel, full comment stacks (skill + agent), required-skills checkmarks+prices+collect-all, full SKILL.md via an in-view scroll viewport (no more 1200-char truncation), dispose/re-equip, firing pulse on buy/re-equip, hide-owned filter, agent wallet search, Helius RPC status badge + settings, live 3-phase publish progress, publish image field, self blog composer.
  • No webview / vscode / core changes. marketplaceEnv already exposed every method/field needed; the CLI's local MarketApi interface was just narrower than the real object it receives.
  • Dropped two items from the issue's gap table after checking the actual protocol/webview source: postNote (skill comments) and publishSkill never had image/githubLink params in the wire protocol, and the webview itself doesn't expose them either — so there was nothing to port.

Test plan

  • tsc --noEmit on surfaces/cli — clean
  • pnpm build (tsup) in surfaces/cli — succeeds
  • Confirmed via git stash diff-test that no pre-existing behavior regressed outside this branch's changes
  • Manual interactive walkthrough in a real terminal with a funded devnet wallet (not possible in this sandbox — no TTY/wallet available)

🤖 Generated with Claude Code

CLI's Ink marketplace (surfaces/cli/src/views/SkillMarket.tsx) already fetched
agent/skill data via marketplaceEnv but rendered a fraction of it. Split the
render layer into surfaces/cli/src/views/market/ and add: agent tier
badge+gauge+ladder, earned SOL, verified GitHub repos, blog carousel, full
(scrollable) comment stacks, required-skills checkmarks+prices+collect-all,
full SKILL.md via an in-view scroll viewport, dispose/re-equip, firing pulse,
hide-owned filter, agent wallet search, Helius RPC status+settings, live
3-phase publish progress, and a publish image field + self blog composer.

No webview/vscode/core changes — marketplaceEnv already returned everything
needed; only the CLI's local MarketApi type was narrower than the real object.

Two items from the issue's gap table were dropped after checking the actual
protocol/webview source: postNote (skill comments) and publishSkill never had
image/githubLink params in the wire protocol, and the webview itself doesn't
expose them either — so there was no feature to port.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

Port mobile marketplace features to CLI surface (full parity: 16 render + 4 form gaps)

2 participants