mirror of
https://github.com/bahdotsh/wrkflw.git
synced 2026-09-02 12:16:16 +02:00
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.
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-executorandwrkflw-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.