[package]
name = "clux"
version = "0.3.2"
edition = "2024"
description = "Monitor Claude Code sessions in tmux"
license = "MIT"
repository = "https://github.com/calthejuggler/clux"
readme = "README.md"
keywords = ["tmux", "claude", "cli"]
categories = ["command-line-utilities"]

[dependencies]
anyhow = "1"
clap = { version = "4", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

[lints.rust]
unsafe_code = "deny"
unused_results = "warn"

[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }

alloc_instead_of_core = "deny"
as_underscore = "deny"
assertions_on_result_states = "deny"
clone_on_ref_ptr = "deny"
dbg_macro = "deny"
decimal_literal_representation = "deny"
deref_by_slicing = "deny"
empty_drop = "deny"
empty_structs_with_brackets = "deny"
error_impl_error = "deny"
expect_used = "deny"
filetype_is_file = "deny"
float_cmp_const = "deny"
fn_to_numeric_cast_any = "deny"
format_push_string = "deny"
get_unwrap = "deny"
if_then_some_else_none = "deny"
impl_trait_in_params = "deny"
indexing_slicing = "deny"
infinite_loop = "deny"
large_include_file = "deny"
let_underscore_must_use = "deny"
lossy_float_literal = "deny"
map_err_ignore = "deny"
mem_forget = "deny"
missing_asserts_for_indexing = "deny"
mixed_read_write_in_expression = "deny"
multiple_inherent_impl = "deny"
mutex_atomic = "deny"
needless_raw_strings = "deny"
panic = "deny"
panic_in_result_fn = "deny"
partial_pub_fields = "deny"
pub_without_shorthand = "deny"
rc_buffer = "deny"
rc_mutex = "deny"
redundant_type_annotations = "deny"
ref_patterns = "deny"
rest_pat_in_fully_bound_structs = "deny"
same_name_method = "deny"
self_named_module_files = "deny"
semicolon_inside_block = "deny"
shadow_reuse = "deny"
shadow_same = "deny"
shadow_unrelated = "deny"
single_char_lifetime_names = "deny"
str_to_string = "deny"
string_add = "deny"
string_lit_chars_any = "deny"
string_slice = "deny"
suspicious_xor_used_as_pow = "deny"
tests_outside_test_module = "deny"
todo = "deny"
try_err = "deny"
undocumented_unsafe_blocks = "deny"
unimplemented = "deny"
unnecessary_safety_comment = "deny"
unnecessary_self_imports = "deny"
unneeded_field_pattern = "deny"
unreachable = "deny"
unseparated_literal_suffix = "deny"
unwrap_in_result = "deny"
unwrap_used = "deny"
verbose_file_reads = "deny"
wildcard_enum_match_arm = "deny"

similar_names = "allow"
module_name_repetitions = "allow"
literal_string_with_formatting_args = "allow"

[profile.release]
strip = true
lto = true
codegen-units = 1
opt-level = "z"
panic = "abort"

[dev-dependencies]
tempfile = "3.27.0"
