Skip to content

feat: onboarding UX overhaul + skill rewrite - #7

Merged
Hiksang merged 8 commits into
mainfrom
feat/onboarding
Mar 11, 2026
Merged

feat: onboarding UX overhaul + skill rewrite#7
Hiksang merged 8 commits into
mainfrom
feat/onboarding

Conversation

@Hiksang

@Hiksang Hiksang commented Mar 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Smart landing page: perp with no args shows welcome (fresh) or status overview with public addresses (configured)
  • perp init: Interactive setup wizard — asks for exchanges, validates keys, writes to ~/.perp/.env
  • perp wallet set <exchange> <key>: Non-interactive wallet setup for agents (replaces wallet setup)
  • perp wallet show: Show configured wallets with public addresses
  • perp wallet generate: Now also writes to .env (fixes agent wallet connection bug)
  • perp env commands: Direct .env management (set/show/remove/path)
  • Default exchange: perp settings set default-exchange hl — skip -e flag
  • SKILL.md rewrite: Follows Anthropic skill guide — progressive disclosure, explicit "NEVER use interactive commands", step-by-step agent setup
  • MCP server: Updated suggest_command for setup/wallet goals, version bump to 0.3.2
  • npm packaging: skills/ included in package files

Key fixes

  • wallet generate/import now also writes to .env — fixes "No private key configured" after wallet creation
  • Error messages point to perp init / perp wallet set instead of old commands
  • Simplified wallet use syntax (positional arg instead of --for flag)

Test plan

  • npx tsc --noEmit passes
  • 1135 tests pass, 0 failures
  • perp shows welcome page (no keys) or status with addresses (configured)
  • perp wallet show displays public addresses
  • perp wallet set hl <key> validates + saves + shows address
  • perp env show displays addresses + source
  • Agent can install and set up wallet using SKILL.md instructions

🤖 Generated with Claude Code

Hiksang and others added 8 commits March 11, 2026 02:59
- Add interactive setup wizard (`perp init`) for wallet generation/import
- Simplify `wallet use <name> [exchange]` with auto-detect from wallet type
- Fix incorrect error message in `wallet balance`

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add `defaultExchange` to settings (perp settings set default-exchange hyperliquid)
- Simplify private key error message to point users to `perp init`
- Update init wizard to set default exchange during setup
- Update SKILL.md: v0.3.2, wallet use/import docs, dashboard, deposit routes
- Update README.md: dashboard, deposit commands, wallet management, perp init

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add `perp env show/set/remove/path` for direct .env management
- Rewrite init.ts from wallets.json to .env-centric model
- Smart landing page now derives and shows public addresses
- `env show` displays addresses instead of masked private keys
- Add wallet getWalletSetupStatus() for landing page detection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add `perp wallet set <exchange> <key>` with alias support (hl, pac, lt)
- Add `perp wallet show` to display configured wallets with public addresses
- Remove redundant `perp wallet setup --exchange --key` from init.ts
- Update error message in config.ts to point to `wallet set`

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- SKILL.md: add "For AI Agents" section with `wallet set` as primary setup
- SKILL.md: add key resolution order, MCP env var examples
- SKILL.md: update wallet management to show `wallet set/show` as primary
- MCP: add setup/init/configure goal handling in suggest_command
- MCP: update wallet goal to use `wallet show` instead of `wallet list`
- MCP: bump version to 0.3.2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- wallet generate solana → also sets PACIFICA_PRIVATE_KEY in .env
- wallet generate evm → also sets HL_PRIVATE_KEY + LIGHTER_PRIVATE_KEY in .env
- wallet import solana/evm → same .env sync
- Fixes: generated wallets were only in wallets.json, loadPrivateKey
  couldn't find them via env var path
- SKILL.md: add Option B (generate new wallet) for agents without keys

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Restructure with progressive disclosure: core in SKILL.md, commands in references/
- Add Critical Rules at top: NEVER use interactive commands, always --json
- Explicit "Do NOT use perp init" warning for agents
- Step-by-step setup flow: install → configure wallet → verify → use
- Add troubleshooting section for common agent failures
- Better description with specific trigger phrases
- Move full command reference to references/commands.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Hiksang
Hiksang merged commit 15db39f into main Mar 11, 2026
2 of 3 checks passed
@Hiksang
Hiksang deleted the feat/onboarding branch March 11, 2026 05:02
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.

1 participant