Skip to content

CLI reference

Scaffold a new op.

Flag Required Notes
--runtime yes python, node, or binary
--description yes shown in list/show/search
--input no, repeatable key:type, e.g. --input title:string --input body:string? (append ? for optional)
--entry no script filename; defaults to main.py / index.js / main
--auth no auth provider name, stored in the manifest
--network no, repeatable allowed network host for the permissions allowlist
--python no PEP 723 requires-python constraint (python ops only), e.g. ">=3.12"

Patch an existing op’s manifest. Every flag is optional; only what you pass is changed. --input, when given, replaces the whole input schema rather than merging.

Run an op.

Flag Notes
--input repeatable, key=value

Validates inputs against the manifest before spawning the subprocess. Prints the op’s result or error envelope as pretty JSON; exits non-zero on error.

Lists every locally known op with its runtime kind and description.

Prints an op’s full manifest (as TOML) plus where its script lives on disk.

Semantic search over op descriptions.

Flag Notes
--top max results, default 5
--json machine-readable output

Returns id, description, and input schema per hit, enough to build a picoo run call without a follow-up show.

Checks whether the runtimes your ops need (python/uv, node) are available on this machine, and prints an install hint for anything missing.

Ops live at ~/.picoo/ops/<namespace>/<name>/ (global). A local ./.picoo/ops/ directory, if present, is checked first and takes precedence.