feat: onboarding UX overhaul + skill rewrite - #7
Merged
Merged
Conversation
- 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>
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.
Summary
perpwith 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/.envperp wallet set <exchange> <key>: Non-interactive wallet setup for agents (replaceswallet setup)perp wallet show: Show configured wallets with public addressesperp wallet generate: Now also writes to.env(fixes agent wallet connection bug)perp envcommands: Direct.envmanagement (set/show/remove/path)perp settings set default-exchange hl— skip-eflagskills/included in package filesKey fixes
wallet generate/importnow also writes to.env— fixes "No private key configured" after wallet creationperp init/perp wallet setinstead of old commandswallet usesyntax (positional arg instead of--forflag)Test plan
npx tsc --noEmitpassesperpshows welcome page (no keys) or status with addresses (configured)perp wallet showdisplays public addressesperp wallet set hl <key>validates + saves + shows addressperp env showdisplays addresses + source🤖 Generated with Claude Code