Skip to main content
Glama

🐮 Moo Tasks

CI License: MIT Node: >=18.0.0 MCP Ready

Agentische Task-Orchestrierungs- und Verwaltungs-Engine für KI-Codierungsagenten (Claude Code, Cursor, Windsurf, Antigravity, Copilot) und Pair-Programming mit menschlicher Beteiligung.

Quick Start • Agent-Setup • Agent-Protokoll • Architektur • MCP-Tools


🌟 Warum Moo Tasks?

Standard-KI-Codierungsagenten leiden oft unter:

  1. Scope-Drift: Abweichen von der ursprünglichen Benutzerabsicht hin zu endlosen, minderwertigen Refactorings.

  2. Überplanung: 40 oberflächliche Tasks erzeugen, ohne einen davon auszuführen.

  3. Schleifen / Thrashing: Wiederholt denselben fehlgeschlagenen Fix versuchen, ohne anzuhalten.

  4. Nicht verifizierbare Arbeit: Behaupten, Code sei fertig, ohne Tests auszuführen oder Nachweise zu erbringen.

  5. Erneutes Debattieren von Entscheidungen: Bereits geklärte Architekturentscheidungen bei jedem Kontext-Reset erneut diskutieren.

Moo Tasks löst dies durch eine lokale SQLite-Engine (WAL-Modus), eine umfangreiche Echtzeit-Web-UI und einen Model Context Protocol (MCP)-Server, der strenge Unternehmensinvarianten zur Laufzeit durchsetzt.


Related MCP server: pith

✨ Kernfunktionen & Feature-Matrix

🎯 1. Ziele & Scope-Kontrolle

  • Wörtliche menschliche Prompts: Liegt über den Tasks und bewahrt die exakte ursprüngliche Benutzeranfrage.

  • Zielabdeckung & lose Enden: Live-Kennzahlen zum Prozentsatz abgeschlossener Tasks und verbleibender offener Tasks.

  • Scope-Drift-Erkennung: Identifiziert und kennzeichnet automatisch verwaiste Tasks ohne verknüpftes Ziel.

  • Offene-Ziele-Obergrenze: Harte Obergrenze für maximal offene Tasks pro Ziel (Standard: 10), verhindert Überplanung durch Agenten.

  • Kaskadenoperationen: Atomares Löschen, Beenden oder Wiedereröffnen aller Tasks unter einem Ziel mit Pflichtbegründung.

📋 2. Task-Lebenszyklus & DAG-Abhängigkeiten

  • Subtask-Verschachtelungsbeschränkung: Genau 1 Ebene von Subtasks unter einem übergeordneten Task.

  • Endlicher Zustandsautomat: todo, doing, blocked-on-dependency, waiting-on-human, done, dropped.

  • DAG-Abhängigkeitsgraph: Automatische Zykluserkennung und automatisches Entsperren nachgelagerter Tasks.

  • Parent-Closure-Schutz: Verhindert das Schließen übergeordneter Tasks, solange Subtasks offen sind.

  • Status-Undo & Verlauf: Rückgängigmachen versehentlicher Zustandsübergänge mithilfe des vollständigen Übergangs-Auditverlaufs.

🛡️ 3. Abschluss, Verifizierung & Arbeitsnachweis

  • Abnahmekriterien: Pflichtkriterien, die vor Arbeitsbeginn in Markdown verfasst werden.

  • Nachweispflicht: Das Schließen eines Tasks erfordert verifizierbare Nachweise (ausgeführte Befehle, stdout-Ausgabe, Testnachweise).

  • Zweiphasen-Verifizierung: Unterscheidet agent_completed von menschlichem verified_done.

  • Ablehnung mit Begründung: Menschen oder Peer-Agenten können abgeschlossene Arbeit mit Feedback ablehnen; der Task kehrt zu todo zurück und der Wiedereröffnungszähler wird erhöht.

🙋 4. Menschliche Zusammenarbeit & Blockierung

  • Wartet-auf-Mensch-Warteschlange: Agenten pausieren Blocker mit angehängten Fragen (clarification, approval, credential, decision).

  • Reaktive Fortsetzung: Die Beantwortung einer Frage über Web-UI oder MCP überführt den Task automatisch zurück in die Bereit-Warteschlange, ohne dass Agenten neu gestartet werden müssen.

  • Dedizierter menschlicher Posteingang: Echtzeit-Warteschlange für alles, was menschliche Aufmerksamkeit erfordert.

🔍 5. Entdeckte Arbeit

  • Erfassung von Arbeit während Tasks: Neue Arbeit, die während der Ausführung entdeckt wird, erfassen, ohne den aktuellen Task-Anspruch aufzugeben.

  • Muss-behoben vs. aufgeschoben: Als must-fix-now (als Blocker eingefügt) oder deferred (Backlog-Stapel) markieren.

🤖 6. Eigentum, Nebenläufigkeit & Leases

  • Exklusive Task-Ansprüche: Leases mit automatischem Timeout (Standard: 5 Minuten), wenn Agenten verstummen.

  • Heartbeat-Mechanismus: Verlängert Leases während langlaufender Tasks.

  • Agenten-Nebenläufigkeitslimits: Obergrenze für gleichzeitig gehaltene Tasks pro Agent (Standard: 1).

  • Dateikonflikt-Warnungen: Deklarierte Dateien werden auf Überschneidungen mit anderen aktiven Ansprüchen geprüft.

🔄 7. Stillstands- & Thrash-Erkennung

  • Versuchszähler: Wird bei jedem Anspruch/Versuch erhöht.

  • Automatische Eskalation: Nach $N$ Versuchen (Standard: 3) wird der Task automatisch auf waiting-on-human pausiert, statt endlos zu schleifen.

  • Zeit-im-Zustand-Verfolgung: Prüft die Zeit im Zustand doing und erkennt wiederholte Wiedereröffnungen.

🏛️ 8. Festgelegte Architekturentscheidungen (ADR)

  • Projektebene-Aufzeichnung: Bewahrt Entscheidungen und Begründungen, die Tasks überdauern.

  • Konsultation vor der Planung: Agenten lesen festgelegte Entscheidungen, bevor sie planen.

  • Ersetzungsunterstützung: Sauberes Aktualisieren und Verknüpfen ersetzter Entscheidungen mit Pflichtbegründung.


🚀 Quick Start

1. Workspace & Agent-Protokolle initialisieren

Führen Sie in Ihrem Projektstammverzeichnis aus:

npx moo-tasks init

Dies:

  • Initialisiert die SQLite-Datenbank .moo/tasks.db im WAL-Modus.

  • Generiert AGENTS.md, CLAUDE.md, .cursorrules und .windsurfrules.

2. Lokale Web-UI starten

npx moo-tasks start

Öffnen Sie http://127.0.0.1:4242 in Ihrem Browser.

Für den Zugriff auf die Web-UI von einem anderen Gerät oder Tablet in Ihrem lokalen Netzwerk (LAN):

npx moo-tasks start --lan
# Automatically logs: http://192.168.x.x:4242/

🔌 Agent- & MCP-Setup

Multi-Agent-Installer mit einem Befehl

# Configure all detected agent IDEs at once:
npx moo-tasks install all

# Or configure specific clients:
npx moo-tasks install claude       # Updates ~/.claude.json
npx moo-tasks install cursor       # Generates .cursor/mcp.json
npx moo-tasks install windsurf     # Updates ~/.codeium/windsurf/mcp_config.json
npx moo-tasks install antigravity  # Generates .gemini/settings.json

Manuelle Konfiguration

{
  "mcpServers": {
    "moo-tasks": {
      "command": "npx",
      "args": ["moo-tasks", "mcp"]
    }
  }
}

🤖 Verbindliches Agent-Protokoll

Alle KI-Codierungsagenten werden angewiesen, diesen 6-Schritte-Lebenszyklus zu befolgen:

1. SESSION RESUME  → Call moo_session_resume() & moo_list_decisions()
2. ANCHOR GOAL     → Call moo_create_goal(title, verbatimPrompt)
3. PLAN & CRITERIA → Call moo_create_task() with markdown criteria BEFORE code
4. EXCLUSIVE CLAIM → Call moo_claim_task(taskId, agentId, sessionId)
5. IMPLEMENTATION  → If blocked, call moo_ask_human() or link blockers
6. VERIFIED PROOF  → Call moo_complete_task() with test proof & output snippet
7. ADR RECORD      → Call moo_record_decision() for architectural choices

🛠️ MCP-Tool-Referenz

Tool-Name

Zweck

moo_create_goal

Wörtlichen menschlichen Prompt aufzeichnen und Obergrenze für offene Tasks festlegen

moo_list_goals

Projektziele und Status auflisten

moo_get_goal_status

Zielabdeckung, offene vs. Obergrenze und lose Enden anzeigen

moo_kill_goal

Ziel verwerfen und alle untergeordneten Tasks mit Begründung kaskadenartig löschen

moo_reopen_goal

Ziel und seine Tasks wiedereröffnen

moo_create_task

Task unter Ziel mit Abnahmekriterien und deklarierten Dateien erstellen

moo_create_tasks_batch

Mehrere Tasks atomar in Stapeln erstellen

moo_quick_start

⚡ 1-Aufruf-Express-Vibe-Tool: Erstellt und beansprucht Task atomar mit Lease und deklarierten Dateien

moo_checkpoint

⚡ Schneller Fortschritts-Checkpoint: Hängt Versuchsnotiz an und verlängert Heartbeat

moo_get_compact_context

🧠 Ultra-dichter, tokenoptimierter Kontextblock (< 400 Tokens) für Prompt-Injection

moo_update_task

Titel, Kriterien, Priorität, deklarierte Dateien oder Ziel aktualisieren

moo_link_dependencies

Voraussetzungs-Blocker mit Zyklusvalidierung verknüpfen

moo_unlink_dependencies

Voraussetzungs-Blocker entkoppeln

moo_get_next_task

Nächsten entsperrten Task mit höchster Priorität automatisch anzeigen

moo_get_task

Vollständige Task-Details, Subtasks, Notizen und Abhängigkeiten abrufen

moo_list_tasks

Tasks nach Ziel, Status, Priorität, Agent, aufgeschoben filtern

moo_claim_task

Task exklusiv beanspruchen (erzwingt Lease- & Konfliktprüfungen)

moo_heartbeat_task

Aktive Lease während langlaufender Tasks verlängern

moo_release_task

Anspruch freiwillig zurück zu todo freigeben

moo_handoff_task

Laufenden Task mit Notizen an anderen Agenten übergeben

moo_complete_task

Task mit Pflichtbefehlen/Nachweisen als erledigt markieren

moo_verify_task

Task als erledigt verifizieren (Mensch oder Verifizierungsagent)

moo_reject_task

Abgeschlossenen Task mit Pflichtbegründung ablehnen

moo_ask_human

Frage an Menschen eskalieren und Task pausieren

moo_get_human_inbox

Alle Tasks auflisten, die auf menschliche Anleitung warten

moo_answer_human

Frage beantworten und Task automatisch fortsetzen

moo_capture_discovered_work

Entdeckte Arbeit hinzufügen (muss-behoben oder aufgeschoben)

moo_add_task_note

Zeitgestempelte, zugeordnete Kontext-/Versuchsnotiz anhängen

moo_list_task_notes

Kontextverlauf und Versuchsprotokolle auflisten

moo_drop_task

Task mit Pflichtbegründung verwerfen

moo_reopen_task

Task ohne Verlust des Auditverlaufs wiedereröffnen

moo_undo_status_change

Letzten Statusübergang rückgängig machen

moo_bulk_drop_tasks

Mehrere Tasks in einem einzigen Vorgang verwerfen

moo_bulk_reopen_tasks

Mehrere Tasks in einem einzigen Vorgang wiedereröffnen

moo_record_decision

Architekturentscheidung auf Projektebene aufzeichnen

moo_list_decisions

Festgelegte Entscheidungen vor der Planung auflisten

moo_supersede_decision

Entscheidung mit neuer Begründung ersetzen

moo_merge_tasks

Doppelte Tasks zusammenführen

moo_session_resume

„Wo bin ich stehen geblieben?" – Sitzungszusammenfassung

moo_export_project

Projekt nach Markdown, JSON oder Plain Text exportieren

moo_archive_completed

Erledigte/verworfene Tasks aus der aktiven Liste archivieren


🏛️ Architektur & Sauberer Code

src/
├── domain/                    # Pure Enterprise Domain Rules & Invariants
│   ├── types.ts              # Domain interfaces & value types
│   ├── errors.ts             # Domain-specific typed error classes
│   ├── dependency.ts         # DAG cycle detector & unblocked evaluator
│   ├── conflict.ts           # File touch overlap conflict detector
│   └── similarity.ts         # Duplicate task similarity detector
│
├── infrastructure/            # Persistence & External Integrations
│   ├── db/database.ts        # SQLite manager (WAL mode, busy timeout)
│   ├── db/migrations.ts      # Schema DDL and versioning
│   ├── git/git-context.ts    # Git branch, commit, dirty status extractor
│   └── repositories/         # SQLite Repository Implementations
│
├── services/                  # Application Services (Use Cases)
│   ├── goal-service.ts        # Goal lifecycle & cap enforcement
│   ├── task-lifecycle-service.ts # State machine, ready queue, undo
│   ├── claim-service.ts       # Exclusive claims, leases, dead-agent timeout
│   ├── verification-service.ts# Proof of work & two-phase verification
│   ├── human-collab-service.ts# Human Q&A queue & reactive resume
│   ├── discovered-work-service.ts # Mid-flight discovered work
│   ├── decision-service.ts    # ADR logs & supersede linking
│   ├── duplicate-merge-service.ts # Idempotency & task merging
│   ├── session-service.ts     # Where-did-I-leave-off session resume
│   ├── housekeeping-service.ts# Archiving & multi-format export
│   └── index.ts               # Dependency Injection Container
│
├── mcp/                       # Model Context Protocol Stdio Server
├── server/                    # Fastify HTTP + Server-Sent Events (SSE) Engine
├── cli/                       # CLI Commands (start, init, install, mcp)
└── ui/                        # Vanilla JS + Tailwind + Lucide Icons Web UI

🤝 Mitwirken

Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md für Entwicklungseinrichtung, Tests und PR-Richtlinien.


📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Server-enforced workflow discipline for AI agents. An MCP server providing persistent work items, dependency graphs, quality gates, and actor attribution. Schemas define what agents must produce — the server blocks the call if they don't. Works with any MCP-compatible client.
    207
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for task management that enables AI agents to read, create, update tasks, and track work sessions, allowing agents and humans to collaborate on the same task board.
    4 npm
    9
    MIT