Skip to main content

tix/
lib.rs

1//! `tix` — a terminal issue tracker.
2//!
3//! Issues live as human- and agent-readable markdown files with YAML
4//! frontmatter in a version-controlled directory (`docs/issues/` by
5//! default), and are manipulated both by a full clap CLI and a ratatui
6//! kanban board. `tix export`/`tix import` shell out to `glab`/`linear-cli`
7//! for external sync (`contracts/external-tools.md`).
8//!
9//! WP01 shipped the immutable foundation: the [error] type, the [slug]
10//! filename stem builder, the [model] (issue, status, priority, config
11//! entities) and the [config] reader/writer. WP02 added the [storage]
12//! façade over `issues_dir` and the [editor] bridge. WP03 adds the full
13//! clap [cli] command tree, the per-command [commands] handlers, and the
14//! minimal TUI [app] shell. WP05 fills in the external [sync] module
15//! (token resolution, `glab`/`linear-cli` adapters, export/import
16//! orchestration). Consumers freeze on the public API shipped here.
17
18#![warn(clippy::pedantic)]
19#![allow(
20    clippy::assigning_clones,
21    clippy::bool_to_int_with_if,
22    clippy::cast_possible_truncation,
23    clippy::cast_possible_wrap,
24    clippy::cast_lossless,
25    clippy::cast_sign_loss,
26    clippy::case_sensitive_file_extension_comparisons,
27    clippy::double_must_use,
28    clippy::doc_link_with_quotes,
29    clippy::doc_markdown,
30    clippy::explicit_iter_loop,
31    clippy::format_push_string,
32    clippy::manual_let_else,
33    clippy::items_after_statements,
34    clippy::manual_string_new,
35    clippy::map_unwrap_or,
36    clippy::match_bool,
37    clippy::match_same_arms,
38    clippy::missing_errors_doc,
39    clippy::missing_panics_doc,
40    clippy::needless_pass_by_value,
41    clippy::ref_option,
42    clippy::redundant_closure_for_method_calls,
43    clippy::return_self_not_must_use,
44    clippy::single_match_else,
45    clippy::semicolon_if_nothing_returned,
46    clippy::similar_names,
47    clippy::single_char_pattern,
48    clippy::unnested_or_patterns,
49    clippy::unnecessary_debug_formatting,
50    clippy::unnecessary_wraps,
51    clippy::uninlined_format_args,
52    clippy::unnecessary_join,
53    clippy::used_underscore_binding,
54    clippy::must_use_candidate
55)]
56
57pub mod analytics;
58pub mod app;
59pub mod assignee;
60pub mod backup;
61pub mod board_store;
62pub mod bulk;
63pub mod capacity;
64pub mod cli;
65pub mod commands;
66pub mod config;
67pub mod cycle_schedule;
68pub mod cycle_store;
69pub mod diagnostics;
70pub mod edit_problems;
71pub mod editor;
72pub mod epics;
73pub mod error;
74pub mod git;
75pub mod health;
76pub mod hierarchy;
77pub mod ics;
78pub mod id;
79pub mod keybindings;
80pub mod layout;
81pub mod mcp;
82pub mod mentions;
83pub mod model;
84pub mod planning;
85pub mod projects;
86pub mod records;
87pub mod recurrence;
88pub mod related;
89pub mod relationships;
90pub mod roadmap;
91pub mod search;
92pub mod slug;
93pub mod speckit;
94pub mod storage;
95pub mod tags;
96pub mod templates;
97pub mod time_tracking;
98pub mod tips;
99pub mod triage;
100pub mod ui;
101pub mod views;
102pub mod watcher;
103pub mod wip;
104pub mod workflow;
105
106pub mod kitty;
107pub mod sync;