Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

omniplan-cli

omniplan-cli

A self-describing CLI for OmniPlan 4 on macOS. Every command prints JSON and documents its own inputs and outputs, so an LLM agent can drive it as a shell tool.

Requirements

  • macOS with OmniPlan 4 running
  • Go 1.22+ (to build)
  • Automation permission granted to your terminal (System Settings → Privacy & Security → Automation)

Build & Install

go build -o omniplan-cli ./cmd/omniplan
# optional: move onto PATH
mv omniplan-cli /usr/local/bin/

Machine-readable API

Get the full command catalog as JSON in one call:

omniplan-cli schema

Each entry has: command, description, params (name, type, required, default, description), and output (shape hint). Every command also supports --help.

Commands

Command Description
omniplan-cli schema Emit the machine-readable JSON catalog of all commands
omniplan-cli document list List all currently open OmniPlan documents
omniplan-cli task query Search/filter tasks by keyword, type, completion, or due date
omniplan-cli task get Get full details of a task by ID
omniplan-cli task create Create a task under a parent or the root
omniplan-cli task update Update task fields (only provided flags change)
omniplan-cli task delete Delete a task by ID
omniplan-cli task set-effort Set effort (hours) for a task
omniplan-cli task link Create a Finish-to-Start dependency
omniplan-cli task unlink Remove a dependency
omniplan-cli task deps List prerequisites and dependents
omniplan-cli resource list List all resources
omniplan-cli resource create Create a human resource
omniplan-cli resource update Update a resource
omniplan-cli resource delete Delete a resource and its assignments
omniplan-cli resource assign Assign a resource to a task
omniplan-cli resource unassign Remove a resource assignment
omniplan-cli resource assignments List a task's assignments

All task/resource commands operate on the frontmost open OmniPlan document.

Output contract

  • Success: compact JSON to stdout, exit 0.
  • Failure: {"error":"<message>"} to stderr, non-zero exit.

Example

omniplan-cli task create --title "Beta Launch" --type milestone --parent-id 12
omniplan-cli task query --completed=false --due-before 2026-01-01 --detail full
omniplan-cli resource assign --task-id 42 --resource "Alice Smith" --units 0.5

License

MIT

About

Self-describing CLI for OmniPlan 4 on macOS — LLM-friendly, JSON in/out, machine-readable command catalog

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages