CtrlK
BlogDocsLog inGet started
Tessl Logo

honeybadge/virtui

automatically control and record tui application sessions from the terminal

93

4.45x
Quality

94%

Does it follow best practices?

Impact

89%

4.45x

Average score across 3 eval scenarios

SecuritybySnyk

Risky

Do not use without reviewing

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-2/

{
  "context": "Tests whether the agent uses the --record and --record-path flags correctly to produce an asciicast v2 recording, uses --json flag, follows daemon lifecycle, and properly kills the session to finalize the recording.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses --json flag",
      "description": "The `virtui run` command includes --json or -j flag",
      "max_score": 8
    },
    {
      "name": "Daemon status check",
      "description": "Script checks daemon status with `virtui daemon status` before creating any session",
      "max_score": 8
    },
    {
      "name": "Daemon started if needed",
      "description": "Script conditionally starts the daemon with `virtui daemon start` if not running",
      "max_score": 7
    },
    {
      "name": "--record flag used",
      "description": "The `virtui run` command includes the `--record` flag to enable session recording",
      "max_score": 15
    },
    {
      "name": "--record-path set correctly",
      "description": "The `--record-path` flag is used and set to `./demo/onboarding.cast` (or equivalent relative path that results in that location)",
      "max_score": 15
    },
    {
      "name": "Output directory created",
      "description": "Script creates the `demo/` directory before running virtui (e.g. via `mkdir -p demo`)",
      "max_score": 7
    },
    {
      "name": "Session ID captured",
      "description": "The session_id from the `run` command is captured and used in subsequent commands",
      "max_score": 8
    },
    {
      "name": "Session killed to finalize",
      "description": "Script kills the session with `virtui kill <session_id>` — required to finalize/stop the recording",
      "max_score": 15
    },
    {
      "name": "Cast file exists",
      "description": "The file `demo/onboarding.cast` exists after the script runs",
      "max_score": 7
    },
    {
      "name": "Daemon stopped",
      "description": "Script runs `virtui daemon stop` after all work is complete",
      "max_score": 5
    },
    {
      "name": "Pipeline or type+press used",
      "description": "Interaction commands use pipeline or type+press steps rather than bare exec (to ensure Enter is sent reliably)",
      "max_score": 5
    }
  ]
}

evals

tile.json