profile
CLI-Referenz für die Befehlsgruppe apothem profile.
Verwaltet das gemeinsame Apothem-Profil.
profile ist eine Befehlsgruppe mit vier Unterbefehlen: init, show, set und edit.
Das gemeinsame Profil ist die einzige maßgebliche Quelle, die jeder
Harness-Adapter in seine native Konfiguration materialisiert.
Übersicht
apothem profile init [--profile PATH] [--force]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile show [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile set KEY VALUE
[--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile edit [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]Gemeinsame Optionen
Jeder Unterbefehl akzeptiert die folgenden gemeinsamen Optionen.
| Option | Beschreibung |
|---|---|
--profile PATH | Pfad zur YAML-Datei des gemeinsamen Profils (Standard ist der Standardspeicherort des Profils). |
--quiet, -q | Unterdrückt informative Ausgaben; nur Fehler werden ausgegeben. |
--verbose, -v | Gibt zusätzliche Diagnoseausgaben aus. |
--format plain|json | Ausgabeformat (Standard: plain). |
--json | Kurzform für --format json. |
--no-color | Deaktiviert ANSI-Farbcodes in der Ausgabe. |
-h, --help | Zeigt die Hilfe an und beendet den Befehl. |
Unterbefehle
profile init
Erstellt ein schemagültiges, minimales Profilgerüst unter
~/.config/apothem/profile.yaml oder --profile PATH. Vorhandene Dateien
bleiben erhalten, sofern nicht --force angegeben wird.
Die erste Zeile des Gerüsts ist eine yaml-language-server-Modeline, die die
$id des Profilschemas nennt,
https://apothem.ahmedgad.com/schemas/profile.schema.json. Die Website stellt
das mitgelieferte Schema unter dieser Adresse bereit, sodass ein Editor mit
YAML-Sprachunterstützung das Profil validiert, während Sie es bearbeiten. Jedes
mitgelieferte Schema unter src/apothem/schemas/ wird auf dieselbe Weise unter
https://apothem.ahmedgad.com/schemas/<file> bereitgestellt.
| Option | Beschreibung |
|---|---|
--force | Überschreibt ein vorhandenes Profilgerüst. |
profile show
Zeigt das validierte, um Standardwerte erweiterte gemeinsame Profil an. Mit
--json ist das Dokument das Profil selbst, angeführt von schema_version:
der Version des Profilschemas, nach der die Engine es gelesen hat (siehe den
JSON-Ausgabevertrag).
profile set KEY VALUE
Setzt einen Schlüssel im gemeinsamen Profil. KEY ist ein punktgetrennter
Pfad, der in das verschachtelte Profil absteigt (identity.name,
preferences.style, enforcement.sprints,
harnesses.<harness>.preferences.style); ein einzelner Schlüssel ohne Punkt
setzt einen Knoten der obersten Ebene. VALUE wird als wörtliche Zeichenkette
gespeichert — bloße Wörter werden nicht umgewandelt (no bleibt "no",
2024-01-01 und 1.0 bleiben Zeichenketten) — mit Ausnahme von
true/false (den booleschen Durchsetzungs-Flags) und expliziter
[...]/{...}-Listen-/Map-Eingabe. Das vollständig zusammengesetzte Profil
wird vor dem Schreiben gegen das Schema validiert; ein ungültiges Setzen wird
abgelehnt, und das Profil auf der Festplatte bleibt unverändert.
| Argument | Beschreibung |
|---|---|
KEY | Punktgetrennter Pfad in das Profil, der gesetzt werden soll (erforderlich). |
VALUE | Zuzuweisender wörtlicher Wert; wird vor dem Schreiben validiert (erforderlich). |
profile edit
Öffnet das gemeinsame Profil im Systemeditor.
Validierungsfehler
Jeder Befehl, der das Profil liest, validiert es gegen das mitgelieferte Schema und meldet in einem Durchlauf jedes gefundene Problem, sodass eine einzige Bearbeitung sie alle beheben kann:
- Klartextausgabe nennt das erste Problem vollständig (
Field,Reason,FixundOffending value (redacted): die Eingabe, die fehlgeschlagen ist, wobei geheimnisartige Werte durch<redacted>ersetzt sind; es ist niemals ein vorgeschlagener Ersatz) und listet dann bis zu zehn weitere unterOther problemsauf. - JSON-Ausgabe behält das erste Problem in den Feldern der obersten Ebene
des
error-Objekts und fügt einerrors-Array mit jedem Problem hinzu (code,field,reason,fix,safe_value). - Unbekannte Schlüssel geben nur den unerwarteten Schlüssel und seinen geschwärzten Wert wieder, nicht das gesamte Profil.
- Markierungen verwalteter Blöcke. Kein Schlüssel und kein Textwert darf
<!-- BEGIN APOTHEM MANAGED BLOCK -->oder<!-- END APOTHEM MANAGED BLOCK -->enthalten. Apothem schreibt diese Markierungen um den Block, den es in Anweisungsdateien verwaltet, und Profiltext landet innerhalb dieses Blocks; eine Markierung darin würde den Block daher teilen. Jedes solche Feld schlägt mitprofile.managed_block_markerfehl:fieldist sein punktgetrennter Pfad (zum Beispielrules.2odermcp_servers.search.env.SEARCH_MODE), undreasonnennt die Markierung. Der Wert selbst wird niemals wiedergegeben (safe_valueistnull), da es sich um Anmeldedaten handeln kann.
profile init (und jeder andere Befehl, der ein Profilgerüst anlegt) schreibt
schema_version: 1. Ein Profil ohne schema_version wird als Version 1
gelesen.
Beispiele
apothem profile init
apothem profile init --profile ./profile.yaml --force --json
apothem profile show
apothem profile show --json
apothem profile set seriousness SHARED
apothem profile set rules '["Use fake placeholders in examples."]'
apothem profile editExit-Codes
| Code | Bedeutung |
|---|---|
| 0 | Erfolg (oder, bei edit, der Editor wurde normal beendet) |
| 1 | Profil fehlt, ist ungültig, existiert bereits ohne --force oder kann nicht geschrieben werden |
| 64 | Verwendungsfehler: eine unbekannte Option oder ein unbekannter Befehl oder ein fehlender oder ungültiger Optionswert. Unter --json ist der Fehler ein JSON-Umschlag mit dem Code cli.usage. |
Siehe auch
- apothem install — materialisiert das Profil in einen Harness
- apothem doctor — führt systemweite Installationsdiagnosen aus