CLI (zume-cli)¶
A command-line companion, zume-cli, ships alongside the app (next to the
executable on Windows, in bin/ on Linux, and in the app folder on macOS). It
reuses the editor's own engines, so results match the GUI.
Microsoft Store (MSIX) build
The Microsoft Store build does not make zume-cli usable from the
command line. Its files are installed under the protected
C:\Program Files\WindowsApps\… folder (a version-specific path that
changes with every update and is not on your PATH), so zume-cli cannot
be run or scripted directly. To use the CLI — or the
MCP server — on Windows, install the portable ZIP (or the
installer build) instead, extract it to a stable folder, and run
zume-cli.exe from there.
zume-cli <command> [arguments] [flags]
The commands below are the complete set. zume-cli is a deliberately small
headless subset of the editor (the full tool is the app itself); there is no
--version, and running it with no arguments or an unknown command prints the
usage and exits with code 2.
Global flags¶
| Flag | Effect | Applies to |
|---|---|---|
--regex |
Treat the pattern as a regular expression (default: literal) | find, search, replace |
--ignore-case |
Case-insensitive match (default: case-sensitive) | find, search, replace |
Exit codes¶
| Code | Meaning |
|---|---|
0 |
Success |
1 |
Runtime error (prints error: <message> to stderr - e.g. file not found, bad regex) |
2 |
Usage error (wrong arguments; prints usage) |
Text commands¶
find - search one file¶
zume-cli find <pattern> <file> [--regex] [--ignore-case]
file:line:column (1-based), then a summary
N match(es).
search - recursive find in files¶
zume-cli search <pattern> <dir> [glob] [--regex] [--ignore-case]
dir recursively. glob optionally restricts file names (e.g. *.cpp).
.git, build and node_modules are always skipped. Prints
file:line:column: preview per match, then N match(es) in M file(s) (with
(truncated) if the result cap was hit).
replace - replace-all in one file¶
zume-cli replace <pattern> <replacement> <file> [--regex] [--ignore-case]
$1
work in --regex mode). Prints N replacement(s). The file is written only when
at least one replacement was made.
aikey - gen-AI API keys (for the MCP hub)¶
Manage the named API keys that the MCP http_request tool injects. Keys
are kept in the OS credential store, never in a file.
zume-cli aikey set <name> [value] # store a key (prints: stored '<name>')
zume-cli aikey list # list key names, one per line
zume-cli aikey remove <name> # delete a key (prints: removed '<name>')
value for set, the key is read from standard input so it is not
left in your shell history.
cloud - cloud drives¶
Work with files on Dropbox, Google Drive, OneDrive and Box. The refresh token is kept in the OS credential store (never a file), and is shared with the editor - a login here or in the app works in both.
zume-cli cloud <provider> login ... # authorize and save the token
zume-cli cloud <provider> ls [path] # list a folder (root by default)
zume-cli cloud <provider> get <remote> <local> # download a file
zume-cli cloud <provider> put <local> <remote> # upload a file
zume-cli cloud <provider> logout # forget the saved token
<provider> is dropbox, googledrive, onedrive or box. The login
arguments differ by provider (you supply your own OAuth app's credentials):
zume-cli cloud dropbox login <app_key>
zume-cli cloud googledrive login <client_id> <client_secret>
zume-cli cloud onedrive login <client_id>
zume-cli cloud box login <client_id> <client_secret>
Dropbox shows a code to paste back; Google / OneDrive / Box open a browser and
capture the redirect on a local port (register http://localhost:53682/callback
as the redirect URI in your OAuth app). zume-cli dropbox ... still works as an
alias for zume-cli cloud dropbox ....
geo - map / geospatial data¶
Reuses the editor's geo engine (see MAP). File conversions read a file
and print the result to stdout; coordinates may be given as decimal degrees or
DMS (e.g. 35°41'N).
Format conversion¶
zume-cli geo geojson2wkt <file>
zume-cli geo wkt2geojson <file>
zume-cli geo geojson2kml <file>
zume-cli geo kml2geojson <file>
zume-cli geo geojson2gpx <file>
zume-cli geo gpx2geojson <file>
zume-cli geo geojson2csv <file>
zume-cli geo csv2geojson <file> [lonCol latCol]
csv2geojson auto-detects the longitude/latitude header columns; if it cannot,
pass the two 0-based column indices (lonCol latCol).
Measurement¶
zume-cli geo length <file> # geodesic length in metres (GeoJSON or WKT input)
zume-cli geo area <file> # geodesic area in square metres
Coordinate operations¶
| Command | Arguments | Output |
|---|---|---|
geohash |
<lat> <lon> [precision=9] |
the geohash string |
unhash |
<geohash> |
lat, lon |
jpr |
<lat> <lon> <zone> |
northing, easting (Japan Plane Rectangular CS, zone 1-19) |
unjpr |
<X> <Y> <zone> |
lat, lon |
tile |
<lat> <lon> <zoom> |
z/x/y quadkey=… bbox=west,south,east,north |
dms |
<lat> <lon> |
decimal lat, lon |
reproject |
--from <epsg> --to <epsg> <file.geojson> |
reprojected GeoJSON (via PROJ) |
convert - file conversion¶
zume-cli convert # list every converter id
zume-cli convert <id> <in> [out] # convert a file (stdout if out is omitted)
<id> is a converter such as base64.encode, csv.toJson, json.toYaml,
gzip.compress, bzip2.compress, html.toMarkdown. Markdown / HTML to PDF has
its own ids and always needs an output file:
zume-cli convert md.toPdf notes.md notes.pdf
zume-cli convert html.toPdf page.html page.pdf
See File conversion & archives for the full list and the in-editor equivalents.
archive - zip / tar / 7z archives¶
zume-cli archive list <archive> # list entries
zume-cli archive extract <archive> [dest-dir] # extract (default: current dir)
zume-cli archive create <archive> <path>... # create from files / folders
create picks the format from the extension: .zip, .tar, .tar.gz / .tgz,
.tar.bz2 / .tbz2, .tar.xz / .txz, .7z. extract also reads .rar and
.xz (read-only). Encrypted archives are not supported.
Examples¶
zume-cli find TODO src/main.cpp
zume-cli search "fn\s+\w+" src --regex --ignore-case
zume-cli replace http:// https:// config.ini
zume-cli aikey set openai # then paste the key at the prompt
zume-cli geo csv2geojson points.csv
zume-cli geo geohash 35.68 139.76 8
zume-cli geo reproject --from 4326 --to 3857 area.geojson
zume-cli convert json.toYaml config.json config.yaml
zume-cli convert md.toPdf README.md README.pdf
zume-cli archive create site.tar.gz public/
zume-cli archive extract bundle.7z out/