CLI overview
The dogubako binary contains the whole engine, the web server and the MCP
server. Every tool is a subcommand generated from the same spec as the app’s
form, so every option the app has, the CLI has too.
dogubako <category> <tool> [inputs…] [--option value…] [-o OUT] [--json] [-q]For example:
dogubako image convert photo.heic --format webpdogubako pdf merge a.pdf b.pdf c.pdf -o merged.pdfecho '{"b":1,"a":[1,2]}' | dogubako dev jsonFinding tools
Section titled “Finding tools”dogubako tools list # every tool, grouped by category; · marks unavailable onesdogubako tools list --category pdf --availabledogubako tools search compress video # keyword searchdogubako tools info video.compress # options, dependencies and availabilitydogubako video compress --help # the generated help, with every optiondogubako deps # which engines are installed, with install commandsThe command for a tool is its category, then its name with underscores turned
into dashes: image.strip_metadata is dogubako image strip-metadata. The
tool catalog shows the command and every option for each tool.
Inputs
Section titled “Inputs”- Primary inputs are positional. For file tools that means the files
(
dogubako image resize *.jpg --width 1600); for text tools, the main text (dogubako text case "Hello World" --case snake). - Standard input. When a text tool’s main text is omitted and stdin is not
a terminal, it is read from stdin:
cat data.json | dogubako dev json. - Many files at once. Tools that make sense in bulk (convert, resize, compress…) take several files and produce one output per input, with progress per file.
Options
Section titled “Options”- Options use
--kebab-case: the parametermax_dimensionis--max-dimension. - Booleans are
--flagor--flag=false. - Negative numbers need the
=form, so they aren’t mistaken for flags:--offset=-2. - Multiple choices are comma lists:
--formats srt,txt. - JSON parameters take a JSON string:
--schema '{"type":"object"}'. - A few parameter names clash with global flags (
json,quiet,verbose,out,force,help,version). Those get aparam-prefix, for example--param-json.
Outputs
Section titled “Outputs”- Files are written to the current folder by default, named after the
input:
photo.pngcompressed becomesphoto-compressed.png. -o FILEnames a single output;-o DIR/(with the trailing slash) puts several outputs in a folder.- Existing files are never overwritten unless you pass
--force; otherwise a(1)suffix is added. -o -writes a single output file to stdout, for piping.- Text results print to stdout. Informational messages and progress go to stderr, so pipes stay clean.
- Some tools do both:
pdf extract-textprints the text and savescontract.txt, anddata csv-to-jsonsavessales.json. Don’t redirect stdout to the name the tool is about to write (> contract.txt): the shell creates that file first, so the tool’s copy lands incontract (1).txt. Use-oto choose the name instead. --jsonprints a machine-readable result instead; see Scripting.-q/--quietsuppresses progress and messages. Progress bars only appear on a terminal.
Press Ctrl C to cancel. The running tool and any external programs it started are stopped.
The generic form
Section titled “The generic form”Any tool can also be run by id with dogubako run, which is handy when you
generate parameters programmatically:
dogubako run image.resize --set input=photo.png --set width=800dogubako run text.case --params '{"text":"Hello World","case":"snake"}'Other commands
Section titled “Other commands”| Command | Does |
|---|---|
dogubako server start |
Run the web service. See Self-hosting |
dogubako mcp serve |
Run the MCP server over stdio. See Local agents |
dogubako deps |
Show engine status and install hints |
dogubako models list|download|remove |
Manage local models |
dogubako users …, dogubako tokens … |
Manage server accounts and API tokens offline |
dogubako extensions list|trust|untrust |
Manage extensions |
dogubako api openapi |
Print the OpenAPI document |
dogubako tools matrix |
Print the Markdown capability matrix |
The CLI reference lists every command, flag, environment variable and exit code.