Conversation
alajmo
left a comment
There was a problem hiding this comment.
When running with --parallel, you should opt instead for a "streaming JSON" format, where each result is a one-line JSON object, followed by a newline. Same for YAML. Now it's just running in parallel and outputting one big array.
Implemented streaming output for parallel execution in commit 22ae74f. Now when using
Without |
alajmo
left a comment
There was a problem hiding this comment.
The spinner should not run when doing parallel json/yaml format. I get:
jq: parse error: Invalid numeric literal at line 1, column 2
Fixed in commit 98252e5. The spinner is now disabled for JSON/YAML output formats to prevent interference with structured output parsing by tools like |
alajmo
left a comment
There was a problem hiding this comment.
YAML missing 3 dashes between each document.
Fixed in commit 686ef52. YAML output now includes |
alajmo
left a comment
There was a problem hiding this comment.
mani run echo pwd -t active -o json --parallel | jq
doesnt show the tasks ran. It should be tasks: [echo, pwd]
Fixed in commit f8727fc. Changed |
f8727fc to
d76eb7e
Compare
d76eb7e to
4708375
Compare
alajmo
left a comment
There was a problem hiding this comment.
JSON/YAML should be supported for list options (task/project).
Co-authored-by: alajmo <5246600+alajmo@users.noreply.github.com>
Implemented in commit c1e83cd. JSON/YAML output is now supported for all list commands:
|
What's Changed
Adds JSON and YAML output formats to
mani run,mani exec, andmani listcommands, enabling structured output for scripting and pipeline integration.Run/Exec commands: The structured output captures project name, task names (as an array), output lines as an array, and exit code for each execution.
When running with
--parallel, both formats use streaming output where each result is output immediately as it completes:---separatorThe spinner is disabled for JSON/YAML output formats to ensure clean, parseable output when piping to tools like
jqandyq.List commands: JSON/YAML output is now supported for all list commands:
mani list projects --output json|yamlmani list tasks --output json|yamlmani list tags --output json|yamlTechnical Description
Core changes:
core/exec/json.gowithTaskResultstruct and output functions (PrintJSON,PrintYAML,PrintJSONStream,PrintYAMLStream)core/print/print_list.gowithProjectOutput,TaskOutput,TagOutputstructs andPrintListJSON,PrintListYAMLfunctionscore/exec/exec.goswitch statement to handlejsonandyamloutput typescore/dao/spec.goto accept new output formats---document separators between each documenttasksfield to an array to show all tasks that were run (e.g.,mani run echo pwdoutputs"tasks": ["echo", "pwd"])CLI updates:
--outputflag inrunandexeccommands to includejsonandyamloptions--outputflag inlistcommand to includejsonandyamloptionsUsage:
YAML uses multi-document format (separated by
---) suitable for streaming andyqprocessing.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.