- name
- hermesoffice
- description
- Create, convert, read and edit Office documents locally with HermesOffice's command line. Build a new presentation (pptx) from a brief through a checked outline, per-page spec and render pipeline, a new spreadsheet (xlsx) from CSV or JSON data with formulas, a new Word document (docx) from Markdown or HTML, or a PDF; convert between pdf, docx, xlsx, pptx, md, html and csv; read the structure and text of an existing file (including the user's own docx / xlsx / pptx as source material) and apply structured edits to it. Use whenever the user asks for a slide deck, presentation, spreadsheet, workbook, report, Word document or any real Office file, a format conversion, a rewrite of part of an existing document, or wants the result opened in the HermesOffice editor. Documents are processed locally; only search, image and media send the query or the referenced file to the provider configured in HermesOffice.
- metadata
- {"version":"2.50.1","cli":">=0.9.0"}
# hermesoffice — HermesOffice from the terminal
`hermesoffice` is installed with HermesOffice. Run `hermesoffice --version` first. If the command is not found, HermesOffice writes the launcher directory to `~/.hermesoffice/launcher` (Windows: `%USERPROFILE%\.hermesoffice\launcher`) on every start: read that one line and run `"<dir>/hermesoffice"` from bash or `"<dir>\hermesoffice.cmd"` from PowerShell / cmd, quoted, in place of `hermesoffice` below. Default locations when that file is missing: macOS `/Applications/HermesOffice.app/Contents/Resources/cli`, Windows `%LOCALAPPDATA%\Programs\HermesOffice\resources\cli`, Linux `/opt/HermesOffice/resources/cli`. Every command runs headless on the app's own engines; only `search`, `image` and `media` send data off the machine, to the provider configured in HermesOffice.
Always add `--json` when a program reads the output: one JSON object on stdout, `{ "status": "ok" | "partial", "command", "summary", "output_path"?, "warnings"?, "detail"? }` (`partial`: an `apply` with `--best-effort` / `--stop-on-error` wrote the file but lost ops) or `{ "status": "error", "code", "error", "message", "suggestion"?, "detail"? }`. Exit codes: `0` ok, `1` usage or rejected ops, `2` file not found / output exists / file open in HermesOffice, `3` conversion failed, `4` app not available. `error` is the machine-readable reason (table under "When a command fails"), `suggestion` the next step in one sentence, including `did you mean "…"?` when a command, option, op name, element id or sheet name is one typo away. `detail` carries facts as fields (`failures[]` with `index`, `op`, `error`, `reason`, `valid_range`, `available`, `supported`, `usage`; `sheets`, `options`, `commands`); never parse `message`.
## Commands
| Command | What it does |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `hermesoffice info <file> [--password <pw>]` | Metadata and structure summary (docx blocks and headings, pptx slides, xlsx sheets, pdf pages) |
| `hermesoffice convert <file> --to <fmt> [--out <path>] [--force]` | `pdf→docx/pptx/xlsx`, `csv→xlsx`, `xls/xlsb/ods→xlsx`, `md→docx/html`, `docx→html/md`, `html→docx`, `xlsx→csv` (`--sheet`), and `docx/xlsx/pptx/md/html→pdf` |
| `hermesoffice create --type pptx --ops <file> --out <path>` | New deck from a list of slide ops |
| `hermesoffice create --type pptx --spec <dir\|file> [--outline <file>] --out <path>` | New deck from page spec files (one per slide, name order) or one deck spec file: px-positioned text, shapes and images (the designed-deck path, see below) |
View on GitHub