Command Line

The whole platform from your terminal - no clicking through the UI

The monolynx command-line client (alias mnx) gives you projects, tickets, sprints, wiki and read access to the code dependency graph straight from the terminal. Its commands perform the same operations as the MCP tools, and the JSON output is pipeline-ready - combine it with jq and Monolynx plugs into scripts, Git hooks and CI jobs.

Key features

One-command install

pipx install monolynx-cli, uv tool install monolynx-cli or pip install monolynx-cli. On macOS and Linux also through Homebrew from the monolynx/tap tap. Requires Python 3.10+.

Four output formats

The -o switch picks table, json, yaml or csv. Outside a terminal (a pipe, a file) the CLI switches to JSON on its own, so you never have to remember the flag.

Pipelines with jq

Ticket lists return a pagination envelope {items, page, per_page, total, total_pages}, e.g. monolynx -o json ticket list | jq '.items[] | .key'. Data goes to stdout, the page footer to stderr.

Profiles for multiple instances

The config.toml file holds any number of profiles (endpoint, project, token). Switch with --profile, MONOLYNX_PROFILE or config set general.active_profile.

Exit codes for CI

0 success, 1 API error, 2 usage or validation error, 3 authentication error, 4 network error. A script reacts to the code instead of parsing messages.

Sign in with a browser or a token

monolynx auth login opens your browser and signs you in with OAuth. On a CI runner or over SSH use monolynx auth login --token osk_... or the MONOLYNX_TOKEN variable.

The mnx alias and MCP parity

The package installs two equivalent commands: monolynx and mnx. The project, member, ticket, sprint and wiki groups cover the same operations as the MCP tools, because both sides use one shared service layer.

Dependency graph in the terminal

The graph group reads the code graph of the Connections module: monolynx graph nodes, node, query, path and stats, through the API v2 /graph endpoints. Read-only - the graph is written only by the sync through MCP.

How it works

1

Install the CLI

pipx install monolynx-cli, uv tool install monolynx-cli or pip install monolynx-cli. Homebrew: brew install monolynx/tap/monolynx, or brew tap monolynx/tap first and then brew install monolynx.

2

Sign in

monolynx auth login opens your browser and signs you in with OAuth. Without a browser: monolynx auth login --token osk_..., using a token generated in your profile.

3

See your projects

monolynx project list prints the projects you can access. Set a default project with monolynx config set profile.default.project <slug>.

4

Work with tickets

monolynx --project <slug> ticket list shows the project's tickets, while ticket create, ticket update and ticket comment add change them without opening the dashboard.

5

Wire it into a script or pipeline

Feed the JSON output to jq and the exit codes to a case statement. That is how you build a Git hook, a CI job or a cron report.

AI & MCP

The CLI uses the REST API and the same service layer as the MCP tools, so an AI agent and a human in the terminal perform the same operations on the same data. Below is a representative selection of commands from every group.

Available commands

monolynx project list List the projects you have access to.
monolynx project get Project details: your role, member and ticket counts, active sprint.
monolynx project summary Project summary: errors, monitors, uptime, active sprint, backlog.
monolynx member list List project members.
monolynx member invite Invite a person to the project with the member or admin role.
monolynx ticket list List project tickets with status, priority, sprint and due date filters.
monolynx ticket get Ticket details by UUID or key, e.g. MON-42.
monolynx ticket create Create a ticket with description, priority, story points and acceptance criteria.
monolynx ticket update Change a ticket's status, priority or assignee - only the given fields are sent.
monolynx ticket search Search tickets by phrase and filters.
monolynx ticket comment add Post a markdown comment on a ticket; the text can come from stdin.
monolynx ticket ac list List a ticket's acceptance criteria.
monolynx sprint list List project sprints, optionally filtered by status.
monolynx sprint start Start a sprint (only one sprint can be active at a time).
monolynx sprint board Kanban board of the active sprint.
monolynx sprint burndown Sprint burndown (the active sprint by default).
monolynx wiki list List the project's wiki pages, optionally as a tree.
monolynx wiki get Show a wiki page with its content, or just the raw markdown.
monolynx wiki create Create a wiki page with content from an option, a file or stdin.
monolynx wiki edit Edit a page's content in $EDITOR; saves only when the content changed.
monolynx wiki search Semantic search over wiki pages.
monolynx graph nodes List dependency graph nodes, filtered by type and a fragment of the name.
monolynx graph node A node with its neighborhood: neighbors, edges and depth, with relation and type filters.
monolynx graph query The project's graph or a subgraph (nodes and edges), optionally by type and phrase.
monolynx graph path Shortest path between two nodes.
monolynx graph stats Graph statistics: node and edge counts, also per type.
monolynx blog list List blog posts with metadata, drafts included; published or draft filter.
monolynx blog get A blog post: metadata, public URLs and markdown content.
monolynx blog meta Change post metadata: slug, description, author, tags, language, cover, verified date.
monolynx blog lint Lint a post for AI: problems with line and level, plus a score from 0 to 100; exit code 1 on an error.
monolynx blog publish Publish a post after the lint; lint errors mean a refusal and exit code 1, unless --force. The meta, publish and unpublish commands need the blog permission (without it a 403 and exit code 3).
monolynx blog unpublish Unpublish a post: its address and its .md version answer 404, the date and the slug stay.

Technical details

Framework
Typer with Rich table rendering. Help texts and messages are in Polish.
Package
monolynx-cli on PyPI, two binaries: monolynx and mnx (the same entry point). Python 3.10+.
Communication
Exclusively through the REST API v2 (/api/v2). Authentication with OAuth 2.1 and PKCE or an osk_ API token.
Shared service layer
Business logic lives in src/monolynx/services/ and is shared by the MCP tools and the API v2 endpoints the CLI calls.
Configuration
A config.toml file in the per-user config directory (permissions 0600) with profiles. Precedence: option, environment variable, file, default.
Retries and limits
GET and DELETE are retried on 429 and 5xx, POST and PATCH only on 429. At most 4 attempts; set the request timeout with --timeout.

Other modules

Try Monolynx

Free, open source, self-hosted. Deploy on your infrastructure in minutes.