Urgent.News

What's breaking now, across thousands of outlets.

AI

Built for the agent at the keyboard

A coding agent cannot read a progress bar. It reads stdout, parses it and decides what to do next. If the answer is buried in a frame meant for human eyes, the agent guesses. vx is built so it never has to. The result on stdout, the logs on stderr vx run --format json prints one JSON document when the run ends. The frame and the tasks' output go to stderr, so a pipe sees only the result. $ vx run…

The vx coding agent does not rely on progress bars, but instead reads stdout and parses it to determine the next course of action. When an answer is embedded in a human-facing frame, vx attempts to guess the appropriate response. The agent outputs a single JSON document upon completion, with the frame and task output directed to stderr, allowing for easy parsing.

For example, running "vx run build --all --format json" generates a JSON document containing information such as the run ID, status, total and saved time, and details of each task, including its status, exit code, duration, hash, and stored duration. The savedMs value indicates the time saved by the cache.

vx provides various commands for interacting with its output, such as "vx show", "vx info", "vx why", "vx last", and "vx cache prune", all of which utilize the same "--format json" option. Each command has a corresponding JSON Schema defined in the package at node_modules/@vzn/vx/schemas/ to ensure consistent output structure. Changing a field would constitute a schema change, not a surprise.

Every JSON document generated by vx adheres to a schema, enabling proper parsing and validation. When a task fails, vx captures both the output printed to stdout and the files blamed by the failure, saving this information for easier analysis. To retrieve failed runs, one can use "vx last --failed --format json" along with the "jq" command to extract specific task details, such as status, exit code, output, and file locations.

vx maintains a history of the 50 most recent failed runs in a SQLite file named cache.db. This API can be directly queried using SQLite commands, providing information about the project, task, status, and duration of each run. The vx GitHub repository (github.com/vznjs/vx) contains additional documentation, including a markdown-laden llms.txt file and a comprehensive llms-full.txt file that indexes all documentation pages and the entire site. vx also includes an agent skill, SKILL.md, which guides users on how to effectively use the coding agent for running, debugging, and querying tasks within their project.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in AI

OpenAmer ASI Core: 5 native tools, a 10-subsystem heartbeat, and an A2A Global Mesh

Most agent frameworks glue everything together with subprocess calls and a pile of schedulers. We took a different path with OpenAmer (Apache 2.0): an in-process ASI core, one heartbeat instead of 84…

  • OpenAmer ASI Core consolidates 84 cron jobs into a single 10-subsystem heartbeat
  • Five native tools run directly within the process, eliminating subprocess calls
  • A2A Global Mesh enables direct agent-to-agent communication between instances

More from Friday 9 October →