CLI-Anything cli-anything-drawio

install
source · Clone the upstream repo
git clone https://github.com/HKUDS/CLI-Anything
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/CLI-Anything "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-anything-drawio" ~/.claude/skills/hkuds-cli-anything-cli-anything-drawio && rm -rf "$T"
manifest: skills/cli-anything-drawio/SKILL.md
source content

cli-anything-drawio

A CLI harness for Draw.io — create, edit, and export diagrams from the command line.

Installation

This CLI is installed as part of the cli-anything-drawio package:

pip install cli-anything-drawio

Prerequisites:

  • Python 3.10+
  • drawio must be installed on your system

Usage

Basic Commands

# Show help
cli-anything-drawio --help

# Start interactive REPL mode
cli-anything-drawio

# Create a new project
cli-anything-drawio project new -o project.json

# Run with JSON output (for agent consumption)
cli-anything-drawio --json project info -p project.json

REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

cli-anything-drawio
# Enter commands interactively with tab-completion and history

Command Groups

Project

Project management: new, open, save, info.

CommandDescription
new
Create a new blank diagram
open
Open an existing .drawio project file
save
Save the current project
info
Show detailed project information
xml
Print the raw XML of the current project
presets
List available page size presets

Shape

Shape operations: add, remove, move, resize, style.

CommandDescription
add
Add a shape to the diagram
remove
Remove a shape by ID
list
List all shapes on a page
label
Update a shape's label text
move
Move a shape to new coordinates
resize
Resize a shape
style
Set a style property on a shape
info
Show detailed info about a shape
types
List all available shape types

Connect

Connector operations: add, remove, style.

CommandDescription
add
Add a connector between two shapes
remove
Remove a connector by ID
label
Update a connector's label
style
Set a style property on a connector
list
List all connectors on a page
styles
List available edge styles

Page

Page operations: add, remove, rename, list.

CommandDescription
add
Add a new page
remove
Remove a page by index
rename
Rename a page
list
List all pages

Export

Export operations: render to PNG, PDF, SVG.

CommandDescription
render
Export the diagram to a file
formats
List available export formats

Session

Session management: status, undo, redo.

CommandDescription
status
Show current session status
undo
Undo the last operation
redo
Redo the last undone operation
save-state
Save session state to disk
list
List all saved sessions

Examples

Create a New Project

Create a new drawio project file.

cli-anything-drawio project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-drawio --json project new -o myproject.json

Interactive REPL Session

Start an interactive session with undo/redo support.

cli-anything-drawio
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation

Export Project

Export the project to a final output format.

cli-anything-drawio --project myproject.json export render output.pdf --overwrite

State Management

The CLI maintains session state with:

  • Undo/Redo: Up to 50 levels of history
  • Project persistence: Save/load project state as JSON
  • Session tracking: Track modifications and changes

Output Formats

All commands support dual output modes:

  • Human-readable (default): Tables, colors, formatted text
  • Machine-readable (
    --json
    flag): Structured JSON for agent consumption
# Human output
cli-anything-drawio project info -p project.json

# JSON output for agents
cli-anything-drawio --json project info -p project.json

For AI Agents

When using this CLI programmatically:

  1. Always use
    --json
    flag
    for parseable output
  2. Check return codes - 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file operations
  5. Verify outputs exist after export operations

More Information

  • Full documentation: See README.md in the package
  • Test coverage: See TEST.md in the package
  • Methodology: See HARNESS.md in the cli-anything-plugin

Version

1.0.0