CLI-Tool
callumalpass/tasknotes avatar
callumalpass/tasknotes

TaskNotes: Aufgaben als Markdown-Notizen, Ansichten als Bases-Abfragen

callumalpass/tasknotes bietet eine praxistaugliche Open-Source-Implementierung mit stabiler Einsatzbarkeit für reale Anwendungsfälle.

2.125 Sterne222 ForksTypeScriptMIT

Auf einen Blick

Was ist das?
Wie das Obsidian-Plugin Aufgaben in YAML-Frontmatter speichert, Ansichten über .base-Dateien rendert und Wiederholungen per RRULE verwaltet, mit Zeitnachweis und Grenzen.
Für wen ist es gedacht?
TaskNotes passt für Obsidian-Nutzer, die ihre Aufgaben im Tresor behalten und als portables Markdown mit YAML führen wollen, auch wenn deutsche Sprachbefehle und Kalendersync dazugehören. Wer ein Team-Tool mit Zuweisungen, Synchronisation über Geräte hinweg und mobiler App sucht, ist bei dedizierten Aufgaben-Apps besser aufgehoben, ein solcher Austausch mit Außenstehenden fehlt hier.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

TaskNotes im Obsidian-Tresor: Jede Aufgabe eine Notiz, jede Ansicht eine .base-Datei

Die tragende Designentscheidung von TaskNotes: Jede Aufgabe ist eine eigene Markdown-Notiz mit YAML-Frontmatter, kein Datensatz in einer plugin-eigenen Datenbank. Ansichten entstehen nicht durch eingebauten Code, sondern sind Obsidian-Bases-Abfragen, Bases ist das Kernplugin von Obsidian, das Notizen in Datenbanken verwandelt, Eigenschaften ausliest und ohne Programmieren filtert, sortiert und gruppiert. Die Aufgabenliste, das Kanban-Board, der Kalender und die Agenda sind laut README allesamt .base-Dateien.

Das zahlt auf Portabilität ein. Aufgaben bleiben Markdown-Dateien, die jedes Werkzeug lesen, Skripte transformieren und Migrationen wegtragen können. Das Frontmatter ist erweiterbar, Felder wie energy-level oder client stehen sofort in Bases für Filter und Gruppierung bereit, und auch die .base-Dateien sind reiner Text, lassen sich also direkt editieren oder duplizieren, um eigene Ansichten zu bauen. Die Kehrseite: TaskNotes hängt an Obsidian und dessen Bases-Plugin, außerhalb des Tresors existiert die Verwaltung nicht, und die 452 offenen Issues im Repository zeigen ein aktiv bewegtes Projekt mit entsprechendem Restauflauf.

urgencyScore und isOverdue: Formel-Eigenschaften der TaskNotes-Standardansichten

Die mitgelieferten .base-Dateien definieren Formel-Eigenschaften für berechnete Werte. Das README zeigt vier: daysUntilDue berechnet die Differenz zwischen Fälligkeit und heute in Tagen, isOverdue markiert Aufgaben, deren due vor today() liegt und deren status nicht done ist, urgencyScore addiert zur Prioritätsgewichtung die verbleibenden Tage bis zur Fälligkeit, und efficiencyRatio setzt timeTracked ins Verhältnis zu timeEstimate in Prozent.

Diese Formeln sind keine fixen Spalten, sondern Text: Nach urgencyScore sortieren, auf isOverdue filtern oder die Werte als Spalten einblenden geht über die Bases-UI oder direkt in der .base-Datei. Die vollständige Liste der Formeln steht in docs/views/default-base-templates.md. Das ist die konkrete Differenz zu einem geschlossenen Aufgaben-Tool: Dort ist die Dringlichkeitsrechnung eingebaut und unveränderlich, hier ist sie eine editierbare Formel im eigenen Tresor, mit allen Freiheiten und der Verantwortung, sie selbst zu warten.

recurrence_parent und complete_instances: RRULE-Wiederholungen in TaskNotes

Wiederkehrende Aufgaben verwenden das RRULE-Format, etwa recurrence: FREQ=WEEKLY;BYDAY=MO für eine wöchentliche Montagsbesprechung, und verfolgen Abschlüsse pro Instanz im Feld complete_instances als Array von Datumswerten. Das virtuelle Vorkommen bleibt zunächst nur berechnet, nicht als Datei vorhanden.

Braucht ein einzelnes Vorkommen eine eigene Notiz, materialisiert TaskNotes es als normale Aufgabe mit recurrence_parent und occurrence_date. Laut README erbt die Vorkommnis-Notiz Planungsmetadaten vom Elternteil, also geplante Zeit, Fälligkeitsversatz, Tags, Kontexte, Projekte, Erinnerungen, Details und Zeitschätzung, aber nicht die Wiederholungsregel, den Abschlussverlauf oder die Zeiteinträge. Kalenderansichten zeigen die notizgestützte Instanz anstelle des passenden virtuellen Vorkommens. Alle Property-Namen sind konfigurierbar: Wer deadline statt due nutzt, remappt das in den Einstellungen, statt die eigene Konvention aufzugeben.

TaskNotes: Create new task und die deutsche Spracherkennung

Aufgaben entstehen über den Befehl TaskNotes: Create new task. Der Parser versteht natürliche Sprache, die README demonstriert es mit Buy groceries tomorrow #errands, wobei Fälligkeitsdatum und Kontext automatisch extrahiert werden. Für Deutschsprachige relevant: Die Verarbeitung natürlicher Sprache deckt neben Englisch auch Deutsch, Spanisch, Französisch, Italienisch, Japanisch, Niederländisch, Portugiesisch, Russisch, Schwedisch, Ukrainisch und Chinesisch ab, die Oberfläche selbst gibt es auf Deutsch und acht weiteren Sprachen.

Die Grenze dieser Erkennung liegt in der Formulierungsgenauigkeit: Was der Parser nicht als Datum, Tag oder Kontext erkennt, landet im Titel, und falsch erkannte Daten müssen im Frontmatter korrigiert werden. Ansichten öffnen sich über Befehle wie TaskNotes: Open tasks view oder TaskNotes: Open kanban board, die die .base-Dateien aus TaskNotes/Views/ laden. Ein Praktikabilitätshinweis aus der README: Die Screenshots der Dokumentation werden über die Playwright-Suite mit npm run e2e:docs erzeugt, die Ansichten lassen sich also auch automatisiert gegen Tests prüfen.

timeEntries und Pomodoro: Zeiterfassung und Kalender-Sync in TaskNotes

Die Aufgabenstruktur trägt eine Zeitschätzung als timeEstimate und eine Liste von timeEntries mit Start- und Endzeitstempeln. Die Erfassung läuft per Start und Stopp pro Aufgabe, ein Pomodoro-Timer und eine Sitzungshistorie gehören dazu. Aus timeEntries und timeEstimate speist sich die erwähnte efficiencyRatio-Formel, die Aufwand gegen Schätzung stellt und so Schätzqualität über Zeit sichtbar macht.

Kalenderseitig synchronisiert TaskNotes mit Google- und Microsoft-Konten über OAuth sowie mit beliebigen ICS-Feeds. Die Kalenderkomponenten stammen von FullCalendar.io, wie die Credits im README vermerken. Wiederkehrende Aufgaben unterstützen feste oder flexible Zeitpläne, dazu kommen Abhängigkeiten zwischen Aufgaben, benutzerdefinierte Status und Prioritäten sowie frei definierte Felder. Wie genau Abhängigkeiten im Frontmatter aussehen, dokumentiert das README nicht, dieses Detail muss über die Dokumentation auf tasknotes.dev geklärt werden.

HTTP-API, Webhooks und tasknotes-cli: TaskNotes außerhalb des Tresors

Für den Weg nach draußen bietet TaskNotes eine optionale HTTP-API, dokumentiert in docs/HTTP_API.md. Webhooks benachrichtigen externe Dienste bei Aufgabenänderungen, beschrieben in docs/webhooks.md. Separat gepflegte Projekte erweitern die Reichweite: eine Browsererweiterung im Repository tasknotes-browser-extension und ein Kommandozeilen-Werkzeug als tasknotes-cli, beide verlinkt im README.

Genau hier liegt die Antwort auf den üblichen Einwand gegen Obsidian-basierte Task-Verwaltung, der Umbau von Daten sei ein Einbahnweg. Über HTTP-API und Webhooks kann eine externe Automation auf dieselben Notizen-Felder reagieren, die in Bases die Spalten liefern. Die Differenz zu Cloud-Task-Tools bleibt trotzdem real: Es gibt kein zentrales Team-Angebot, keine Server-Synchronisation mit Fremden, und alles läuft über den lokalen Tresor. Die Versionierung bewegt sich schnell, im August 2026 erschienen 4.12.5 und parallel die Betas 5.0.0-beta.1 und 5.0.0-beta.2, wer produktiv nutzt, sollte Beta-Zweige im Tresor meiden und auf stabile Releases setzen.

Redaktionelles Fazit

TaskNotes passt für Obsidian-Nutzer, die ihre Aufgaben im Tresor behalten und als portables Markdown mit YAML führen wollen, auch wenn deutsche Sprachbefehle und Kalendersync dazugehören. Wer ein Team-Tool mit Zuweisungen, Synchronisation über Geräte hinweg und mobiler App sucht, ist bei dedizierten Aufgaben-Apps besser aufgehoben, ein solcher Austausch mit Außenstehenden fehlt hier. Vor dem Umstieg am besten einen Tresor-Klon mit TaskNotes: Create new task testen, die generierten Frontmatter-Felder gegen die eigene bestehende Notizkonvention prüfen und über die Einstellungen die Property-Namen auf die eigenen Gewohnheiten ummappen.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen