tix-tracker 0.12.0

A terminal issue tracker: markdown + YAML frontmatter issues with a kanban TUI and CLI
Documentation
#!/usr/bin/env bash
# Fake `glab` for WP05 integration tests. Records argv + GITLAB_TOKEN env
# to the file named by TIX_FAKE_RECORD, then answers with canned JSON.
#
# Controlled via env:
#   TIX_FAKE_RECORD — required; file to append each invocation's argv + token
#   TIX_FAKE_LIST   — JSON array printed for `issue list`
#   TIX_FAKE_FAIL   — numeric exit code; when set, forces a failure that
#                     leaks the token to stderr (tests scrub behavior)
set -u
record="${TIX_FAKE_RECORD:?TIX_FAKE_RECORD must be set for the fake glab}"
echo "glab $*" >> "$record"
echo "GITLAB_TOKEN=${GITLAB_TOKEN:-}" >> "$record"
if [ "${TIX_FAKE_FAIL:-}" != "" ]; then
    echo "LEAK:GITLAB_TOKEN=$GITLAB_TOKEN" >&2
    exit "${TIX_FAKE_FAIL}"
fi
sub="${1:-}"; shift 2>/dev/null || true
case "$sub" in
    issue)
        sub2="${1:-}"; shift 2>/dev/null || true
        case "$sub2" in
            create)
                count=$(grep -c "glab issue create" "$record" 2>/dev/null || echo 1)
                iid=$((99 + count))
                printf '{"iid": %d, "web_url": "https://gitlab.example/acme/tix/-/issues/%d"}\n' "$iid" "$iid"
                ;;
            update)
                echo ""
                ;;
            close)
                echo ""
                ;;
            list)
                printf '%s\n' "${TIX_FAKE_LIST:-[]}"
                ;;
            *)
                echo "unknown glab issue subcommand: $sub2" >&2
                exit 2
                ;;
        esac
        ;;
    *)
        echo "unknown glab subcommand: $sub" >&2
        exit 2
        ;;
esac
exit 0