Posteingang
Der Erfassungspuffer des Vaults ist der Posteingang des Aufgaben-Backends, kein Ordner – paths.md legt diese Regel fest und wofür Inbox/ auf der Festplatte ist. Eine Erfassung verlässt den Puffer in einen passenden PARA-Ordner, sobald klar ist, was sie ist, oder bleibt im Backend, wenn es sich nur um eine Aktion handelt.
Unter TASKS = files ist der Posteingang der Ordner Inbox/ (paths.md sagt, was das bedeutet, einschließlich „Strays“); die Schritte unten sind unverändert, abgesehen von der Behandlung der Strays.
Jeder Aufgabenaufruf ist eine Operation aus tasks.md, ausgeführt gemäß dem Adapter für TASKS. Wenn das Backend nicht verfügbar ist, gilt tasks.md „Backend fehlt“.
Basisschicht
Vor dem Handeln lesen, jeweils als ../../para/<datei>.md relativ zum Basisverzeichnis dieser Fähigkeit – diese enthalten die gemeinsamen Regeln, nicht aus dem Gedächtnis wiederholen:
../../para/paths.md– immer, einschließlich „Sprache“: die Zeichenfolgen unten stammen auslang/<SPRACHE>.md../../para/tasks.md– immer: die Operationen; fürprocessauch, was eine Aufgabe ist, Bereichsprojekte../../para/note-format.md– fürprocess../../para/confirm.md– fürprocess../../para/move.md– fürprocess, wenn es eine „Stray“-Datei ausInbox/weiterleitet
Unterbefehle
Das erste Wort von $ARGUMENTS wählt den Unterbefehl. Alles, was nicht list oder process ist, wird als Text eines add behandelt, also /inbox ein Gedanke über Schlaf erfasst diesen Gedanken – das Schlüsselwort add ist optional. Leeres $ARGUMENTS → die drei Unterbefehle anzeigen und fragen.
add <text> – erfassen
inbox.addmit einemtitleund optionalemdescription. Ein kurzer Text ist der Titel wie gegeben. Ein langer Text bekommt einen kurzen Titel inSPRACHE, der daraus abgeleitet wird (6 Wörter oder weniger) und den vollständigen Text wörtlich als Beschreibung.- Nichts anderes setzen – kein Datum, keine Priorität oder Labels, es sei denn, der Benutzer hat sie genannt. Dies ist ein Puffer, kein Ort, um den Gedanken des Benutzers in Form zu bringen.
- Berichten in einer Zeile, was erstellt wurde, damit der Benutzer es umbenennen kann, wenn er anderer Meinung ist.
Wenn die Erfassung offensichtlich irgendwohin gehört, dies im Bericht sagen und /inbox process anbieten – nicht ungefragt weiterleiten.
list – anzeigen, was unverarbeitet ist
Nur lesen.
inbox.list– jede offene Erfassung.- Eine nummerierte Liste ausgeben, älteste zuerst, mit der Kopfzeile
inbox.header({n}Erfassungen,{days}das Alter der ältesten). Nur Titel, keine Beschreibungen. - Strays. Nicht unter
TASKS = files(paths.md).*.mdinInbox/auflisten (nur Dateinamen, nicht öffnen). Wenn welche existieren, eine Zeile hinzufügen, die Zeichenfolgeinbox.strays({k}Dateien). - Ein leerer Posteingang ist eine gültige, gute Antwort: dies klar sagen.
process – die Erfassungen weiterleiten
Das Ventil des Puffers. Interaktiv, eine Erfassung nach der anderen – niemals den gesamten Posteingang mit vorgeschlagenen Zielen ausgeben und den Benutzer um Massenfreigabe bitten.
-
Den Posteingang auflisten wie oben – zuerst Backend-Erfassungen, älteste zuerst, dann Strays aus
Inbox/(unterTASKS = filesenthältinbox.listsie alle,paths.md). Sagen, wie viele es gibt, und mit der ersten beginnen. -
Für jede Erfassung: den Titel und den Inhalt anzeigen (die Beschreibung oder bei einem Stray den Dateiinhalt) – kurz, wenn er lang ist. Dann die eigene Einschätzung geben, was es ist, und die Routen anbieten. Die Routennamen sind die Zeichenfolgen
inbox.route.*vonlang/<SPRACHE>.md; die linke Spalte unten ist der Schlüssel:Route Was passiert inbox.route.actioneine Aufgabe außerhalb jedes Projekts → die Formulierung geprüft gemäß tasks.md„Was eine Aufgabe ist“ und eine Neuformulierung vorgeschlagen und zuerst vereinbart, danntask.movemit dembereich, den der Benutzer wählt (die Namen sind die, dietasks.mdfürbereichangibt) und dem vereinbartentitleinbox.route.project_taskein Schritt eines bestehenden Projekts → das Projekt gefunden gemäß find-target.md, die Formulierung vorgeschlagen gemäßtasks.md„Was eine Aufgabe ist“, danntask.movemit diesemproject_refund dem neuentitle; die Aufgabe bleibt offen, nichts wird erstellt oder geschlossen. UnterTASKS = filesist ein bereits vergebener Basisname eine Kollision:note-format.md„Namenskollisionen“inbox.route.projecteine Bemühung mit einem Endzustand → an /projects createübergebeninbox.route.areafortlaufende Verantwortung → /areas createoder an einen bestehenden Bereich anhängeninbox.route.resourcewissenswertes Wissen → /resources createinbox.route.keepnoch nicht reif – bleibt im Posteingang, keine Schande inbox.route.deleteMüll → schließen (siehe unten) Eine Route empfehlen, mit einem Grund in einem Satz. Der Benutzer entscheidet.
-
Die Route ausführen, den Text der Erfassung an die Fähigkeit übergeben, die das Ziel besitzt – diese erstellt die Notiz aus ihrer eigenen Vorlage. Niemals eine Notiz hier schreiben.
-
Die Erfassung schließen, sobald ihre Route ausgeführt ist:
- Backend-Erfassung – in den Vault weitergeleitet oder Müll →
inbox.close– reversibel (tasks.md), also Stufe 1 (confirm.md).inbox.route.actionundinbox.route.project_taskverschieben die Aufgabe selbst (task.move) und lassen sie offen;inbox.route.keeplässt sie, wo sie ist. - Stray-Datei in
Inbox/– nachdem/projects create,/areas createoder/resources createihren Inhalt übernommen hat, die Datei via/removeentfernen; fürinbox.route.deletedirekt an/removeübergeben.inbox.route.actionwandelt sie mittask.addundbereichin eine Aufgabe um, dann die Datei auf dieselbe Weise entfernen.
- Backend-Erfassung – in den Vault weitergeleitet oder Müll →
-
Dann zur nächsten Erfassung gehen. Das Schließen nicht ans Ende bündeln.
-
Anhalten, wenn der Benutzer „Stopp“ sagt, und berichten, wie viele verarbeitet wurden und wie viele übrig sind. Den gesamten Posteingang in einer Sitzung zu erledigen ist nicht das Ziel.
Hinweise
- Der Posteingang ist bewusst reibungsarm:
addstellt nie eine Frage, die es vermeiden kann.processist der Ort, an dem das Denken stattfindet. - Alles in
SPRACHE, Aufgaben eingeschlossen.