1#[doc(inline)]
6pub use self::{cmd::Command, interface::Cli};
7
8mod interface;
9
10pub mod cmd;
11
12pub(crate) mod prelude {
13 pub use super::cmd::*;
14 pub use super::interface::Cli;
15}
16
17use crate::config::Scope;
18use crate::workers::serve::Server;
19
20serde_display! {
21 json::<Display>(
22 Cli,
23 cmd::BuildCmd,
24 cmd::ServeCmd,
25 )
26}
27
28pub(crate) async fn _serve(addr: core::net::SocketAddr, scope: Scope) -> crate::Result {
29 let server = Server::new(addr, scope);
30 tokio::join!(server.serve());
31 Ok(())
32}