Files
bahdotsh 5ea60e0a3d fix: squash review nits — double parse, clippy warnings, lost flag
Three leftover issues from the codebase review PR:

The from_json() deserialization was parsing the JSON *twice* — once
into serde_json::Value to sniff for the old nonce field, then again
from the raw string into the actual struct. Parse once, use
from_value() on the already-parsed Value. Not rocket science.

The cycle detector had two clippy warnings: .iter().cloned().collect()
on a slice (just use .to_vec(), please) and .min_by_key() cloning a
double reference instead of comparing properly. Switch to .min_by()
with an explicit cmp.

The show_action_messages flag was being silently dropped in
execute_workflow_cli — hardcoded to false regardless of what the user
asked for. Propagate it through the function signature and the TUI
fallback path so it actually does something.
2026-04-01 23:02:53 +05:30
..
2025-09-05 08:22:15 +05:30

wrkflw-ui

Terminal user interface for browsing workflows, running them, and viewing logs.

  • Tabs: Workflows, Execution, Logs, Help
  • Hotkeys: 1-4, Tab, Enter, r, R, t, v, e, q, etc.
  • Integrates with wrkflw-executor and wrkflw-logging

Example

use std::path::PathBuf;
use wrkflw_executor::RuntimeType;
use wrkflw_ui::run_wrkflw_tui;

# tokio_test::block_on(async {
let path = PathBuf::from(".github/workflows");
run_wrkflw_tui(Some(&path), RuntimeType::Docker, true, false).await?;
# Ok::<_, Box<dyn std::error::Error>>(())
# })?;

Most users should run the wrkflw binary and select TUI mode: wrkflw tui.