Expand description
tix — a terminal issue tracker.
Issues live as human- and agent-readable markdown files with YAML
frontmatter in a version-controlled directory (docs/issues/ by
default), and are manipulated both by a full clap CLI and a ratatui
kanban board. tix export/tix import shell out to glab/linear-cli
for external sync (contracts/external-tools.md).
WP01 shipped the immutable foundation: the error type, the slug
filename stem builder, the model (issue, status, priority, config
entities) and the config reader/writer. WP02 added the storage
façade over issues_dir and the editor bridge. WP03 adds the full
clap cli command tree, the per-command commands handlers, and the
minimal TUI app shell. WP05 fills in the external sync module
(token resolution, glab/linear-cli adapters, export/import
orchestration). Consumers freeze on the public API shipped here.
Modules§
- app
- assignee
- Assignee identities and filesystem-safe directory segments.
- cli
- The clap command tree, the frozen exit-code scheme, and the process boundary that resolves config, opens the store and hands off to the per-command handlers.
- commands
- Thin dispatch: route a parsed CLI
Commandto its per-command handler module. Also owns the shared<issue>selector resolution and priority validation that several commands reuse. - config
tix.tomlconfig schema, defaults, loading, saving and validation.- editor
- error
- Typed error surface for
tix. - kitty
- Spec Kitty integration —
kitty-specs/artifact support for tix. - mcp
- MCP server entry point and dispatch loop (
tix mcp). - model
- Issue data model and file-surface types.
- search
- Shared search corpus and matchers for
tix search(CLI, WP04) and the/fuzzy filter (TUI, WP05). - slug
- Title → kebab-case filename stem.
- storage
- sync
- External tracker sync: orchestration for
tix export/tix import, theToolselector, theCommandRunnerspawn seam, and the pure mapping / conflict-resolution rules. - ui
- watcher
- Dependency-free polling filesystem watcher (issue #10).