CLI

Status: Entwurf

Vorschläge von Claude – nicht verbindlich, bis Daniel sie freigibt.

Vorschlag: Befehle in 0.1 PROP_CLI_COMMANDS
status: draft

Befehl

Bewirkt

deciwa init [--at <folder>]

.deciwa/ anlegen

deciwa elements <file>

Elemente mit Selektor, Art, Zeile und Beschriftung auflisten

deciwa annotate <file> <element> --verdict <v> [--comment …]

Feedback

deciwa rate <file> <element> <1-5>

Qualitätsbewertung

deciwa request <file> <element> --to <who> --question …

jemanden fragen

deciwa answer <id> [--verdict approve|reject] [--text …]

eine Anfrage beantworten

deciwa show <file>

jede Annotation einer Datei mit dem Zustand ihres Elements

deciwa status [path]

Anzahl pro Zustand, Abdeckung

deciwa todo [path …] [--for <who>]

offene Schnellaktionen und Anfragen; Pfade (Dateien oder Ordner, vom aktuellen Ordner oder vom Projektstamm aus) schränken sie ein

deciwa resolve <id> [--note …]

eine Aufgabe als erledigt markieren

deciwa diff <id>

Schnappschuss vs. aktueller Text

deciwa relink <id> [<element>]

die Selektoren einer verschobenen oder verwaisten Annotation aktualisieren

serve gibt es seit dem Prototyp; serve --api-only liefert nur die JSON-API für eine Host-App (Host-Apps); push und pull folgen in 0.5.

Ein Element adressieren

Das Element-Argument ist ein struktureller Selektor, wie ihn deciwa elements ausgibt, oder ein Textzitat:

$ deciwa elements 20_facts/company/founder.md
md:heading:Career                    3  heading    Career
md:heading:Career/Advisor            9  heading    Advisor
md:paragraph:Career/Advisor#1       11  paragraph  Daniel works as advisor since …

$ deciwa annotate 20_facts/company/founder.md md:paragraph:Career/Advisor#1 \
    --verdict rephrase --comment "too stiff"
k7q2m9xa

$ deciwa annotate 20_facts/company/founder.md --quote "since October 2026" \
    --verdict approve
Vorschlag: JSON-Ausgaben haben für jeden Befehl dieselbe Hülle PROP_CLI_JSON
status: draft

--json gibt {"deciwa": "0.1", "command": "<name>", "ok": true, "result": …} aus; Fehler geben "ok": false mit einem error-Objekt (code, message) aus. Exit-Codes: 0 ok, 1 Fehler, 2 Bedienfehler. Die Ausgabe für Menschen darf sich zwischen Versionen ändern, die JSON-Hülle nicht.

Vorschlag: deciwa status kann einen CI-Lauf bei Einfrier-Alarmen scheitern lassen PROP_CLI_CHECK
status: draft

deciwa status --fail-on frozen-changed,orphaned endet mit 3, wenn solche Elemente existieren. deciwa zeigt trotzdem nur – das Team entscheidet, ob CI stoppt. Optional für 0.1.