TL;DR
wedow published tk, a single-file, git-backed CLI ticket system that stores issues as Markdown with YAML front matter. It aims to replace Beads by removing a SQLite dependency and background daemon, offers a migrate-beads command, and is distributed via Homebrew, AUR, or from source.
What happened
wedow released ticket (invoked as tk), a lightweight, git-native issue tracker implemented as a portable Bash script. Designed for agent-driven workflows, tk saves tickets as individual Markdown files with YAML front matter inside a .tickets/ directory, making them easy to inspect and search. The tool supports dependency tracking, linking, basic lifecycle commands (create, start, close, reopen), notes, and a query command that outputs JSON for programmatic use. It is explicitly positioned as a full replacement for Beads and includes a migrate-beads command to import .beads/issues.jsonl. Installation options listed in the repository include Homebrew, the Arch User Repository, or cloning and symlinking the script. Runtime requirements are minimal: coreutils and Bash, with jq required for queries and ripgrep used if available (falls back to grep). The project is MIT-licensed and the repository shows active maintenance, releases, and documentation for agent integration.
Why it matters
- Eliminates the need for a separate SQLite file or a background daemon, simplifying version control and collaboration.
- Markdown files with YAML front matter are easier for AI agents and humans to search and parse without large JSONL payloads.
- Using ticket IDs as filenames enables quick navigation in IDEs and leverages Git history for context.
- Compact, single-file implementation reduces dependencies and supports POSIX-compatible environments.
Key facts
- tk is a single portable Bash script distributed in the wedow/ticket GitHub repository.
- Tickets are stored as individual Markdown files under .tickets/ and include YAML front matter for metadata.
- The CLI provides commands for create, edit, show, start, close, reopen, status, dep/undep, link/unlink, ls, ready, blocked, closed, add-note and query.
- A migrate-beads command imports issues from .beads/issues.jsonl to help teams move from Beads.
- Installation paths documented: Homebrew tap (wedow/tools), Arch AUR package, or cloning the repo and symlinking the script.
- Runtime requirements: Bash and coreutils; jq is required for the query command; ripgrep (rg) is used if present, otherwise grep is used.
- Supports partial ticket ID matching (e.g., 'tk show 5c4' can match 'nw-5c46').
- Repository is MIT-licensed, has releases (latest listed as v0.2.0), and shows community interest (stars and forks recorded).
- Documentation includes guidance for agent setup (add usage notes to CLAUDE.md or AGENTS.md) and mentions Claude Opus integration.
What to watch next
- New releases and changelog entries in the repository (project has an established release workflow).
- Homebrew and AUR package updates to ensure installers remain current.
- not confirmed in the source
Quick glossary
- git-backed: A workflow where issue data is stored in files tracked by Git, letting version control provide history and collaboration.
- Markdown: A lightweight markup language for plain text formatting that is widely used for documentation and notes.
- YAML front matter: A block of YAML at the top of a text file used to store structured metadata alongside content.
- daemon: A background process that runs continuously and can manage state or perform tasks without direct user interaction.
- jq: A command-line JSON processor used to filter, transform, and output JSON data.
Reader FAQ
Is tk intended to replace Beads?
Yes. The project is presented as a full replacement for Beads and includes a migrate-beads command.
How can I install tk?
Installation options documented are Homebrew (brew tap wedow/tools; brew install ticket), Arch AUR (yay -S ticket), or cloning the repository and symlinking the script into your PATH.
What dependencies does tk require?
tk runs on Bash with coreutils available. The query command requires jq; ripgrep (rg) is used if present, otherwise grep is used.
Does tk work with AI agents out of the box?
The repository suggests adding a note to CLAUDE.md or AGENTS.md and notes that Claude Opus picks it up naturally; other models may require additional guidance.
Is tk actively maintained?
The repository shows recent commits, releases, and documentation updates, but long-term maintenance expectations are not confirmed in the source.
ticket The git-backed issue tracker for AI agents. Rooted in the Unix Philosophy, tk is inspired by Joe Armstrong's Minimal Viable Program with additional quality of life features for managing…
Sources
- Show HN: I replaced Beads with a faster, simpler Markdown-based task tracker
- I replaced Beads with a faster, simpler Markdown-based …
- Today 10 Best Hacker News Startups of 4 Jan 2026
Related posts
- Quantum accelerometers could let Tube trains navigate without GPS
- Bosch adds free feature to make stolen e-bikes unusable and unsellable
- DeskMate turns an iPhone into a panning AI companion and charging hub