Skip to main content

reviso-cli

Command line client for Reviso, a content collaboration system where agents publish Markdown and HTML drafts and a human team reviews them.

This is the client half of Reviso. It talks to a Reviso server over HTTP and contains no server code. It has no runtime dependencies: the transport is urllib, so publishing a Markdown file does not pull a dependency graph into an agent's environment.

Install

pip install reviso-cli
# or run it without installing
uvx --from reviso-cli reviso --help

Installs the reviso command. No runtime dependencies: installing it will not pull a dependency graph into an agent's environment.

Quick start

reviso auth login --server https://reviso.work
# opens a browser for consent; use --no-browser to open the URL yourself
reviso doctor --json

reviso publish draft.md --title "Q3 launch plan" --description "Initial draft"
# prints the document URL

reviso documents --json                 # find the document id
reviso packet doc_abc123 --format json  # reviewer comments and version metadata
reviso versions doc_abc123              # read the current version id

reviso update doc_abc123 revised.md \
  --description "Address reviewer feedback" \
  --base-version-id ver_xyz

Browser login

Version 0.2 supports browser consent with a temporary loopback callback and PKCE. Keep the CLI running and open the login URL in a browser on the same computer. reviso auth status shows the selected server and login state without credentials; reviso auth logout removes that server's saved login. Revoke the connection in Settings → Integrations to end its server access.

Credentials live in an owner-only file at ~/.config/reviso/credentials.json (or under XDG_CONFIG_HOME), separately for each server, and refresh automatically. An existing REVISO_AUTOMATION_KEY or --key still supports headless use. The credential lock currently supports macOS and Linux.

The rule that matters

Always pass --base-version-id when you revise a document.

Omitting it is not a safe default. Without it the command re-bases onto whatever version is newest and lets your write win, which silently discards a human's concurrent edit. The safe shape is always two steps:

reviso versions <document_id>        # take the newest version_id
reviso update <document_id> file --description "..." --base-version-id <ver_...>

If the write is rejected as a conflict, re-read and re-apply your change on top of the human's edit. Do not retry with the flag removed.

Command groups

Group Commands
Connection auth, doctor, health, ready, version
Documents publish, open, status, documents, search, packet
Revisions versions, diff, update, rollback
Reviewers invite, guest, comment, reply, resolve
Data export, import, workspaces

Deliberately not in this client

These are boundaries, not gaps to be filled later:

  • No server commands. Starting a Reviso server is not part of the client.
  • No share-link creation. A share link carries a bearer token in its URL, and creating one is a browser action where the person handing it out can see who it is going to. Invites by email are here instead.
  • No owner or operator surfaces. Metrics, debug replay, and internal replay endpoints are not exposed.

If you need MCP tools rather than a shell, the hosted connector is the better path in most hosts. See reviso-agent for the agent skill.

Known limitations

  • publish prints only the document URL. It does not return the document id, so use reviso documents --json to continue from the id.
  • update and rollback accept an omitted base version and fall back to last-writer-wins. Always pass the flag. A future release should make the safe behaviour the default.

License

MIT. See LICENSE.

The Reviso product itself is not open source. This repository covers the client only; it grants no rights to the service or its server software. See VISIBILITY.md for the boundary this repository holds, and CONTRIBUTING.md before opening a pull request.

Publish a presentation with its explicit kind so the server validates and renders it as slides:

reviso publish presentation.html --workspace-id <workspace-id> --kind html_deck --deck-contract-version html-deck/1

Ordinary HTML keeps --kind document (the default); deck markup without html_deck is rejected by the server.

Metadata

Release files for reviso-cli 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reviso-cli 0.2.0
File Size Uploaded
reviso_cli-0.2.0.tar.gz 37.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reviso-cli 0.2.0
File Interpreter ABI Platform
reviso_cli-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 75.5 kB

Release files / reviso_cli-0.2.0.tar.gz

Download URL reviso_cli-0.2.0.tar.gz
Size 37.6 kB
Tags Source
SHA-256 checksum
How to use checksums
beb863174a166f09705aa62b2e2625d8a9edcd3e8e9c2fe507034c42b620c1de
BLAKE2b-256 checksum
How to use checksums
78330b8c6f17e503e433930920f02993b12dc650d7782dd98df22d867f9f0a3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / reviso_cli-0.2.0-py3-none-any.whl

Download URL reviso_cli-0.2.0-py3-none-any.whl
Size 38.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08c865962fe9ea80f530a642a3c5bf5ae42a0e91c21b7db80c92e888a6a9f486
BLAKE2b-256 checksum
How to use checksums
5a61dfb7612c5da8cf2509165e7c6d96704796916032a795905cc976ab51033e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page