The Interface Gap

Same command. Drag to see what each user sees.

spaces init
Human
$ spaces init my-project
? Select components: (space to toggle, enter to confirm)
Services
api — REST API server
graphql — GraphQL endpoint
Clients
web — Web application
Background
worker — Job processor
arrows navigate / space toggle / enter confirm
spaces init
Agent
$ spaces init my-project
\x1b[?25l\x1b[2K\x1b[1G\x1b[36m?\x1b[0m Select components: \x1b[90m(space to toggle)
\x1b[90m\x1b[2K\x1b[1G  Services\x1b[0m
  \x1b[36m■\x1b[0m \x1b[1mapi\x1b[0m \x1b[90m— REST API server\x1b[0m
  \x1b[90m□\x1b[0m graphql \x1b[90m— GraphQL endpoint\x1b[0m
\x1b[90m\x1b[2K  Clients\x1b[0m
  \x1b[36m■\x1b[0m \x1b[1mweb\x1b[0m \x1b[90m— Web application\x1b[0m
\x1b[90m\x1b[2K  Background\x1b[0m
  \x1b[90m□\x1b[0m worker \x1b[90m— Job processor\x1b[0m
Agent cannot send keystrokes to interactive prompts.
stdin is not a TTY.

The same interactive picker, from two perspectives.