mint: Minimal Issue & Needs Tracker
This is a global, single-machine, SQLite-backed issue system CLI for AI agents.
Usage
In AI Agent
/mint # In a new session.
# Or
/mint <Something>
Most of the time, it works by itself.
In Shell (Optional)
mint tui
Most of the time, it changes by itself.
Features
- Single global database at
$XDG_DATA_HOME/mint/mint.db(MINT_DB_PATHoverrides) — no per-project install, cross-project shared via refs - 6-state state machine (
open/planned/dev/test/done/dropped) with mandatorytest_cmdon close - Containers: milestones (versioned releases) + plans (agent execution plans) with 5-state derived status
- Built-in dedup (normalized-title fuzzy match) + full-text search (FTS5)
mint export: full JSON/TSV dump (issues with labels/links + plans + milestones + labels) for backup/migration- Agent adapters: Claude Code plugin, Codex hooks, OpenCode plugin — failure signals + issue context injected automatically
- TUI (
mint tui): live dashboard, ratatui-based, non-TTY falls back to text snapshot - Lightweight single binary (~1.7 MB), no daemon, millisecond startup
Install the CLI
The mint binary ships to three registries (package name mint-faa, command mint). Pick any:
cargo install mint-faa # crates.io — compiles from source (any platform)
pip install mint-faa # PyPI — prebuilt wheel (Linux/macOS/Windows)
npm install -g mint-faa # npm — downloads the platform binary from GitHub Releases
- crates.io: source build; needs a Rust toolchain.
- PyPI: prebuilt
maturinwheels — install anywhere Python runs, no compiler needed. - npm: a
cargo-distinstaller that fetches the correct prebuilt binary for your platform (Linux/macOS/Windows) from GitHub Releases. Linux binaries are musl-static (single file, no glibc dependency).
Pre-release versions (
0.5.0-alpha.1style) are only published to npm / GitHub Releases; crates.io and PyPI get stable releases only.
Or build from source: cargo install --path .
Install the Plugin
Install the Claude Code plugin
# From GitHub (one-liner):
claude plugin marketplace add https://github.com/yanqd0/mint.git
# or SSH: claude plugin marketplace add git@github.com:yanqd0/mint.git
claude plugin install mint-faa@mint # English skill (default)
# Or: claude plugin install mint-faa-cn@mint # Chinese skill
# Or from a local checkout:
claude plugin marketplace add ./claude-plugin
claude plugin install mint-faa@mint
# restart the session for hooks to take effect
# Upgrade (two levels: marketplace source + plugin version):
claude plugin marketplace update mint
claude plugin update mint-faa@mint # or mint-faa-cn@mint
# restart the session (hooks snapshot on startup)
# Uninstall:
claude plugin uninstall mint-faa@mint
claude plugin marketplace remove mint # optional
Install the Codex adapter
# One-liner (global): installs hooks into ~/.codex + skill into ~/.agents/skills
./codex-adapter/install.sh
# Or project-scoped:
./codex-adapter/install.sh --project
# Uninstall:
./codex-adapter/install.sh --uninstall
# restart Codex for hooks to take effect; non-managed hooks need /hooks trust
The adapter injects failure signals (mint: tool X failed — <cmd>) and issue context (mint list) into Codex sessions, and ships AGENTS.md + a .agents/skills/mint symlink to the shared skill. Full flow lives in .agents/skills/mint/SKILL.md.
Install the OpenCode plugin
# One-liner (global): plugin into ~/.config/opencode/plugins + skill into ~/.config/opencode/skills
./opencode-adapter/install.sh
# Or project-scoped (plugin symlink into .opencode/plugins; skill already at .agents/skills/mint):
./opencode-adapter/install.sh --project
# Uninstall:
./opencode-adapter/install.sh --uninstall
# restart OpenCode for the plugin to load
The plugin injects failure signals (mint: tool X failed — <cmd>), issue context (mint list), and commit reminders into OpenCode sessions, and marks the host (mint-adapter: opencode) so the shared skill routes to its OpenCode rules. Full flow lives in .agents/skills/mint/SKILL.md.
Data lives in a single global SQLite database at $XDG_DATA_HOME/mint/mint.db (MINT_DB_PATH overrides).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mint_faa-0.5.0.tar.gz.
File metadata
- Download URL: mint_faa-0.5.0.tar.gz
- Upload date:
- Size: 154.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1bd788723e4a75adfbd4c5ceff191ffa3be196b313c2177342190e8e1b160f0
|
|
| MD5 |
b74c139f07a0ed3f172c2aa1cca2c44b
|
|
| BLAKE2b-256 |
0d5577a8ff3de901ae8a1958d51ac44e41e0bf83f58bcc63af53596e942596a9
|
Provenance
The following attestation bundles were made for mint_faa-0.5.0.tar.gz:
Publisher:
publish-pypi.yml on yanqd0/mint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mint_faa-0.5.0.tar.gz -
Subject digest:
f1bd788723e4a75adfbd4c5ceff191ffa3be196b313c2177342190e8e1b160f0 - Sigstore transparency entry: 2485454238
- Sigstore integration time:
-
Permalink:
yanqd0/mint@57375b67e995115489e46fa9a36858681ab85057 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/yanqd0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@57375b67e995115489e46fa9a36858681ab85057 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mint_faa-0.5.0-py3-none-win_amd64.whl.
File metadata
- Download URL: mint_faa-0.5.0-py3-none-win_amd64.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4e2588bae9676980710b06ed4e8329108de2b7e9cc19ed9263a4b6b9ccaf6f8
|
|
| MD5 |
6d36b716b7668aa77033f88ee61c22aa
|
|
| BLAKE2b-256 |
ddcbe7a139f319530a792a2444b81e93ac8387c24b2faddda950cd4f9df57f96
|
Provenance
The following attestation bundles were made for mint_faa-0.5.0-py3-none-win_amd64.whl:
Publisher:
publish-pypi.yml on yanqd0/mint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mint_faa-0.5.0-py3-none-win_amd64.whl -
Subject digest:
d4e2588bae9676980710b06ed4e8329108de2b7e9cc19ed9263a4b6b9ccaf6f8 - Sigstore transparency entry: 2485454281
- Sigstore integration time:
-
Permalink:
yanqd0/mint@57375b67e995115489e46fa9a36858681ab85057 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/yanqd0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@57375b67e995115489e46fa9a36858681ab85057 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mint_faa-0.5.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.
File metadata
- Download URL: mint_faa-0.5.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
496cc36c654a5b22e9a5f0f770e1edc0bb8b9078d357acb06af266a262dd60ba
|
|
| MD5 |
e5b2e0ebe35010d7432df158126bf8ca
|
|
| BLAKE2b-256 |
5585b30ccd4d2354fc1e9603b39099bfe410de247500c3da51106136460ccd74
|
Provenance
The following attestation bundles were made for mint_faa-0.5.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl:
Publisher:
publish-pypi.yml on yanqd0/mint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mint_faa-0.5.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl -
Subject digest:
496cc36c654a5b22e9a5f0f770e1edc0bb8b9078d357acb06af266a262dd60ba - Sigstore transparency entry: 2485454422
- Sigstore integration time:
-
Permalink:
yanqd0/mint@57375b67e995115489e46fa9a36858681ab85057 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/yanqd0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@57375b67e995115489e46fa9a36858681ab85057 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mint_faa-0.5.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: mint_faa-0.5.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45b9e260a8fa44a66c0ea179028279f2583e252c11384113bff2251f245e7f65
|
|
| MD5 |
0480ce86830bba9554275e6085f46af3
|
|
| BLAKE2b-256 |
97e79a5b4b80a2722124df79adb0ab5326a3c3c4301480e894dec85f7d3e2af2
|
Provenance
The following attestation bundles were made for mint_faa-0.5.0-py3-none-macosx_10_12_x86_64.whl:
Publisher:
publish-pypi.yml on yanqd0/mint
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mint_faa-0.5.0-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
45b9e260a8fa44a66c0ea179028279f2583e252c11384113bff2251f245e7f65 - Sigstore transparency entry: 2485454356
- Sigstore integration time:
-
Permalink:
yanqd0/mint@57375b67e995115489e46fa9a36858681ab85057 -
Branch / Tag:
refs/tags/0.5.0 - Owner: https://github.com/yanqd0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@57375b67e995115489e46fa9a36858681ab85057 -
Trigger Event:
push
-
Statement type: