av/facts
av/facts ist ein Projekt-Spec-Workflow: Anforderungen als atomare Claims in einer .facts-Datei erfassen und mit facts check verifizieren – Lifecycle von @draft bis @implemented.
Was ist facts?
av/facts ist ein Workflow und Spezifikationsformat zur Verwaltung eines Projekts als Liste von atomaren Claims in einer .facts-Datei. Jede Zeile ist eine kurze, strukturierte Aussage darüber, was zutreffen sollte, und kann optional einen Shell-Befehl enthalten, den die Maschine ausführt, um den Claim zu verifizieren.
Der Kernzweck ist es, einem Agenten und Ihrem Team zu ermöglichen, Projektanforderungen lesbar und überprüfbar zu halten: Sie schreiben grobe Wahrheiten, verfeinern sie zu präzisen Specs und implementieren sowie verifizieren sie dann. Mit facts check sehen Sie, welche Claims bestehen, fehlschlagen oder manuelle Aufmerksamkeit brauchen.
Wichtige Funktionen
- Atomare „Fact“-Spezifikationsformat (
.facts): Schreiben Sie pro Zeile einen Claim als einfachen String, organisiert mit Markdown-Überschriften nach Domäne. - Lifecycle-Tagging für Fortschrittsverfolgung: Verwenden Sie
@draft,@specund@implemented(plus beliebige benutzerdefinierte Tags), um den Status jedes Claims in der Pipeline anzuzeigen. - Befehlsbasierte Verifikation: Für Facts mit
commandführtfacts checkden Befehl aus und hält den Claim für wahr, wenn der Befehl mit Exit-Code0endet. - Automatisierte Verifikation und Statusgruppierung:
facts checklintet Dateien, führt jeden Befehl aus und gruppiert Ergebnisse (z. B. grüner Pass, roter Fail, gelber Manual); es endet mit non-zero, wenn etwas fehlschlägt. - CI-freundliche Exit-Codes und Filterung: Filtern Sie Checks nach Tag-Ausdrücken (z. B.
--tags "mvp and not blocked"), um Teilmengen Ihrer Spec zu verifizieren. - Agent-gesteuerte Übergänge und Implementierung gegen die Spec: Ein Agent liest die Fact-Tabelle, nimmt
@spec-Facts auf, baut sie, führtfacts checkaus und tagt bestehende Facts als@implemented, während die Spec sich selbst aktualisiert.
So verwenden Sie facts
- Installieren Sie das CLI/Agent-Tooling (das Projekt bietet mehrere Installationsoptionen, inklusive Rust-Binary und
npx-Befehl wie unten beschrieben).- Beispiel:
npx skills add av/facts - Fordern Sie den Agenten dann auf, Init facts auszuführen (z. B. „Init facts“), um Ihren Stack zu erkennen und eine initiale
.facts-Datei zu erstellen.
- Beispiel:
- Erstellen oder bearbeiten Sie Ihre
.facts-Datei im dokumentierten Format:- Fügen Sie Überschriften zur Organisation nach Domäne hinzu (z. B.
# auth,# data). - Fügen Sie pro Zeile einen Claim hinzu.
- Taggen Sie jeden Fact mit Lifecycle-Stufen wie
@draft,@specoder@implemented. - Für verifizierbare Claims fügen Sie einen
commandhinzu, der mit0endet, wenn der Claim zutrifft.
- Fügen Sie Überschriften zur Organisation nach Domäne hinzu (z. B.
- Führen Sie Verifikation aus: Nutzen Sie
facts check, um alle Facts zu linten und zu verifizieren (oder--tagszur Begrenzung). Prüfen Sie, welche bestanden, fehlschlugen oder manuelle Arbeit brauchen. - Iterieren Sie mit dem Agenten: Schreiben Sie grobe Ideen als
@draft, verfeinern Sie sie zu@spec, lassen Sie den Agenten dann@spec-Facts implementieren und taggen Sie sie nachfacts check-Bestand als@implemented.
Anwendungsfälle
- Projekt-Spec-Validierung nach Änderungen: Halten Sie eine lebende Checkliste dessen, was zutreffen muss, und führen Sie
facts checknach Edits aus, um schnell zu sehen, was noch hält. - Anforderungen in ausführbare Checks umwandeln: Konvertieren Sie „muss zutreffen“-Aussagen (wie Auth-Verhalten oder Datenhandhabungsregeln) in Facts mit befehlsbasierter Verifikation.
- Work-in-Progress mit Fact-Lifecycle managen: Nutzen Sie
@draft → @spec → @implemented, um Fortschritt zu kommunizieren und sicherzustellen, dass jeder Claim entweder implementiert/verifiziert oder klar zur Verfeinerung markiert ist. - Automatisierte Codebase-Entdeckung und Klassifikation: Verwenden Sie die
facts-discover-Skill, um die Codebase zu scannen und Facts nach Lifecycle-Stufe zu klassifizieren, inklusive Hinzufügen fehlender Wahrheiten. - Implementieren gegen eine Spec: Nutzen Sie den
facts-implement-Flow, bei dem der Agent@spec-Facts liest, Code baut, mitfacts checkverifiziert und Tags aktualisiert.
FAQ
Ist facts nur ein Dokumentationsformat, oder verifiziert es Claims wirklich?
Es kann beides: Facts ohne Commands können vom Agenten gegen die Codebase verifiziert werden, Facts mit command werden durch Ausführung des Befehls und Prüfung auf Exit-Code 0 verifiziert.
Was macht facts check?
Es lintet Dateien, führt jeden angegebenen Befehl aus, gruppiert Ergebnisse nach Status (pass/fail/manual) und endet mit non-zero, wenn etwas fehlschlägt.
Wie werden Facts organisiert und verfolgt?
Facts leben in einer .facts-Datei im Markdown/YAML-kompatiblen Format, mit Überschriften zur Domänenorganisation und Tags (inkl. @draft, @spec, @implemented) zur Verfolgung des Lifecycle-Status.
Kann ich nur Teile meines Projekts prüfen?
Ja. facts check unterstützt Tag-Filterung via --tags mit booleschen Ausdrücken.
Alternativen
- Test-Suites (Unit/Integration-Tests): Traditionelle Tests verifizieren Verhalten, aber eine
.facts-Checklist betont lesbare atomare Claims und einen Lifecycle/Status-Pipeline, nicht nur automatisierte Pass/Fail. - Statische Dokumentation + Code-Review: Docs erfassen Anforderungen, sind aber meist nicht direkt ausführbar;
factsverknüpft Claims mit Verifikation viafacts check. - Spezifikationstools mit Requirements-Traceability: Tools, die Anforderungen mit Implementierung verknüpfen, bieten Traceability, aber
factsnutzt speziell ein zeilenweises Claim-Format mit optionaler Befehlsausführung und tagbasierten Lifecycle-Übergängen.
Alternativen
GitBoard
GitBoard ist eine native macOS-Menüleisten-App für GitHub Projects: Kanban-Board ansehen, nach Status filtern, Issues suchen sowie erstellen oder zuweisen.
Biji
Biji ist eine vielseitige Plattform, die entwickelt wurde, um die Produktivität durch innovative Werkzeuge und Funktionen zu steigern.
Codex Plugins
Mit Codex Plugins bündelst du Skills, App-Integrationen und MCP-Server zu wiederverwendbaren Workflows und erweiterst Codex für Tools wie Gmail, Google Drive und Slack.
Struere
Struere ist ein AI-natives Betriebssystem, das Spreadsheet-Workflows durch strukturierte Software ersetzt – mit Dashboards, Alerts und Automationen.
OpenFlags
OpenFlags ist ein Open-Source, self-hosted Feature-Flag-System für progressive Delivery: lokale Evaluation in App-SDKs und ein simples Control-Plane für gezielte Rollouts.
Planndu: Daily Task Planner
Planndu ist eine intuitive Produktivitätsanwendung, die entwickelt wurde, um Benutzern bei der Organisation von Aufgaben, der Verwaltung von Projekten, dem Aufbau von Routinen und der Verbesserung des Fokus mithilfe von Tools wie KI-Generierung und einem integrierten Pomodoro-Timer zu helfen.