Forge CLI
forge ist eine Kommandozeilenanwendung für Forgejo. Sie führt authentifizierte API-Operationen aus und verwendet standardmäßig das in der Konfiguration hinterlegte Forgejo-Ziel.
Grundsyntax
forge [global flags] <command> [subcommand] [argumente] [flags]
Hilfe kann auf jeder Ebene angezeigt werden:
forge --help
forge wiki --help
forge wiki create --help
Repository auswählen
Ein Repository wird mit --repo oder -R im Format [HOST/]OWNER/REPO angegeben:
forge wiki list --repo frank/forgecli
forge -R frank/forgecli repo view
forge --host repository.example.org --repo frank/forgecli issue list
Wiki-Befehle
Seiten auflisten und lesen
forge wiki list --repo frank/forgecli
forge wiki read "Forge CLI" --repo frank/forgecli
forge wiki read "Forge CLI" --repo frank/forgecli --section 2.1
forge wiki toc "Forge CLI" --repo frank/forgecli
--section liest einen einzelnen Abschnitt anhand seiner Überschriftennummer.
Seiten suchen
forge wiki search "Authentifizierung" --repo frank/forgecli
forge wiki search "CLI" --repo frank/forgecli --titles-only
forge wiki search "CLI" --repo frank/forgecli --limit 10
Seite anlegen
Der Seiteninhalt kann direkt oder über eine Datei beziehungsweise stdin übergeben werden:
forge wiki create "Neue Seite" --repo frank/forgecli \
--body '# Überschrift'
forge wiki create "Neue Seite" --repo frank/forgecli \
--body-file dokumentation.md \
--message 'Dokumentation hinzufügen'
cat dokumentation.md | forge wiki create "Neue Seite" \
--repo frank/forgecli --body-file -
--message setzt die Commit-Nachricht des Wiki-Commits.
Seite aktualisieren
Eine komplette Seite wird ersetzt mit:
forge wiki update "Forge CLI" --repo frank/forgecli \
--body-file dokumentation.md \
--message 'Dokumentation aktualisieren'
Eine Seite kann beim Aktualisieren mit --title umbenannt werden. Einzelne Abschnitte lassen sich mit --section ersetzen:
forge wiki update "Forge CLI" --repo frank/forgecli \
--section 2.1 --body 'Aktualisierter Abschnitt'
Gezielte Textänderungen sind mit --replace-old und --replace-new möglich:
forge wiki update "Forge CLI" --repo frank/forgecli \
--replace-old 'alter Text' \
--replace-new 'neuer Text'
Seite löschen
forge wiki delete "Alte Seite" --repo frank/forgecli
Vor dem Löschen sollte der exakte Seitentitel mit forge wiki list geprüft werden.
Globale Optionen
Die Wiki-Befehle unterstützen unter anderem:
--host string: Forgejo-Host festlegen.-R, --repo string: Repository auswählen.-q, --jq string: JSON-Ausgabe mit jq filtern.--json[=fields]: JSON mit allen oder ausgewählten Feldern ausgeben.--template string: JSON mit einem Go-Template formatieren.-h, --help: Hilfe anzeigen.
Beispiele für maschinenlesbare Ausgabe:
forge wiki list --repo frank/forgecli --json
forge wiki list --repo frank/forgecli --json title --jq '.[].title'
forge wiki read "Forge CLI" --repo frank/forgecli --template '{{.content}}'
Konfiguration und Authentifizierung
Das Standardziel und der Benutzer werden über die Forge-Konfiguration bestimmt:
forge config list
Für die Anmeldung und weitere Authentifizierungsoptionen:
forge auth --help
Empfohlener Ablauf
- Mit
forge <command> --helpdie Optionen prüfen. - Das Ziel mit
--repo [HOST/]OWNER/REPOfestlegen. - Inhalte bei Schreiboperationen mit
--bodyoder--body-fileübergeben. - Mit
--messageeine aussagekräftige Commit-Nachricht setzen. - Ausgabe bei Bedarf mit
--json,--jqoder--templateweiterverarbeiten.