Skip to content

Conversation

@katspaugh
Copy link
Member

Summary

  • Implements seamless sequential operation flows for a better UX
  • Prompts users to continue to the next logical step after completing operations
  • Unifies UI styling by removing picocolors backgrounds and improving consistency

Sequential Operations Implemented

Account Flow

account create → deploy

  • After creating a Safe, prompts: "Would you like to deploy this Safe now?"
  • Automatically calls account deploy if user accepts

Transaction Flows

tx create → sign

  • After creating a transaction, prompts: "Would you like to sign this transaction now?"
  • Automatically calls tx sign if user accepts

tx sign → execute/push (intelligent branching)

  • If threshold is met: offers 3 options:
    • Execute transaction on-chain (recommended)
    • Push to Safe Transaction Service
    • Skip for now
  • If more signatures needed: prompts to push to Safe Transaction Service

UI Improvements

Consistent Styling

  • ✅ Removed picocolors backgrounds from all p.intro() calls
  • ✅ Plain text intros instead of cyan backgrounds
  • ✅ Unified Ink spinner to match clack/prompts appearance (dimmed color)
  • ✅ Removed picocolors from console.log statements throughout

Fixed Issues

  • ✅ Fixed duplicate messages between spinner.stop() and console.log
  • ✅ Fixed MaxListenersExceededWarning (increased limit to 20 for command chaining)
  • ✅ Fixed prompt timing - shows prompts immediately, not after screen exit

Technical Implementation

  • Brief success messages shown before prompts (not Ink screens)
  • Full Ink success screens only shown if user declines next step
  • All sequential prompts default to true for streamlined workflows
  • Dynamic imports to avoid circular dependencies

Test Plan

  • ✅ All tests passing (49/49)
  • ✅ Prettier formatting applied
  • ✅ ESLint checks passed (only warnings, no errors)
  • ✅ Type checking passed
  • ✅ Build successful

User Experience

Users can now complete multi-step workflows without manually typing subsequent commands, while still maintaining full control through prompts with sensible defaults.

🤖 Generated with Claude Code

Implement seamless sequential operation flows:
- account create → deploy
- tx create → sign
- tx sign → execute/push (with intelligent branching)

UI improvements:
- Remove picocolors from p.intro() calls for consistent styling
- Unify Ink spinner appearance to match clack/prompts
- Fix duplicate spinner/success messages
- Remove picocolors from console.log statements for cleaner output
- Fix MaxListenersExceededWarning by increasing limit to 20

Technical changes:
- Show brief success messages before prompts (not after)
- Only show full success screens if user declines next step
- Smart next-step suggestions based on transaction signature status
- All prompts use default 'true' to streamline common workflows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings October 25, 2025 11:26
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the CLI user experience by implementing seamless sequential operation flows and unifying UI styling. The main improvements are prompting users to continue to the next logical step after completing operations (e.g., "create Safe → deploy", "create transaction → sign → execute"), and removing picocolors styling in favor of native @clack/prompts styling.

Key changes:

  • Sequential operation flows with smart prompting after account create, tx create, and tx sign commands
  • Removal of picocolors dependency and all related styling code
  • Unified spinner appearance to match @clack/prompts visual style

Reviewed Changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/index.ts Increased max listeners limit to support command chaining
src/ui/messages.ts Removed picocolors wrapper from log functions
src/ui/components/Spinner.tsx Changed spinner color from primary to dim to match clack style
src/commands/account/create.ts Added prompt to deploy after Safe creation and removed picocolors styling
src/commands/account/deploy.ts Removed picocolors styling from console output
src/commands/tx/create.ts Added prompt to sign after transaction creation and removed picocolors styling
src/commands/tx/sign.ts Added intelligent branching prompts after signing (execute/push/skip)
src/commands/tx/pull.ts Removed picocolors from intro
src/commands/tx/push.ts Removed picocolors from intro
src/commands/tx/status.ts Removed picocolors from intro
src/commands/tx/sync.ts Removed picocolors from intro
src/commands/wallet/import.ts Removed picocolors from intro
src/commands/wallet/use.ts Removed picocolors from intro
src/commands/config/chains.ts Removed picocolors from intro calls
src/services/transaction-builder.ts Removed picocolors from console output
package.json Removed picocolors dependency

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@katspaugh katspaugh merged commit 6393291 into main Oct 26, 2025
4 checks passed
@katspaugh katspaugh deleted the feat/sequential-operations-ui-improvements branch October 26, 2025 07:57
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.

2 participants