Skip to main content

tisket

A plaintext, git-tracked issue tracker. Each issue is a markdown file with YAML frontmatter. The files live in .tisket/ inside your git repo. Tisket needs no external service and no API tokens. It works offline. Coding agents read and write issues as ordinary file operations instead of calls to a hosted API.

Install

cargo install --locked tisket
brew install cjohnhanson/tap/tisket
uv tool install tisket
npm install -g tisket

cargo install builds from source. It needs Rust 1.88 and a C compiler. The other three carry a prebuilt binary for macOS and Linux, x86-64 and arm64, published by a tagged release.

To build the unreleased main branch:

cargo install --locked --git https://github.com/cjohnhanson/tisket

Or run it without installing:

uvx tisket issue list
npx tisket issue list

A release also carries prebuilt archives and a .deb, on the releases page. Each archive holds the binary and the man page. Install a .deb with dpkg -i: it is a file, not a repository, so apt-get install does not reach it.

Check the install with tisket --version.

Usage

tisket init                           # set up .tisket/ in a git repo
tisket issue create "Fix the thing"   # create an issue
tisket issue list                     # list open issues
tisket issue list -s todo             # filter by status
tisket issue show ab12                # show the issue details
tisket issue edit ab12 --add-label urgent
tisket issue close ab12               # move the file to .closed/
tisket search "TLS|certificates"      # search every issue with a regex
tisket store list                     # show this tracker and the trackers it declares
tisket serve [--bind ADDR]            # serve this tracker over MCP
tisket docs [topic]                   # show the bundled documentation

How it works

Each issue is one file. The filename has a 4-character random prefix and a slug from the title. The file holds YAML frontmatter for the metadata and a markdown body. Tisket moves a closed issue to .closed/.

.tisket/
  default/                           # project directory
    ab12-fix-the-widget.md           # open issue
    .closed/
      cd34-old-resolved-thing.md     # closed issue

An issue moves through a status lifecycle: discoverytodoin_progressdone (or cancelled). An issue can also be blocked or paused.

Scratch notes

Each issue can have a ## Scratch Notes section below the issue body. An agent appends its working notes there: investigation logs, approaches that failed, and partial findings. The problem description above stays unchanged.

tisket scratch ab12 append "Confirmed: bounds check missing on line 42"
tisket scratch ab12 read

Git-aware divergence detection

When you list or show an issue, tisket also reads that issue file from every other branch. It compares the files field by field. If another branch has a different status, assignee, or priority, tisket marks the issue with a *. It also names each branch that differs. You see the conflict before a merge overwrites one version.

Serving over MCP

tisket serve offers the same tracker to a Model Context Protocol client. The library answers both interfaces, so the server returns what the CLI returns.

tisket serve                        # speak MCP on stdin and stdout
tisket serve --bind 127.0.0.1:7432  # serve over HTTP at /mcp on that address
tisket serve --access read-write    # also allow appending to working notes

The server is read-only by default. With --access read-write it adds one write: appending to an issue's scratch notes. A caller cannot create an issue, change a status, or edit a body through the server. A served tracker has no authentication: bind it to 127.0.0.1, or put a proxy that authenticates in front of it.

Documentation

tisket docs prints the same pages from the installed binary.

Related

Tisket belongs to a group of plaintext, git-tracked, agent-readable tools.

  • zettel — zettelkasten notes for a repository
  • almanac — agent skill index, over pluggable sources
  • gaff — context-lifecycle handler for coding agents
  • missouri — end-to-end tests as directed graphs of filesystem states
  • mdstore — the frontmattered markdown library tisket stores issues with

License

MIT.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tisket-0.2.3.tar.gz (91.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tisket-0.2.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl (8.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64musllinux: musl 1.1+ x86-64

tisket-0.2.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (7.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64musllinux: musl 1.1+ ARM64

tisket-0.2.3-py3-none-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

tisket-0.2.3-py3-none-macosx_10_12_x86_64.whl (8.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file tisket-0.2.3.tar.gz.

File metadata

  • Download URL: tisket-0.2.3.tar.gz
  • Upload date:
  • Size: 91.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tisket-0.2.3.tar.gz
Algorithm Hash digest
SHA256 349c2a04c07326a0ba3dd5305e13632a1bf219879213861f95548671b56395f3
MD5 842c397a9e5b703c848c2cfc37b0a10b
BLAKE2b-256 0f2c5f20249357add494fbd46087cd9ab3022b67e1f839d02cd54e6c23b9327e

See more details on using hashes here.

File details

Details for the file tisket-0.2.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl.

File metadata

  • Download URL: tisket-0.2.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 8.4 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tisket-0.2.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c51b6ed1d7d9502d679aecc092e0d79d19fc2d194eb52caacc06020e75ddf599
MD5 743f261393c3d527c785f9b9b4c6f663
BLAKE2b-256 49a7add732df8340807084f0eee93b8104dcc2f4bfb01daf7663f5693b72e309

See more details on using hashes here.

File details

Details for the file tisket-0.2.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

  • Download URL: tisket-0.2.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tisket-0.2.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 231aff9e917e6c11d57dc72dd27a19212fafe88dd76978a7e6545627cb240984
MD5 e5391b891a5cea7cc23d9eaa445bad70
BLAKE2b-256 fc2c0a8ae6eba1e3b27ace96e9263d7ca4331e44baead5610563a9da4e577b47

See more details on using hashes here.

File details

Details for the file tisket-0.2.3-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: tisket-0.2.3-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tisket-0.2.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47cb4209f62fe311730bbba7a28da805e3bbdeac977bb2553e7f7a6565860acf
MD5 9574e03ae527f1b51ba4f1ef646dfefe
BLAKE2b-256 6fa3f7aecffb69fcba3cc1a600285f87a7df25b44e858b02202b6bb8d6bd2be6

See more details on using hashes here.

File details

Details for the file tisket-0.2.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: tisket-0.2.3-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tisket-0.2.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4cefedaaf1db3eb04e9d3ccfbfce61891197993391a7e700e7fe5a9e84f4b40f
MD5 23cebebc11e4be200d7e3917ed14971e
BLAKE2b-256 9efd520c487f8b13063c8c172f2947f8fb35ab6ed27f179f079f5bc34b7f39ee

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.4

5 files

This release

0.2.3 This release

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page