CLI-Referenz · Erste Schritte
Konfiguration
Zwei Dateien, klar getrennt: Die User-Config sagt, wohin die CLI spricht und als wer. Die
.workban.toml im Repository sagt, welches Projekt es ist. Umgebungsvariablen und Optionen gehen
beiden vor.
User-Config
~/.config/workban/config.toml, unter Windows %APPDATA%\workban\config.toml. Sie wird von
workban auth login geschrieben, enthält die persönlichen Tokens und
gehört nie ins Repo. Die Datei entsteht mit Rechten 0600.
api_url = "https://workban.de/api/v1" # Standard-Instanz
token = "wb_p_…"
[tokens] # Standard-Token je Instanz
"https://workban.de/api/v1" = "wb_p_…"
"https://workban.example.com/api/v1" = "wb_p_…" # zweite Instanz
[workspaces."https://workban.de/api/v1"] # ein Token je Workspace der Instanz
bergx2 = "wb_p_…"
kunde = "wb_p_…"
auth login --api-url <url> --token … legt den Token unter [tokens] ab und macht die Instanz
zur Standard-Instanz. auth logout entfernt ihn wieder.
auto_update = false schaltet das automatische Update aus,
für die CLI und für Regel, Skill und Hooks in den Repos. Die Zeile trägt man von Hand ein, sie
steht ganz oben in der Datei, vor der ersten Zeile mit eckigen Klammern. auth login und
auth logout lassen sie stehen.
Repo-Config
.workban.toml liegt im Wurzelverzeichnis des Repositories und wird eingecheckt. Sie gilt für alle
im Team.
project = "workban" # Slug oder ID des Projekts
workspace = "bergx2" # Slug des Workspaces, wählt den Token
api_url = "https://workban.example.com/api/v1" # optional: Instanz, wenn nicht die Standard-Instanz
Die CLI sucht die Datei vom aktuellen Verzeichnis aufwärts, so wie Git seine .git findet. Wie
bei Gits safe.directory zählt eine Datei nur, wenn sie und ihr Verzeichnis dem eigenen Konto
gehören und keins von beiden für alle beschreibbar ist. Eine Datei, die ein anderes Konto etwa in
/tmp abgelegt hat, wird übergangen, und die Suche geht weiter nach oben. Gruppen-Schreibrecht
stört nicht (umask 002).
workban init schreibt die Datei. api_url steht nur drin, wenn die
Instanz nicht die Standardadresse ist, workspace immer.
Mehrere Workspaces
Ein Token gilt nur in dem Workspace, in dem er erstellt wurde. Wer in mehreren Workspaces einer
Instanz arbeitet, meldet sich je Workspace einmal an: in der Web-App in den Workspace wechseln,
dort unter Benutzermenü → Tokens einen Token erstellen, workban auth login --token ….
loginlegt jeden Token unter[workspaces."<instanz>"]mit dem Slug ab, denGET /menennt.- Der Standard-Token der Instanz (
[tokens]) bleibt der des ersten Workspaces und wechselt nur bei einem neuen Token für denselben Workspace. So geraten Repos ohneworkspacein der.workban.tomlnicht still in einen anderen Workspace. - Nennt die
.workban.tomleinen Workspace, nimmt die CLI dessen Token. Gibt es keinen, meldet sie „Kein Token für den Workspace …", statt den Token eines anderen Workspaces zu schicken. - Ein Standard-Token, dessen Workspace diese Maschine nicht kennt (Login mit einer älteren CLI),
wird versucht.
workban doctormeldet, wenn er zu einem anderen Workspace gehört. Beim nächstenloginfragt die CLI einmalGET /memit ihm und trägt seinen Workspace ein. auth logoutentfernt den Token, den der Befehl an dieser Stelle benutzen würde. Ein anderer Workspace wird dabei nie von selbst zum Standard.
Umgebungsvariablen
| Variable | Wirkung |
|---|---|
WORKBAN_TOKEN | Überschreibt den Token aus der Config |
WORKBAN_API_URL | Überschreibt api_url |
WORKBAN_PROJECT | Überschreibt project aus .workban.toml |
WORKBAN_WORKSPACE | Überschreibt workspace aus .workban.toml |
WORKBAN_CONFIG_DIR | Ordner der User-Config, vor XDG_CONFIG_HOME |
WORKBAN_AUTO_UPDATE | 0, false oder off schaltet das automatische Update aus, wie auto_update = false |
Dieselben Werte gehen auch als globale Optionen, und die gewinnen:
Option vor Umgebungsvariable vor .workban.toml.
Welche Instanz gilt
- Steht die CLI in einem Repo ohne
api_url, gilt die Produktionsadressehttps://workban.de/api/v1. Nur außerhalb eines Repos zählt die Standard-Instanz aus der User-Config. So lenkt der letzte Login auf dieser Maschine nie ein Repo um. loginzielt ohne--api-urlauf Option, Umgebung,.workban.tomldes aktuellen Repos oder die Produktionsadresse, nie auf die zuletzt benutzte Instanz.- Nennt nur die
.workban.tomleine Instanz, für die noch kein Token gespeichert ist, fragtloginvor dem Senden nach. Ohne Terminal oder mit--jsongeht der Token dann nur mit ausdrücklichem--api-urldorthin. Eingecheckte Dateien kann jeder schreiben, der Inhalte ins Repo bringt, und sie dürfen deshalb allein nicht entscheiden, wohin ein Token geht. --tokenundWORKBAN_TOKENgehen an eine Instanz ausapi_urlnur, wenn für sie schon ein Token gespeichert ist oder sie per--api-urloderWORKBAN_API_URLgewählt ist. Sonst meldet die CLI „nicht angemeldet" und nennt Datei und Adresse.
Alte Produktionsadresse
Bis 0.35 hieß die Produktionsadresse https://workban.lunaarc.de/api/v1. Die CLI liest sie überall
als https://workban.de/api/v1: in Optionen, Umgebung, .workban.toml und User-Config. Ein dort
gespeicherter Token gilt ohne neuen Login, und .workban.toml-Dateien mit der alten Adresse müssen
nicht geändert werden. Beim nächsten Speichern schreibt die CLI den Token unter der neuen Adresse.