Skip to content

Prompting Overhaul #3078

@vilmibm

Description

@vilmibm

This issue covers a multi-phase series of improvements and changes to our implementation of user prompts.

There are three major themes for this work:

  1. Improve the experience of using accessibility software with our interactive prompts
  2. Pay down tech debt around prompting
  3. Make it easier to do more sophisticated things with prompts

We'll be taking an approach of short term patches to the prompting library we use (survey) and then deciding on long term solutions by way of prototyping and experiments with both in-house and off the shelf solutions.

Specific outcomes of this work, theme noted:

  • The invisible terminal cursor follows the interactive cursor to make screen readers more accurate (1)
  • It's easier to write high quality unit tests for interactive prompts (2)
  • Prompting is exposed to command code via factories like other I/O components (2)
  • We no longer do copy-and-paste hacks to enable things like "press e for editor" (3)
  • Fuzzy finding in prompts is more flexible and configurable, specifically for issue view and pr view interactive selectors when no args are provided (3)

Plan:

  • survey PR to ensure cursor behavior is correct
  • prototypes of "press e to edit", multi-select, and fuzzy finding using:
  • decide on which prototype to pursue
  • make the selected prototype release-ready
  • plan a migration path for implementing the new prompting strategy
  • do migration, retiring $oldprompts when possible

Metadata

Metadata

Assignees

No one assigned

    Labels

    accessibilitydiscussFeature changes that require discussion primarily among the GitHub CLI teamtech-debtA chore that addresses technical debt

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions