Some Issues w/ Rush Terminal Reporting today:
- We have no reporter system in place.
- AI models struggle to work with rush for a variety of reasons
- Long running processes occupying the foreground
- Terminal output is super verbose by default - eats up lots of the default context window
- Error messages don't provide the best context or assistance (for both users and agents)
Plan:
- Most linting and coverage tools have a
--reporter feature which customizes output based on where and how it is being run (ci, local machine, even OS specific). Leverage COPILOT_CLI env variable to auto trigger an AI reporter system --reporter=ai that will provide agent-optimized terminal feedback. Based on eval's we can tweak the format to be JSON, Plaintext, Markdown, etc. and determine the level of verbosity (or not) that works best for agents.
- Once we have a
--reporter system, drastically reduce the default reporter output for all rush <command name> commands to minimal. P0 would be to get rid of the long diagnostic feedback of rush build and replace with 3 things consuming no more than a few lines:
- Spinner/progress bar to indicate progress
- One line dynamic activity marquee that reassures users that the command is still running. (What project currently getting built, etc)
- One line result with standard exit code and output
- Errors get migrated to have a new hierarchy that both the AI and default reporters can respond/visualize in specific ways
Some Issues w/ Rush Terminal Reporting today:
Plan:
--reporterfeature which customizes output based on where and how it is being run (ci, local machine, even OS specific). LeverageCOPILOT_CLIenv variable to auto trigger an AI reporter system--reporter=aithat will provide agent-optimized terminal feedback. Based on eval's we can tweak the format to be JSON, Plaintext, Markdown, etc. and determine the level of verbosity (or not) that works best for agents.--reportersystem, drastically reduce the default reporter output for allrush <command name>commands to minimal. P0 would be to get rid of the long diagnostic feedback ofrush buildand replace with 3 things consuming no more than a few lines: