Skip to content

UX and CLI Design Improvements #9

@JaegerCaiser

Description

@JaegerCaiser

UX and CLI Design Improvements

Current Issues Identified

1. Inconsistent Command Structure

  • Commands use different patterns: tcu board list vs tcu boards vs tcu list boards
  • Some commands require subcommands, others don't
  • No clear hierarchy or grouping

2. Missing Essential Features

  • No way to view board details or metadata
  • No bulk operations for cards/lists
  • No search functionality across boards
  • No export/import capabilities
  • No offline mode or caching

3. Poor Error Handling & Feedback

  • Generic error messages without actionable guidance
  • No validation of input parameters
  • No confirmation prompts for destructive operations
  • Silent failures in some scenarios

4. Inconsistent Output Formats

  • Some commands output JSON, others plain text
  • No standardized formatting options (--json, --table, --pretty)
  • No pagination for large result sets
  • No filtering or sorting options

5. Authentication & Configuration Issues

  • Power-Up authentication is complex and error-prone
  • No clear way to switch between accounts
  • Configuration is not persistent or well-documented
  • No validation of API keys or permissions

6. Missing Interactive Features

  • No interactive mode for complex operations
  • No auto-completion for commands/options
  • No help system beyond basic --help flags
  • No examples or usage patterns

Proposed Improvements

Command Structure Standardization

# Current inconsistent structure:
tcu board list
tcu boards
tcu list boards

# Proposed consistent structure:
tcu boards list          # List all boards
tcu boards show <id>     # Show board details
tcu boards create <name> # Create new board
tcu boards delete <id>   # Delete board

Essential Features to Add

  1. Board Management

    • tcu boards show <id> - View board details, members, settings
    • tcu boards export <id> --format json|csv - Export board data
    • tcu boards import <file> - Import board from JSON/CSV
  2. List Management

    • tcu lists move <id> <position> - Reorder lists
    • tcu lists archive <id> - Archive entire list
    • tcu lists copy <id> <name> - Duplicate list
  3. Card Operations

    • tcu cards search <query> - Search across all boards
    • tcu cards move <id> --list <list-id> --position <pos> - Move cards
    • tcu cards bulk-update --filter <criteria> --set <field=value> - Bulk operations
    • tcu cards attach <id> <file> - Attach files to cards
  4. Interactive Mode

    • tcu --interactive or tcu interactive - Start interactive session
    • Tab completion for all commands
    • Guided workflows for complex operations

Output Standardization

# Consistent output options
tcu boards list --format table|json|csv
tcu boards list --filter "name~project" --sort name
tcu boards list --limit 10 --offset 20

Better Error Handling

  • Clear, actionable error messages
  • Suggestions for fixing common issues
  • Validation of all input parameters
  • Confirmation prompts for destructive operations

Configuration Improvements

  • tcu config init - Interactive setup wizard
  • tcu config profiles - Manage multiple accounts
  • tcu config validate - Test current configuration
  • Persistent configuration with environment detection

Priority Implementation Order

  1. High Priority (Immediate)

    • Standardize command structure
    • Add consistent output formatting (--json, --table)
    • Improve error messages and validation
    • Add board show/details command
  2. Medium Priority (Next Release)

    • Implement search functionality
    • Add bulk operations
    • Interactive mode
    • Better configuration management
  3. Low Priority (Future)

    • Export/import features
    • Offline mode
    • Advanced filtering/sorting
    • Plugin system

Breaking Changes Notice

Some command structure changes may be breaking, but they improve consistency and usability significantly. Consider providing migration guide and deprecation warnings.

Additional Context

These improvements were identified during extensive usage of the CLI for project management in the Jorvis API development workflow. The current tool works well for basic operations but lacks polish and advanced features expected in modern CLI tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions