From bc412c76ff08fe8a685fc16117783587b2b51f72 Mon Sep 17 00:00:00 2001 From: Jacob Page Date: Thu, 4 Jun 2026 17:20:23 -0700 Subject: [PATCH 1/2] Integrate cli-engine 0.1.3 root discovery (DEVEX-695) Bump cli-engine to the published 0.1.3 (dropping the temporary local path patch) and register root next-actions so bare `godaddy` returns JSON discovery for agents and human help + suggested actions in a terminal. Addresses parity gap #2 from the PR #49 Rust-port review. --- rust/Cargo.lock | 10 +++++----- rust/Cargo.toml | 2 +- rust/src/main.rs | 10 +++++++++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index a6fac2b..3ce176a 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -536,9 +536,9 @@ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "cli-engine" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2da24cf03ad0a4d53abf4c8d0fd5e477eede7ddccda47d1e6358f45c7655d07" +checksum = "8f3ac303c124ed8284bbc3eb99f99e970509d3e1d4030896ab19663d09911fba" dependencies = [ "async-trait", "base64 0.22.1", @@ -1268,7 +1268,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -1992,7 +1992,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -2029,7 +2029,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", "windows-sys 0.60.2", ] diff --git a/rust/Cargo.toml b/rust/Cargo.toml index dc705f4..cffe04b 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -16,7 +16,7 @@ path = "src/main.rs" async-trait = "0.1" chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] } clap = { version = "4.5", features = ["std", "string"] } -cli-engine = { features = ["pkce-auth"], version = "0.1.2" } +cli-engine = { features = ["pkce-auth"], version = "0.1.3" } fancy-regex = "0.14" regex = { version = "1", features = ["std"] } reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } diff --git a/rust/src/main.rs b/rust/src/main.rs index 004e542..dc5d9cb 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -10,7 +10,7 @@ mod webhook; use std::{process::ExitCode, sync::Arc}; use clap::Arg; -use cli_engine::{BuildInfo, Cli, CliConfig}; +use cli_engine::{BuildInfo, Cli, CliConfig, NextAction}; use crate::env::get_env; @@ -44,6 +44,14 @@ async fn main() -> ExitCode { } Ok(()) })) + .with_root_next_actions(Arc::new(|| { + vec![ + NextAction::new("godaddy auth status", "Check authentication status"), + NextAction::new("godaddy env get", "Get the current active environment"), + NextAction::new("godaddy application list", "List all applications"), + NextAction::new("godaddy tree", "Display the full command tree"), + ] + })) .with_module(actions_catalog::module()) .with_module(api_explorer::module()) .with_module(application::module()) From 1af49b03c4562e8b0c3ddb3bd1021a2093de44a1 Mon Sep 17 00:00:00 2001 From: Jacob Page Date: Thu, 4 Jun 2026 17:38:23 -0700 Subject: [PATCH 2/2] Use root-relative paths for root next-actions Drop the `godaddy ` prefix so the root discovery next-actions match the relative-path convention used by every other NextAction in the CLI (e.g. `application list`, `api search `). Addresses Copilot review on #52. --- rust/src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust/src/main.rs b/rust/src/main.rs index dc5d9cb..7581fa0 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -46,10 +46,10 @@ async fn main() -> ExitCode { })) .with_root_next_actions(Arc::new(|| { vec![ - NextAction::new("godaddy auth status", "Check authentication status"), - NextAction::new("godaddy env get", "Get the current active environment"), - NextAction::new("godaddy application list", "List all applications"), - NextAction::new("godaddy tree", "Display the full command tree"), + NextAction::new("auth status", "Check authentication status"), + NextAction::new("env get", "Get the current active environment"), + NextAction::new("application list", "List all applications"), + NextAction::new("tree", "Display the full command tree"), ] })) .with_module(actions_catalog::module())