---
title: "CLI monolynx: szybszy kanał dla deweloperów i agentów"
description: "CLI monolynx w praktyce: instalacja, logowanie OAuth, codzienne komendy, JSON i kody wyjścia dla skryptów oraz agentów. Kiedy komendy pluginu wybierają CLI, a kiedy MCP."
url: "https://monolynx.com/blog/monolynx-cli-dla-deweloperow-i-agentow"
lang: "pl"
author: "Zespół Monolynx"
published: "2026-10-08T08:34:28.256325+00:00"
modified: "2026-10-08T08:46:34.589624+00:00"
last_verified: "2026-10-08"
tags: ["cli", "claude-code", "agenci-ai", "mcp", "konfiguracja"]
translations: []
reading_time_minutes: 9
word_count: 1634
---

> [!TLDR]
> - `monolynx` to klient wiersza poleceń platformy: tickety, sprinty, wiki, blog i odczyt grafu kodu z terminala.
> - Instalujesz go jedną komendą (`pipx install monolynx-cli`) i logujesz przez OAuth komendą `monolynx auth login`.
> - Poza terminalem CLI zwraca JSON i jednoznaczne kody wyjścia, więc nadaje się do skryptów, CI i pracy agentów.
> - Komendy pluginu `/monolynx:*` same wybierają CLI, gdy jest zainstalowane i zalogowane. Niczego nie przełączasz.
> - CLI nie zastępuje MCP w całości. Pipelines, czas pracy, zapis grafu i narzędzia LLM Wiki nadal idą przez MCP.

## Dlaczego CLI, skoro jest MCP?

Oba kanały prowadzą do tych samych danych i sprawdzają te same uprawnienia. Różnią się tym, kto po nie sięga i w jakiej sytuacji. MCP jest naturalny w rozmowie z agentem. CLI jest naturalny tam, gdzie pracuje programista: w terminalu, w skrypcie, w potoku CI.


**Porównanie**

| Cecha | MCP | CLI `monolynx` |
| --- | --- | --- |
| Kto wywołuje | agent AI w rozmowie | człowiek, skrypt albo agent z dostępem do terminala |
| Wynik | tekst i pola dla modelu | tabela w terminalu, JSON poza nim |
| Sygnał błędu | komunikat w odpowiedzi narzędzia | kod wyjścia i komunikat na stderr |
| Skrypty i CI | nie | tak, z `MONOLYNX_TOKEN` |
| Zakres | wszystkie moduły, 125 narzędzi | projekty, tickety, sprinty, wiki, blog, odczyt grafu |
| Wymaga | klienta MCP | Pythona 3.10 lub nowszego |



**Statystyki**

- **2** - nazwy tej samej komendy: `monolynx` i krótki alias `mnx`
- **4** - formaty wyniku: tabela, JSON, YAML, CSV
- **36** - operacji, które komendy pluginu wykonują przez CLI zamiast MCP
- **30 dni** - ważność sesji OAuth, odnawianej przy zwykłym użyciu



**Dwa kanały do tej samej platformy**

Agent i programista mogą sięgać do Monolynx przez serwer MCP albo przez CLI. CLI rozmawia z REST API v2, MCP z serwerem narzędzi. Oba używają tego samego logowania i tej samej warstwy logiki, więc uprawnienia i wyniki są takie same.

```mermaid
flowchart LR
  A["Agent AI"] --> M["Serwer MCP"]
  A --> C["CLI monolynx"]
  D["Programista, skrypt, CI"] --> C
  C --> V["REST API v2"]
  M --> S["Wspólna logika i uprawnienia"]
  V --> S
  S --> B["Tickety, sprinty, wiki, blog, graf"]
```


## Instalacja i logowanie

CLI jest zwykłą paczką z PyPI o nazwie `monolynx-cli`. Wymaga Pythona 3.10 lub nowszego.

```bash title="Instalacja: wybierz jedną drogę"
pipx install monolynx-cli
uv tool install monolynx-cli
brew install monolynx/tap/monolynx
```


**Kroki**

1. **Zainstaluj** Zalecana droga to `pipx`, bo instaluje CLI w osobnym środowisku. Sprawdź wynik komendą `monolynx --version`.
2. **Zaloguj się** Komenda `monolynx auth login` otwiera przeglądarkę ze stroną zgody Monolynx. Masz 300 sekund na zatwierdzenie.
3. **Sprawdź sesję** Komenda `monolynx auth whoami` pokazuje zalogowanego użytkownika i datę wygaśnięcia sesji.
4. **Zapisz projekt** Komenda `monolynx config set profile.default.project sklep` zapamiętuje projekt, żeby nie podawać `--project` za każdym razem.



**Pierwsze kroki**

```console
$ monolynx auth login
$ monolynx project list
$ monolynx config set profile.default.project sklep
$ monolynx ticket list --status in_progress
$ monolynx ticket get SKL-41
```


> [!TIP]
> Na serwerze bez przeglądarki zaloguj się tokenem z panelu: `monolynx auth login --token osk_twoj_token`. W CI nie potrzebujesz nawet pliku konfiguracji: wystarczą zmienne `MONOLYNX_TOKEN`, `MONOLYNX_ENDPOINT` i `MONOLYNX_PROJECT`.

## Jak wygląda codzienna praca z CLI?

Komendy mają jedną postać: grupa, akcja, argumenty. Opcje globalne, takie jak `--project` i `-o`, stoją przed nazwą grupy.

```bash title="Tickety"
monolynx --project sklep ticket create --title "Poprawka przekierowania logowania" --priority high --sp 2 --ac "Przekierowanie zachowuje parametr next"
monolynx --project sklep ticket update SKL-44 --status in_progress
git log -1 --format=%B | monolynx --project sklep ticket comment add SKL-44 --body -
```

Ostatnia linia pokazuje, po co jest terminal: wynik jednej komendy staje się treścią komentarza w tickecie, bez kopiowania.


**Porównanie**

| Grupa | Co robi | Przykład |
| --- | --- | --- |
| `auth` | logowanie, wylogowanie, stan sesji | `monolynx auth whoami` |
| `config` | profile, endpoint, projekt domyślny | `monolynx config list` |
| `project`, `member` | projekty i zespół | `monolynx project list` |
| `ticket` | tickety, komentarze, etykiety, kryteria akceptacji | `monolynx ticket get SKL-41` |
| `sprint` | sprinty i ich start oraz zamknięcie | `monolynx sprint list` |
| `wiki` | strony wiki i wyszukiwanie | `monolynx wiki list --tree` |
| `blog` | metadane, lint i publikacja wpisów | `monolynx blog lint <page_id>` |
| `graph` | odczyt grafu zależności kodu | `monolynx graph stats` |



**Opcje globalne i zmienne środowiskowe**

| Opcja albo zmienna | Znaczenie |
| --- | --- |
| `-o`, `--output` | format wyniku: `table`, `json`, `yaml`, `csv` |
| `--project`, `MONOLYNX_PROJECT` | slug projektu |
| `--profile`, `MONOLYNX_PROFILE` | profil konfiguracji, na przykład osobny dla instancji testowej |
| `MONOLYNX_ENDPOINT` | adres serwera, domyślnie `https://monolynx.com` |
| `MONOLYNX_TOKEN` | token API używany zamiast tokenów z profilu |
| `-q`, `--quiet` | wycisza komunikaty postępu na stderr |
| `--debug` | wypisuje żądania i odpowiedzi HTTP z zamaskowanym tokenem |
| `--timeout` | limit czasu jednego żądania, domyślnie 30 sekund |

Kolejność rozstrzygania jest zawsze ta sama: opcja w komendzie, potem zmienna środowiskowa, potem plik konfiguracji, na końcu wartość domyślna.


## Dlaczego CLI pasuje agentom?

Agent z dostępem do terminala dostaje z CLI dwie rzeczy, których potrzebuje do pewnej pracy: przewidywalny format i jednoznaczny wynik.

Pierwsza to JSON. Gdy wyjście nie jest terminalem, CLI samo przełącza format z tabeli na JSON, więc agent czyta pola zamiast zgadywać strukturę tekstu. Druga to kody wyjścia.


**Porównanie**

| Kod | Znaczenie | Przykład |
| --- | --- | --- |
| `0` | sukces | operacja wykonana |
| `1` | błąd API albo lokalny | 404, 422, publikacja odrzucona przez lint |
| `2` | błąd użycia | nieznana opcja, brak projektu |
| `3` | błąd uwierzytelnienia | brak logowania, brak uprawnienia roli |
| `4` | błąd sieci | limit czasu, brak połączenia |



**Najwięcej prób jednego żądania przy błędzie serwera**

| Metoda | Najwięcej prób |
| --- | --- |
| GET | 4 |
| DELETE | 4 |
| POST | 1 |
| PATCH | 1 |


Wykres pokazuje zachowanie przy błędach 5xx: odczyty i usunięcia są ponawiane do czterech prób, a zapisy nie, bo powtórzony zapis mógłby utworzyć duplikat. Zapisy są ponawiane tylko wtedy, gdy serwer odpowie kodem 429, czyli prośbą o zwolnienie tempa.

> [!TIP]
> Opcje `--compact` w `ticket list` oraz `--brief` w `ticket create` i `ticket update` skracają wynik do pól potrzebnych w dalszych krokach. Agent zużywa wtedy mniej kontekstu na każdą operację.

### Jak komendy pluginu wybierają kanał

Komendy `/monolynx:*` nie wymagają od Ciebie decyzji. Każda z nich na starcie sprawdza, czy CLI jest zainstalowane i zalogowane, i wypisuje jedną linię stanu.


**Linia stanu transportu**

```console
TRANSPORT: mode=cli cli=0.4.0 auth=ok latest=0.4.0 update=no install=pipx
```



**Porównanie**

| Stan | Co robi komenda pluginu |
| --- | --- |
| CLI zainstalowane i zalogowane | operacje na ticketach, sprintach, wiki, blogu i odczyt grafu idą przez CLI, reszta przez MCP |
| CLI zainstalowane, bez logowania | wszystko przez MCP, jedna podpowiedź: `monolynx auth login` |
| Brak CLI | wszystko przez MCP, jedna podpowiedź instalacji |
| Dostępna nowsza wersja CLI | praca bez zmian, jedna podpowiedź z komendą aktualizacji |
| `MONOLYNX_TRANSPORT=mcp` | wszystko przez MCP, bez podpowiedzi |


> [!NOTE]
> CLI nie jest wymagane. Bez niego komendy pluginu działają przez MCP, tak jak opisuje wpis [Jak połączyć agenta AI z Monolynx](https://monolynx.com/blog/polaczenie-z-monolynx-mcp-claude-code-chatgpt). Zmienna `MONOLYNX_TRANSPORT=mcp` wyłącza CLI także wtedy, gdy jest zainstalowane.

## Czego CLI jeszcze nie obsługuje?

CLI pokrywa operacje, które mają odpowiednik w REST API v2. Pozostałe moduły zostają przy MCP, dlatego w pracy z pluginem potrzebujesz obu kanałów.


**Porównanie**

| Przez CLI | Zawsze przez MCP |
| --- | --- |
| tickety, komentarze, kryteria akceptacji, etykiety | Pipelines, czyli zapis przebiegu pracy agentów |
| sprinty, tablica, burndown | czas pracy i raport pracy |
| strony wiki, wyszukiwanie, konfiguracja wiki | narzędzia metody LLM Wiki: indeks, dziennik, audyt, linki zwrotne |
| blog: metadane, lint, publikacja | zapis grafu kodu |
| odczyt grafu kodu | monitoring, błędy 500, heartbeat, rozliczenia, role |


> [!WARNING]
> Grupy `monitoring`, `issues`, `time`, `plan`, `rozliczenia`, `pipeline`, `heartbeat` i `role` widać w `monolynx --help`, ale są zarezerwowane i nie mają jeszcze komend.

## Najczęstsze pytania


**FAQ**

### Czy CLI i MCP używają tego samego konta?
Tak. Oba logują się kontem Monolynx, przez OAuth albo token API, i oba podlegają tym samym uprawnieniom roli w projekcie.

### Jak zaktualizować CLI?
Komenda `monolynx version --check` pokazuje zainstalowaną i najnowszą wersję oraz gotową komendę aktualizacji, zależną od sposobu instalacji, na przykład `pipx upgrade monolynx-cli`.

### Jak pracować z dwiema instancjami Monolynx?
Użyj profili. Zaloguj się z opcjami `--endpoint` i `--profile`, a potem wybieraj profil opcją `--profile` albo zmienną `MONOLYNX_PROFILE`.

### Gdzie CLI trzyma tokeny?
W pliku `config.toml` w katalogu konfiguracji użytkownika, z uprawnieniami tylko dla właściciela. Komendy `config get` i `config list` zawsze maskują tokeny.

### Czy komendy usuwające pytają o potwierdzenie?
Tak. W terminalu pytają, a poza terminalem odmawiają wykonania bez opcji `--yes`. Skrypt nie usunie więc niczego przez przypadek.


## Słownik i następny krok


**Słownik**

- **CLI** - interfejs wiersza poleceń, tutaj komenda `monolynx` i jej alias `mnx`
- **REST API v2** - interfejs HTTP platformy, z którego korzysta CLI i zewnętrzne integracje
- **Profil** - nazwany zestaw ustawień CLI: adres serwera, projekt i dane logowania
- **Transport** - kanał, którym komenda pluginu wykonuje operację: CLI albo MCP
- **Kod wyjścia** - liczba zwracana przez komendę, po której skrypt i agent poznają wynik


Skoro oba kanały działają, pora ich użyć: [Sprint z Monolynx krok po kroku](https://monolynx.com/blog/sprint-z-monolynx-krok-po-kroku) pokazuje cały obieg pracy z agentami.


**Wezwanie do działania**

Chcesz zobaczyć, czym zarządza CLI po stronie platformy?

[Zobacz moduł Scrum w Monolynx](https://monolynx.com/features/scrum)

