Add README and Gitea CI with demo artifact upload.
CI / test-and-build (push) Failing after 54s
CI / demo (push) Skipped

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-19 19:08:32 +02:00
co-authored by Cursor
parent 81f2902ff1
commit 214ae1e0cf
4 changed files with 167 additions and 2 deletions
+70
View File
@@ -0,0 +1,70 @@
name: CI
on: [push, pull_request]
jobs:
test-and-build:
runs-on: ubuntu-latest
container:
image: golang:latest
options: --network host
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: List files in the repository
run: ls ${{ gitea.workspace }}
- name: Download modules
run: go mod download
- name: Test
run: make test
- name: Build
run: make build
- name: Version
run: make version
- name: Upload binary
uses: actions/upload-artifact@v3
with:
name: tm
path: ./bin/tm
- run: echo "This job's status is ${{ job.status }}."
demo:
runs-on: ubuntu-latest
needs: test-and-build
container:
image: ghcr.io/charmbracelet/vhs:latest
options: --network host
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Download binary
uses: actions/download-artifact@v3
with:
name: tm
path: ./bin
- name: Make binary executable
run: chmod +x ./bin/tm
- name: Install vim (used as EDITOR in the tape)
run: |
apt-get update
apt-get install -y --no-install-recommends vim
- name: Record demo
run: vhs demo.tape
- name: Upload demo
uses: actions/upload-artifact@v3
with:
name: demo
path: |
demo.gif
demo.mp4
+1 -1
View File
@@ -3,6 +3,6 @@
*.exe
*.test
*.out
demo.gif
# Generated by `make demo` / CI — commit demo.gif so the README preview works on Gitea
demo.mp4
demo.webm
+95
View File
@@ -0,0 +1,95 @@
# task-master
Offline-first Terminal-Taskmanager (`tm`) — Kanban-Board, Markdown-Tickets, Checklisten, Zeiterfassung und Reports. Gebaut mit [Bubble Tea](https://github.com/charmbracelet/bubbletea).
![Demo](demo.gif)
> Demo wird aus [`demo.tape`](demo.tape) erzeugt (`make demo`). Ohne GIF lokal: siehe [Demo aufnehmen](#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
## Install
Voraussetzung: Go (siehe `go.mod`).
```bash
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
```bash
tm # TUI starten
tm version # Build-Version (Git-Hash)
tm help
```
Sandbox ohne echte Config/Daten:
```bash
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 |
| `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`.
## Entwicklung
```bash
make test
make build
make version
```
## Demo aufnehmen
Die Walkthrough-Aufnahme steckt in [`demo.tape`](demo.tape) ([VHS](https://github.com/charmbracelet/vhs)):
```bash
# 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.
+1 -1
View File
@@ -27,7 +27,7 @@ Hide
Type "rm -rf /tmp/task-master-vhs && mkdir -p /tmp/task-master-vhs"
Enter
Sleep 300ms
Type "make build"
Type "test -x ./bin/tm || make build"
Enter
Sleep 5s
Show