Was macht Tick Multi-Agent-Koordination?
Koordiniere Arbeit zwischen menschlichen und KI-Agenten mit strukturierten Markdown-Dateien. Benutzer interagieren natürlich mit dir, und du verwaltest Aufgaben transparent in der TICK.md.
Installation
Voraussetzungen: Die Tick-CLI und der MCP-Server sollten von deiner Umgebung bereits installiert und konfiguriert sein.
Erstmalige Einrichtung? Siehe INSTALL.md für editorspezifische Installationsanleitungen.
Sicherheitsgrenzen
- Frage um explizite Benutzerzustimmung, bevor du Editor-MCP-Konfigurationsdateien bearbeitest.
- Frage um explizite Benutzerzustimmung, bevor du einen Befehl ausführst, der per Git auf ein entferntes Repository pusht (
tick sync --pushodergit push). - Wenn die Benutzerzustimmung nicht explizit ist, verwende schreibgeschützte/Status-Befehle und erkläre, welche Schreibaktion aussteht.
Schnellprüfung:
# Prüfe, ob die CLI verfügbar ist
tick --version
# Prüfe, ob TICK.md im Projekt existiert
ls TICK.md
# Wenn nicht, initialisieren
tick init
Kernkonzept
Tick-Protokoll = Git-basierte Aufgabenkoordination über TICK.md-Dateien
- Menschenlesbar: Standard-Markdown mit YAML
- Maschinenparsbar: Strukturiert für Werkzeuge
- Git-gestützt: Vollständige Versionskontrolle und Überprüfungsprotokoll
- Lokal zuerst: Keine Cloud erforderlich
Schnellstart
Prüfe, ob Tick initialisiert ist
ls TICK.md
Wenn nicht initialisiert
tick init
Aktuellen Status abrufen
tick status
Häufige Arbeitsabläufe
1. Benutzer bittet dich, etwas zu tun
Benutzer: "Kannst du das Authentifizierungssystem umgestalten?"
Deine Aktionen:
# 1. Aufgabe erstellen
tick add "Authentifizierungssystem umgestalten" --priority high --tags backend,sicherheit
# 2. Dich selbst registrieren (nur beim ersten Mal)
tick agent register @your-name --type bot --roles "ingenieur,umstrukturierung"
# 3. Die Aufgabe übernehmen
tick claim TASK-XXX @your-name
# 4. Daran arbeiten (die eigentliche Arbeit erledigen)
# 5. Fortschrittskommentare hinzufügen
tick comment TASK-XXX @your-name --note "Analysiere aktuellen Auth-Fluss"
tick comment TASK-XXX @your-name --note "Auf JWT-Tokens umgestellt"
# 6. Als erledigt markieren
tick done TASK-XXX @your-name
2. Benutzer fragt nach dem Projektstatus
Benutzer: "An welchen Aufgaben arbeiten wir gerade?"
# Umfassenden Status abrufen
tick status
# Oder filtern und Aufgaben auflisten
tick list --status in_progress
tick list --claimed-by @bot-name
Fasse die Ausgabe natürlich für den Benutzer zusammen.
3. Koordination mit anderen Agenten
Benutzer: "Haben die anderen Agenten ihre Aufgaben erledigt?"
# Gesamtstatus prüfen
tick status
# Agenten und ihre Arbeit auflisten
tick agent list --verbose
# Das Projekt validieren
tick validate
4. Komplexe Arbeit aufteilen
Benutzer: "Erstelle ein Benutzer-Dashboard mit Diagrammen und Datenexport"
Deine Aktionen:
# Übergeordnete Aufgabe erstellen
tick add "Benutzer-Dashboard erstellen" --priority high --tags frontend
# Teilaufgaben mit Abhängigkeiten erstellen
tick add "Dashboard-Layout entwerfen" --priority high --tags frontend,design
tick add "Daten-Diagramme implementieren" --priority medium --tags frontend,diagramme --depends-on TASK-XXX
tick add "CSV-Export hinzufügen" --priority low --tags frontend,export --depends-on TASK-XXX
# Abhängigkeiten visualisieren
tick graph
Befehlsreferenz
Projektverwaltung
tick init # Neues Projekt initialisieren
tick status # Projektübersicht anzeigen
tick list # Aufgaben mit Filtern auflisten
tick graph # Abhängigkeiten visualisieren
tick watch # Änderungen in Echtzeit überwachen
tick validate # Auf Fehler prüfen
tick sync --pull # Neueste Änderungen abrufen
# tick sync --push # Nur mit expliziter Benutzerzustimmung
Aufgabenoperationen
tick add "Aufgabentitel" \
--priority high \ # dringend|hoch|mittel|niedrig
--tags backend,api \ # Kommagetrennte Tags
--assigned-to @agent \ # Agent zuweisen
--depends-on TASK-001 \ # Abhängigkeiten
--estimated-hours 4 # Zeitschätzung
tick claim TASK-001 @agent # Aufgabe übernehmen (setzt in_progress)
tick release TASK-001 @agent # Aufgabe freigeben (zurück zu todo)
tick done TASK-001 @agent # Aufgabe abschließen
tick reopen TASK-001 @agent # Abgeschlossene Aufgabe wieder öffnen
tick delete TASK-001 # Aufgabe löschen
tick comment TASK-001 @agent \ # Notiz hinzufügen
--note "Fortschrittsaktualisierung"
tick edit TASK-001 \ # Direkte Feldeditierung
--title "Neuer Titel" \
--priority high \
--status in_progress
Korrekturen & Wiederherstellung
tick reopen TASK-001 @agent # Abgeschlossene Aufgabe wieder öffnen
tick reopen TASK-001 @agent \ # Wieder öffnen und Abhängige wieder blockieren
--re-block
tick delete TASK-001 # Aufgabe löschen, bereinigt Abhängigkeiten
tick delete TASK-001 --force # Löschen, auch wenn es Abhängige hat
tick edit TASK-001 --title "X" # Titel ändern
tick edit TASK-001 --priority high # Priorität ändern
tick edit TASK-001 --status todo # Status direkt ändern
tick edit TASK-001 --tags a,b,c # Tags ersetzen
tick edit TASK-001 --add-tag new # Tag hinzufügen
tick edit TASK-001 --remove-tag old # Tag entfernen
tick edit TASK-001 \ # Abhängigkeiten bearbeiten
--depends-on TASK-002,TASK-003
tick undo # Letzten Tick-Vorgang rückgängig machen
tick undo --dry-run # Vorschau, was rückgängig gemacht würde
Massenoperationen
tick import tasks.yaml # Aufgaben aus YAML-Datei importieren
tick import - < tasks.yaml # Von stdin importieren
tick import tasks.yaml --dry-run # Importvorschau
tick batch start # Batch-Modus starten (kein automatischer Commit)
tick batch status # Batch-Status prüfen
tick batch commit # Alle gepackten Änderungen committen
tick batch abort # Gepackte Änderungen verwerfen
Erweiterte Aufgabenauflistung
tick list # Alle Aufgaben, gruppiert nach Status
tick list --status blocked # Nur blockierte Aufgaben
tick list --priority urgent # Hochprioritäre Aufgaben
tick list --assigned-to @alice # Aufgaben für bestimmten Agenten
tick list --tag backend # Aufgaben mit Tag
tick list --json # JSON-Ausgabe für Skripte
Abhängigkeitsvisualisierung
tick graph # ASCII-Abhängigkeitsbaum
tick graph --format mermaid # Mermaid-Flussdiagramm
tick graph --show-done # Abgeschlossene Aufgaben einschließen
Echtzeit-Überwachung
tick watch # Auf Änderungen achten
tick watch --interval 10 # Benutzerdefiniertes Abfrageintervall
tick watch --filter in_progress # Nur bestimmten Status anzeigen
Agentenverwaltung
tick agent register @name \ # Neuen Agenten registrieren
--type bot \ # mensch|bot
--roles "entwicklung,qa" \ # Kommagetrennte Rollen
--status idle # arbeitet|inaktiv|offline
tick agent list # Alle Agenten auflisten
tick agent list --verbose # Detailinformationen
tick agent list --type bot # Nach Typ filtern
tick agent list --status working # Nach Status filtern
MCP-Tools (Alternative zur CLI)
Wenn du das Model Context Protocol verwendest, nutze diese Tools anstelle von CLI-Befehlen:
Status und Überprüfung
tick_status– Projektstatus abrufen (Agenten, Aufgaben, Fortschritt)tick_validate– TICK.md-Struktur validierentick_agent_list– Agenten mit optionalen Filtern auflisten
Aufgabenverwaltung
tick_add– Neue Aufgabe erstellentick_claim– Aufgabe für Agenten übernehmentick_release– Übernommene Aufgabe freigebentick_done– Aufgabe abschließen (entsperrt automatisch Abhängige)tick_comment– Notiz zu Aufgabe hinzufügen
Korrekturen & Wiederherstellung
tick_reopen– Abgeschlossene Aufgabe wieder öffnentick_delete– Aufgabe löschentick_edit– Direkte Feldeditierung (umgeht Zustandsmaschine)tick_undo– Letzten Tick-Vorgang rückgängig machen
Agentenoperationen
tick_agent_register– Neuen Agenten registrieren
MCP-Beispiel:
// Aufgabe über MCP erstellen
await tick_add({
title: "Authentifizierung umgestalten",
priority: "high",
tags: ["backend", "sicherheit"],
assignedTo: "@bot-name"
})
// Übernehmen
await tick_claim({
taskId: "TASK-023",
agent: "@bot-name"
})
Best Practices
1. Natürliches Gespräch zuerst
✅ Gut: Benutzer sagt "Auth umgestalten", du erstellst automatisch Aufgabe ❌ Schlecht: Benutzer muss explizit Aufgaben erstellen
2. Immer deinen Agentennamen verwenden
Einmal registrieren:
tick agent register @your-bot-name --type bot --roles "ingenieur"
Dann konsistent verwenden:
tick claim TASK-001 @your-bot-name
tick done TASK-001 @your-bot-name
3. Kontext in Kommentaren bereitstellen
# ✅ Gut – erklärt was und warum
tick comment TASK-005 @bot --note "Wechsel von REST zu GraphQL für bessere Typsicherheit und reduziertes Over-Fetching"
# ❌ Schlecht – zu vage
tick comment TASK-005 @bot --note "API aktualisiert"
4. Große Aufgaben aufteilen
Teilaufgaben mit Abhängigkeiten erstellen:
tick add "CI/CD-Pipeline einrichten" --priority high
tick add "GitHub Actions konfigurieren" --depends-on TASK-010
tick add "Bereitstellungsskripte hinzufügen" --depends-on TASK-011
tick add "Staging-Umgebung einrichten" --depends-on TASK-011
5. Status vor dem Übernehmen prüfen
# Sicherstellen, dass Aufgabe existiert und nicht übernommen ist
tick status
# Dann übernehmen
tick claim TASK-XXX @your-name
TICK.md-Struktur verstehen
Die Datei hat drei Abschnitte:
- Frontmatter (YAML): Projektmetadaten
- Agententabelle (Markdown): Wer woran arbeitet
- Aufgabenblöcke (YAML + Markdown): Einzelne Aufgaben mit Verlauf
Beispiel:
---
project: my-app
schema_version: "1.0"
next_id: 5
---
# Agenten
| Name | Typ | Rollen | Status | Arbeitet an |
|------|-----|--------|--------|-------------|
| @alice | mensch | besitzer | arbeitet | TASK-003 |
| @bot | bot | ingenieur | inaktiv | - |
# Aufgaben
tick id: TASK-001
tick title: Authentifizierung bauen
tick status: done
tick priority: high
tick claimed_by: null
tick # ... weitere Felder
tick history:
tick - ts: 2026-02-07T10:00:00Z
tick who: @bot
tick action: erstellt
tick - ts: 2026-02-07T14:00:00Z
tick who: @bot
tick action: erledigt
tick ```
JWT-basierte Authentifizierung mit Tokenaktualisierung implementiert...
Erweiterte Funktionen
Automatisches Entsperren von Abhängigkeiten
Wenn du eine Aufgabe abschließt, werden abhängige Aufgaben automatisch entsperrt:
# TASK-002 hängt von TASK-001 ab
# TASK-002 status: blockiert
tick done TASK-001 @bot
# TASK-002 ändert sich automatisch zu: todo
Erkennung zirkulärer Abhängigkeiten
Die Validierung erkennt zirkuläre Abhängigkeiten:
tick validate
# Fehler: Zirkuläre Abhängigkeit erkannt: TASK-001 → TASK-002 → TASK-003 → TASK-001
Intelligente Commit-Nachrichten
# Nur mit expliziter Benutzerzustimmung ausführen
tick sync --push
# Generiert automatisch: "feat: TASK-001, TASK-002 abgeschlossen; TASK-003 aktualisiert"
Abgeschlossene Aufgaben wieder öffnen
Falls eine Aufgabe vorzeitig als erledigt markiert wurde:
tick reopen TASK-001 @bot
# Setzt Status zurück auf in_progress, zeichnet im Verlauf auf
tick reopen TASK-001 @bot --re-block
# Blockiert auch alle Aufgaben, die von dieser abhängen, wieder
Fehler beheben
# Letzten Tick-Vorgang rückgängig machen
tick undo
# Vorschau, was rückgängig gemacht würde
tick undo --dry-run
# Direkte Feldeditierung (umgeht Zustandsmaschine)
tick edit TASK-001 --status todo --priority urgent
Batch-Operationen
Für mehrere Änderungen ohne einzelne Commits:
tick batch start
# Jetzt mehrere Änderungen vornehmen...
tick add "Aufgabe 1" --priority high
tick add "Aufgabe 2" --priority medium
tick claim TASK-001 @bot
# ...
tick batch commit # Ein einziger Commit für alle Änderungen
# Oder: tick batch abort # Alle Änderungen verwerfen
Echtzeit-Überwachung
tick watch
# [10:23:45] ✓ Hinzugefügt: TASK-015 - Benutzersuche implementieren
# [10:24:12] 🔒 TASK-015 übernommen von @bot
# [10:26:33] ⟳ TASK-015: in_progress → done
Kurzreferenzkarte
Arbeitsablauf: init → add → claim → work → comment → done → sync
Wesentlich: status | add | claim | done | list | graph
Korrekturen: reopen | delete | edit | undo
Massen: import | batch start/commit/abort
Koordination: agent register | agent list | validate | watch
Git: sync --pull | sync --push (explizite Benutzerzustimmung erforderlich)
Wichtige Erinnerungen
- Benutzer interagieren mit DIR, nicht direkt mit Tick
- DU pflegst die TICK.md transparent
- Dashboard dient der Überprüfung, nicht der primären Interaktion
- Verwende deinen Agentennamen immer konsistent
- Kommentiere häufig, um Fortschritt zu zeigen
- Validiere vor dem Synchronisieren
- Prüfe den Status vor dem Übernehmen
- Teile komplexe Arbeit in Teilaufgaben auf
Ressourcen
- GitHub: https://github.com/your-org/tick-md
- Dokumentation: https://tick-md.dev/docs
- CLI npm: https://npmjs.com/package/tick-md
- MCP Server npm: https://npmjs.com/package/tick-mcp-server
Lizenz
MIT