Skip to content

agentic init: output is very hard to follow #9628

Description

I just had an unpleasant interaction with our agentic init. Here's some stuff I ran into.

Lack of any sort of progress indicator

I think we should try to take advantage of some sort of task list (in copilot CLI, you can request it to create a little TODO list)

Todo added 4 items
│ Listing folder contents
│ Preparing PowerShell sorter
│ Preserving sorted output
└ Composing inventory poem

Having something like this that we occasionally print out would help the user stay grounded and understand where they are in the process.

Repetitive output that doesn't seem important

We have some messages that just seem to print, and it's not clear what they're telling me:

? The current directory is empty — no application code was found. What type of Azure application would you like to create? (e.g., web app, API, function app, static site, containerized service): 1

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

/ Thinking...
  Press Ctrl+C to cancel
  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

User-prompted input renders incorrectly

Down below, you can see that I'm being prompted to answer What language/framework would you like for the web app? Node.js (Express). However, we printed a few intervening pieces of text first, so the actual question is under a the 'Let me check the current directory for application code first' and a status message about the azure-prepare skill, neither of which are relevant to the actual thing being prompted.

? The current directory is empty — no application code was found. What type of Azure application would you like to create? (e.g., web app, API, function app, static site, containerized service): 1

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

/ Thinking...
  Press Ctrl+C to cancel
  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           


? What language/framework would you like for the web app? Node.js (Express)
  > 1. Node.js (Express)
    2. Python (FastAPI)
    3. .NET (ASP.NET Core)
    4. Python (Flask)
    5. Other (type your own answer)

───────────────────────────────────
Use arrows to move

  The  azure-prepare  and  azure-validate  skills aren't available in this environment. Let me proceed directly to scaffold the web app and prepare it for Azure deployment using  azd .                                                                                                                                   

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           


? What language or framework would you like to use for your web app? For example: Node.js (Express), Python (FastAPI/Flask), or .NET (ASP.NET Core)? 

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

  I'll default to a Node.js (Express) web app deployed to Azure App Service. Let me scaffold the project now.                                                                                                                                                                                                              

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

✔︎ Ran bash Create project directories
  ├ command: cd /home/ripark/src/_/azd-migrate-copilot-sdk/cli/azd/hacks && mkdir -p src infra && echo "setup"
  └ description: Create project directories

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

✔︎ Create src/package.json (+13)

  Let me check the current directory for application code first.                                                                                                                                                                                                                                                           

So...

I really want to consider if rendering the conversation is something we want to do, or if we'd prefer to just shell out to copilot CLI as a sub-process, init it with a prompt, and just the conversation occur through their UI, rather than ours.

The challenges there are you jump from one experience (ours), to another (copilot), but copilot is popular enough that it seems like people that work in the terminal and use GitHub Copilot are already familiar with it. azd's job here would be to make it easy to have all the useful context loaded, like skills, MCPs, or whatever we think will work well, but after that we're hands-off.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agenticAgent-related featuresarea/uxUX, prompts, output formattingbugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions