\section{Commands} Synrc mad has a simple interface as follows: \vspace{1\baselineskip} \begin{lstlisting} MAD Container Tool version b547fa BNF: invoke = mad params params = [] | run params run = command [ options ] command = app | deps | clean | compile | up | release [ beam | ling | script | runc | depot ] | deploy | start | stop | attach | sh \end{lstlisting} \vspace{1\baselineskip} It seems to us more natural, you can specify random commands set with different specifiers (options). \subsection{deps} In rebar-like managers we are selecting deps from rebar.config: \vspace{1\baselineskip} \begin{lstlisting} {sub_dirs,["apps"]}. {deps_dir,"deps"}. {deps, [active,{nitro,"2.9"},{n2o,"2.9"}]}. \end{lstlisting} \vspace{1\baselineskip} \subsection{compile, com} Performs compilation of all known compilations backends in complilation profile of mad: \vspace{1\baselineskip} \begin{lstlisting} app — app.src erlang templating dtl — DTL compiler erl — BEAM compiler c/c++ — for gcc cland and other native compilation script — .script file used in projects like gproc yrl/xrl — DSL language parser compilers upl — UPL compiler \end{lstlisting} \vspace{1\baselineskip} \subsection{release, rel} Taking all dependecies and resolve boot sequence according to dependecy order. Storing this value in .applist. If release type is not defined ({\bf beam} in following example), then {\bf script} release will be taken as a default. \vspace{1\baselineskip} \begin{lstlisting} $ mad release beam sample Ordered: [kernel,stdlib,fs,ranch,crypto,compiler,syntax_tools, gproc,cowlib,cowboy,n2o,sample,active,erlydtl,jsone, mad,nitro,sh] *WARNING* : Missing application sasl. Can not upgrade with this release sample.boot: ok OK: "sample" $ mad rel mad Ordered: [kernel,stdlib,inets,sh,mad] OK: "mad" \end{lstlisting} \vspace{1\baselineskip} MAD supports several releasing backends: \vspace{1\baselineskip} \begin{lstlisting} script — script bundles, like mad itself beam — ERTS releases with systools ling — LING portable unikernels runc — Docker-compatible containers depot — releases from binary repositories \end{lstlisting} \vspace{1\baselineskip} \subsection{sh} Start REPL shell session.