Home/AI Agents/OfficeCLI
OfficeCLI logo

OfficeCLI

iOfficeAI/OfficeCLI

First and best Office suite for AI agents to automate Word, Excel, and PowerPoint files.

GraphCanon updated 2d · GitHub synced 2d · 34 views this month

29k stars2.0k forksLast push 1w C# Apache-2.0

Decision brief

OfficeCLI is a single binary CLI tool for AI agents to automate Microsoft Office file formats like docx, pptx, and xlsx without needing an installation of Office. It's written in C# under the Apache-2.0 license.

Good fit when

  • When you need to programmatically interact with Word, Excel, and PowerPoint files using AI agents without requiring a full Microsoft Office suite installation.
  • If your project requires a tool that automatically provisions the CLI for both Python and Node.js without silently installing it in the background, ensuring clear visibility on installations.

Avoid when

  • When your application strictly needs features or integrations only available through a full Office Software Development Kit (SDK).
  • If you are looking for a tool that operates purely as part of an existing Microsoft Office installation, as OfficeCLI functions independently and doesn’t require or integrate with these installations.
Requirements:
Runs cross-platform (macOS/Linux/Windows), with embedded .NET runtime for a self-contained solution.

Observed Jul 11, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Very active (5d since push)
As of 2d
Provenance
Not a fork · Organization account
As of 2d
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

git clone https://github.com/iOfficeAI/OfficeCLI

How it fits your stack(11)

Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.

Integrates

Relationship graph

Optional deeper exploration of typed edges and category neighbours.

Similar tools

Same-category neighbours not already linked as typed edges.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Freely available open-source single binary CLI tool that enables reading, editing, and automating of Microsoft Office file formats including docx, pptx, and xlsx without requiring an installation of Office.

Capability facts

Languages
c#

Source: github.language · Aug 19, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Node.js runtimeNode.js

Source: README excerpt (regex_v1, Aug 19, 2026)

// Node.js — `npm install @officecli/sdk`
Source link
Python runtimePython

Source: README excerpt (regex_v1, Aug 19, 2026)

# Python — `pip install officecli-sdk`
Source link

Tags

README

1. Install (macOS / Linux) — or: brew install officecli / npm install -g @officecli/officecli

curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash


Windows (PowerShell): irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex


Installation

Ships as a single self-contained binary. The .NET runtime is embedded -- nothing to install, no runtime to manage.

One-line install:


---

# Python — `pip install officecli-sdk`
import officecli
with officecli.create("deck.pptx") as doc:          # or officecli.open("deck.pptx")
    doc.send({"command": "add", "parent": "/", "type": "slide"})
    print(doc.send({"command": "get", "path": "/slide[1]"}))
// Node.js — `npm install @officecli/sdk`
const oc = require("@officecli/sdk");
const doc = await oc.create("deck.pptx");            // or oc.open("deck.pptx")
await doc.send({ command: "add", parent: "/", type: "slide" });
console.log(await doc.send({ command: "get", path: "/slide[1]" }));
await doc.close();

Both SDKs auto-provision the native CLI when missing (mirror-first, Windows-capable) and announce the install rather than doing it silently.

Or wrap subprocess directly, one-shot:

import json, subprocess
def cli(*args):
    return json.loads(subprocess.check_output(["officecli", *args, "--json"], text=True))
cli("create", "deck.pptx")

License

Apache License 2.0

Bug reports and contributions are welcome on GitHub Issues.


If you find OfficeCLI useful, please give it a star on GitHub — it helps others discover the project.

OfficeCLI.AI | GitHub

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.