LOCAL ISSUE CLI / TUI

Lissue

A Rust CLI tool for keeping issue tracking close to your code. Humans work through a terminal UI, while AI agents use structured commands and JSON output.

  • Rust
  • Ratatui
  • SQLite
  • JSON
Lissue terminal interface showing tasks and related files
Captured from an actual demo session of the TUI

BACKGROUND

GitHub Issues is great, but it sits far from local code and autonomous agents. Conversely, a single shared TODO file often triggers Git merge conflicts during concurrent workflows.

APPROACH

Separated local state into SQLite and distributed synchronization into one-JSON-per-task files. Built both a human-friendly interactive TUI and machine-readable JSON commands on top of the same engine.

HOW IT WORKS

  1. 01

    Initialize

    Set up .lissue directory in repo root

  2. 02

    Claim

    Assign task and update progress state

  3. 03

    Work

    Add context, notes, and file links

  4. 04

    Synchronize

    Export and sync task JSONs via Git

ARCHITECTURE

Architecture diagram showing Lissue CLI, TUI, application core, SQLite, JSON files, and Git workflow
Scroll horizontally to explore

DESIGN DECISIONS

Hybrid SQLite & JSON Architecture

Utilizes SQLite for instant local query speeds and individual task JSON files for clean Git merging across branches.

Native Ratatui Terminal Interface

Provides an ergonomic keyboard-driven terminal UI so developers never have to context-switch to a browser.

First-Class AI Agent Support

Every command includes a structured JSON output mode designed specifically for seamless consumption by LLM coding agents.

VERIFICATION

  • Published on crates.io and verified across multiple OS environments
  • Full test suite with 41 passing unit and integration tests
  • Dogfooded daily as the primary task tracker for personal projects

STATUS & NEXT

The core functionality is rock-solid and actively used every day for managing personal development workflows.

NEXT STEPS

  • Bidirectional sync bridge with GitHub Issues
  • Multi-repository aggregation dashboard
  • Custom metadata field extensions via plugins