skrueckenandCursor 98d2253f44
CI / test-and-build (push) Failing after 1m19s
CI / demo (push) Skipped
Add YouTrack pull/push sync with project settings and time tracking.
Wire manual Y menu and CLI sync for issues and work items, persist
per-project credentials, and keep local edits until an explicit push.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-24 00:17:51 +02:00

task-master

Offline-first Terminal-Taskmanager (tm) — Kanban-Board, Markdown-Tickets, Checklisten, Zeiterfassung und Reports. Gebaut mit Bubble Tea.

Demo

Demo wird aus demo.tape erzeugt (make demo). Ohne GIF lokal: siehe Demo aufnehmen.

Features

  • Projekte & Tickets lokal als JSON (kein Server)
  • Board-Filter: All / Backlog / In Progress / Done
  • Tickets in $EDITOR bearbeiten (Markdown + Checklisten)
  • Timer, manuelle Zeitbuchungen, Zeiteinträge verwalten
  • Report mit Group-by (Ticket / Tag)
  • Undo / Redo über eine Command-History
  • Vim-Style Keybindings
  • YouTrack Pull/Push (manuell; Remote-URL, Token, Project-Key pro Projekt)

Install

Voraussetzung: Go (siehe go.mod).

git clone git@git.aloxdrim.de:skruecken/task-master.git
cd task-master
make install          # → $(go env GOPATH)/bin/tm
# oder nur bauen:
make build            # → ./bin/tm

Nutzung

tm                    # TUI starten
tm sync pull          # Issues von YouTrack holen
tm sync push          # lokale Änderungen nach YouTrack
tm sync pull -p inbox # anderes Projekt
tm version            # Build-Version (Git-Hash)
tm help

Sandbox ohne echte Config/Daten:

make run-dev          # nutzt ./.dev-home
# oder:
TASK_MASTER_HOME=/tmp/tm-sandbox tm

Daten landen standardmäßig unter ~/.local/share/task-master, Config unter ~/.config/task-master.

Variable Wirkung
TASK_MASTER_HOME Basis für Config + Daten (Dev/Demo)
TASK_MASTER_DATA_DIR Nur Datenverzeichnis überschreiben

Keybindings (Auszug)

Taste Aktion
j/k Navigieren
n Neues Ticket/Projekt
e Ticket im Editor
s Status ändern
l Board-Filter
/ Suche
p/P Projekt / Ticket verschieben
e Ticket bzw. Projekt editieren (in Projektliste: YouTrack)
Y YouTrack-Menü: Pull / Push
t/T Timer / Zeit buchen
m Zeiteinträge
r Report
x/X Löschen / Force-Delete
u/U Undo / Redo
q Beenden

Checklisten im Preview: J/K + Space.

YouTrack

  1. p → Projekt wählen → e
  2. Remote-URL, Permanent Token und Project-Key setzen (gespeichert in projects/<id>/meta.json, Mode 0600)
  3. Lokal arbeiten (Anlegen/Edit/Status bleiben lokal)
  4. Y → Pull (Issues + Work Items) oder Push (Tickets + Zeiteinträge)
    CLI: tm sync pull / tm sync push

Zeit: lokale Einträge ohne externalId werden als YouTrack-Work-Items gepusht; remote Work Items landen lokal beim Pull.

Status-Mapping Richtung YouTrack: OPEN→Open, WIP→In Progress, DONE→Fixed (Workflow-Namen können projektspezifisch abweichen).

Entwicklung

make test
make build
make version

Demo aufnehmen

Die Walkthrough-Aufnahme steckt in demo.tape (VHS):

# einmalig: vhs + ttyd/ffmpeg (siehe VHS-Docs)
make demo             # schreibt demo.gif (+ demo.mp4)

Die Pipeline erzeugt das GIF ebenfalls und lädt es als Artifact hoch.

Lizenz

Privat / eigener Use — siehe Repository-Einstellungen auf Gitea.

S
Description
No description provided
Readme
525 KiB
Languages
Go 85.7%
Svelte 9.1%
CSS 2.7%
JavaScript 1.9%
Makefile 0.5%