cli-anything-mermaid
Create, edit, and render Mermaid diagrams via stateful project files and the mermaid.ink renderer. Designed for AI agents and power users who need to generate flowcharts, sequence diagrams, and other visualizations without a GUI.
Installation
This CLI is installed as part of the cli-anything-mermaid package:
bash
pip install cli-anything-mermaid
Prerequisites:
- Python 3.10+
- No external software required (rendering uses mermaid.ink cloud service)
Usage
Basic Commands
bash
# Show help
cli-anything-mermaid --help
# Start interactive REPL mode
cli-anything-mermaid
# Create a new project
cli-anything-mermaid project new -o diagram.json
# Run with JSON output (for agent consumption)
cli-anything-mermaid --json project info
REPL Mode
When invoked without a subcommand, the CLI enters an interactive REPL session:
bash
cli-anything-mermaid
# Enter commands interactively with tab-completion and history
Command Groups
Project
Project lifecycle commands.
| Command | Description |
|---|
| Create a new Mermaid project with optional sample preset and theme |
| Open an existing Mermaid project file |
| Save the current project to a file |
| Show current project information |
| List available sample diagram presets |
Diagram
Diagram source manipulation commands.
| Command | Description |
|---|
| Replace the Mermaid source text (inline or from file) |
| Print the current Mermaid source code |
Export
Render and share commands.
| Command | Description |
|---|
| Render the diagram to SVG or PNG via mermaid.ink |
| Generate a Mermaid Live Editor URL for sharing |
Session
Session state commands.
| Command | Description |
|---|
| Show current session state |
| Undo the last diagram source change |
| Redo the last undone change |
Examples
Create and Render a Flowchart
bash
# Create a project with flowchart sample
cli-anything-mermaid project new --sample flowchart -o flow.json
# Replace diagram source
cli-anything-mermaid --project flow.json diagram set --text "graph TD; A-->B; B-->C;"
# Render to SVG
cli-anything-mermaid --project flow.json export render output.svg --format svg
Create a Sequence Diagram
bash
# Create project with sequence sample
cli-anything-mermaid project new --sample sequence -o seq.json
# Set diagram from file
cli-anything-mermaid --project seq.json diagram set --file my_diagram.mmd
# Render to PNG
cli-anything-mermaid --project seq.json export render output.png --format png
Share a Diagram
bash
# Generate an editable Mermaid Live URL
cli-anything-mermaid --project flow.json export share --mode edit
# Generate a view-only URL
cli-anything-mermaid --project flow.json export share --mode view
Interactive REPL Session
bash
cli-anything-mermaid
# new flowchart
# set graph TD; A-->B; B-->C;
# render output.svg
# share
# quit
State Management
The CLI maintains session state with:
- Undo/Redo: Revert or replay diagram source changes
- 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 ( flag): Structured JSON for agent consumption
bash
# Human output
cli-anything-mermaid project info
# JSON output for agents
cli-anything-mermaid --json project info
For AI Agents
When using this CLI programmatically:
- Always use flag for parseable output
- Check return codes - 0 for success, non-zero for errors
- Parse stderr for error messages on failure
- Use absolute paths for all file operations
- Verify outputs exist after render 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