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.
Agents can load the whole CLI surface in one call:
mint --help-llm # complete English reference: every subcommand, argument, value and state transition
In Shell (Optional)
mint tui
Most of the time, it changes by itself.
Features
- Per-project SQLite databases at
$XDG_DATA_HOME/mint/projects/<project>/<machine_id>.db(MINT_DB_PATH/--dbswitches to a single-file db), with multi-machine sync built in - 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 per-project SQLite databases at $XDG_DATA_HOME/mint/projects/<project>/<machine_id>.db (MINT_DB_PATH / --db switches to single-file mode).
Development
Project instructions for coding agents live in AGENTS.md (nested per directory); host-neutral skills and agent definitions live in .agents/. Enable the project-level pre-commit formatting hook once per clone:
scripts/install-hooks.sh
Claude Code users create local, git-ignored CLAUDE.md symlinks — see CONTRIBUTING.md.
Metadata
Release files for mint-faa 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mint_faa-0.8.0.tar.gz | 232.1 kB | With provenance | Details for mint_faa-0.8.0.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mint_faa-0.8.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for mint_faa-0.8.0-py3-none-win_amd64.whl |
| mint_faa-0.8.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl | Python 3 | none | Linux glibc 2.5+ x86-64 | Details for mint_faa-0.8.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl |
| mint_faa-0.8.0-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details for mint_faa-0.8.0-py3-none-macosx_10_12_x86_64.whl |
Total release size: 3.8 MB
Release files / mint_faa-0.8.0.tar.gz
| Download URL | mint_faa-0.8.0.tar.gz |
|---|---|
| Size | 232.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5eb6fe30300774ce63090edc47249781ccbeeb1799c24a72439170b9ceaa1929
|
|
BLAKE2b-256 checksum How to use checksums |
847ed7837c6151b18a011ba8fc5129f7fe2425ec3b401efe542afa2b38f99023
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / mint_faa-0.8.0-py3-none-win_amd64.whl
| Download URL | mint_faa-0.8.0-py3-none-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
34763815d4fef4eaa5f5374d528a054004656da6272d9367501f34df15ee4f75
|
|
BLAKE2b-256 checksum How to use checksums |
c1ce7429b09924075d23e9c1f2c5e79cb64f43ce4f93e152fc392e1b47a04e2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / mint_faa-0.8.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
| Download URL | mint_faa-0.8.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Linux glibc 2.5+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
4843d459df206cfa160a2d230ab226e8403ef121539e401636b6b784bd43d981
|
|
BLAKE2b-256 checksum How to use checksums |
51603988584978af021f6ca190186a76039d963e347b1a04a0212430b8ccbd7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / mint_faa-0.8.0-py3-none-macosx_10_12_x86_64.whl
| Download URL | mint_faa-0.8.0-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
1faae4a0e8e927b30650b3d0d4be9d8368a7d8c6e2b6021b299cf47dfc03e47f
|
|
BLAKE2b-256 checksum How to use checksums |
8a05cf9b3437b86b5c7f17ba4fc64135407bccec3950d7296d16b07918f7c6bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logSecurity for mint-faa 0.8.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 4 files in this release have been uploaded with provenance metadata.
Attestation for mint_faa-0.8.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.