Skip to content

feat(cli): repoint the CLI at agenta onboarding; drop the crypto-wallet surface - #38

Open
PancheI wants to merge 1 commit into
mainfrom
feat/cli-agent-onboarding
Open

feat(cli): repoint the CLI at agenta onboarding; drop the crypto-wallet surface#38
PancheI wants to merge 1 commit into
mainfrom
feat/cli-agent-onboarding

Conversation

@PancheI

@PancheI PancheI commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

What this is

The CLI shipped as a self-custody crypto wallet — send, sign, balance, x402, signer management, and 17 MCP tools for moving tokens. That is not the product any more, and under "the CLI is for agents" the leftovers were actively harmful: agenta audit and agenta sub audit collided, and the subaccount surface no longer mapped to anything.

6,258 deletions, 1,097 insertions. This is a repositioning, not a tidy-up.

Removed

commands admin balance deploy info init link network proxy receive send sign switch x402
lib authenticated-fetch erc20-abi errors keychain policy-conversions signer-manager transfer-crypto x402-client
mcp all 17 tools
tests x402-client, x402-live integration + script, transfer-crypto

Added

  • onboarding.command.ts — the go-live journey from the terminal
  • lib/go-live.ts — the state machine behind it, 19 tests
  • lib/session-store.ts — session persistence, split out of the old keychain

Public-repo hygiene — the part worth reviewing

This repo is public, and four things were sitting untracked, one git add -A from being published. All are now gitignored and none is in this commit:

Path Why it must not ship
supabase/.temp/ project-ref and pooler-url name the production database project and its connection host. No password is stored, so not credentials — but they tell any reader exactly where the database lives.
implementation/ 941 lines of internal task notes describing the private platform repo: guard names, endpoint behaviour, dashboard source line numbers.
API-V2-COMPAT-AND-SDK-PLAN.md Internal audit of private branches, including deliberation about breaking integrators.
packages/wallet/bin/ Stray copies of dist/index.js, byte-identical. bin in package.json points at ./dist/index.js and files publishes only dist/ — nothing references bin/.

None had ever been committed — verified with git log --all -- <path>. This prevents an exposure rather than remediating one, so no credential rotation is needed.

Verification

  • tsc --noEmit clean
  • biome check clean
  • 24 tests pass (19 covering go-live.ts)
  • Re-run after rebasing onto current main, not just on the original base

Base

Rebased onto current main. The work originally sat uncommitted on feat/pay-subscription-invoices, whose two local commits are already merged via #35#37; they touch only packages/pay and have no overlap with packages/wallet, so this is CLI-only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KdSgWa5Lf9mnHxY3x76Fy1

…et surface

The CLI shipped as a self-custody crypto wallet: send/sign/balance, x402, signer
management, and 17 MCP tools for moving tokens. That is not what the product is
any more, and "the CLI is for agents" makes the leftovers actively harmful —
`agenta audit` and `agenta sub audit` collided, and the subaccount surface was
legacy that no longer maps to anything.

REMOVED (6,258 lines)
  commands   admin · balance · deploy · info · init · link · network · proxy ·
             receive · send · sign · switch · x402
  lib        authenticated-fetch · erc20-abi · errors · keychain ·
             policy-conversions · signer-manager · transfer-crypto · x402-client
  mcp        all 17 tools — call-contract, execute, get-audit-log, get-balances,
             get-status, list-networks, list-signers, read-contract,
             resolve-address, send-eth, send-token, sign-message,
             sign-typed-data, simulate, wallet-overview, x402-check,
             x402-discover, x402-fetch
  tests      x402-client, x402-live integration + script, transfer-crypto

ADDED
  onboarding.command.ts   the go-live journey from the terminal
  lib/go-live.ts          the state machine behind it (19 tests)
  lib/session-store.ts    session persistence, split out of the old keychain

CHANGED
  login.command · status.command · cli/index · cli/theme · lib/config ·
  lib/ensure-session · mcp/index — narrowed to what remains.

NOT COMMITTED, deliberately — this repo is PUBLIC and these were sitting
untracked, one `git add -A` from being published. All three are now gitignored:

  supabase/.temp/              Supabase CLI state. `project-ref` and
                               `pooler-url` name the production database project
                               and its connection host. No password is stored so
                               these are not credentials, but they tell a reader
                               exactly where the database lives.
  implementation/              941 lines of internal task notes describing the
                               PRIVATE platform repo: guard names, endpoint
                               behaviour, dashboard source line numbers.
  API-V2-COMPAT-AND-SDK-PLAN   internal audit of private branches, including
                               deliberation about breaking integrators.
  packages/wallet/bin/         stray copies of dist/index.js, byte-identical.
                               `bin` in package.json points at ./dist/index.js
                               and `files` publishes only dist/ — nothing
                               references bin/.

None of them had ever been committed, so this prevents an exposure rather than
remediating one. No rotation needed.

typecheck clean · biome clean · 24 tests pass (19 covering go-live).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KdSgWa5Lf9mnHxY3x76Fy1
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