[workspace]
members = [".", "crates/regenerator2000-core", "crates/regenerator2000-tui"]
resolver = "3"

[workspace.lints.clippy]
# ---------------------------------------------------------------------------
# Panic-safety: flag patterns that can abort the process in production code.
# CI promotes these to errors via `cargo clippy -- -D warnings`.
# Tests are exempted via #![cfg_attr(test, allow(...))] in each crate's lib.rs.
# ---------------------------------------------------------------------------
unwrap_used = "warn"
expect_used = "warn"
panic       = "warn"

# ---------------------------------------------------------------------------
# API hygiene and documentation: enforced for all public items.
# ---------------------------------------------------------------------------
must_use_candidate = "warn"
missing_errors_doc = "warn"
missing_panics_doc = "warn"

[package]
authors = ["Ricardo Quesada <ricardoquesada@gmail.com>"]
description = "An interactive disassembler for the CPU 6502, focused mostly on Commodore 8-bit computers."
name = "regenerator2000"
version = "0.9.18"
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ricardoquesada/regenerator2000"
homepage = "https://github.com/ricardoquesada/regenerator2000"
exclude = [
    "docs/**/*",
    "tests/**/*",
    "examples/**/*",
    ".agent/**/*",
    ".github/**/*",
    "mkdocs.yml",
    ".readthedocs.yaml",
    ".pre-commit-config.yaml",
    "AGENTS.md",
    "CLAUDE.md"
]

[dependencies]
regenerator2000-core = { version = "0.9.18", path = "crates/regenerator2000-core", features = ["mcp"] }
regenerator2000-tui = { version = "0.9.18", path = "crates/regenerator2000-tui" }
clap = { version = "4", features = ["derive"] }
anyhow = "1.0"
serde_json = "1.0"
reqwest = { version = "0.13", default-features = false, features = ["rustls", "json"] }
ratatui = "0.30.0"
crossterm = "0.29"
base64 = "0.22.1"
log = "0.4.29"
simplelog = "0.12.2"
tokio = { version = "1.52", features = ["rt-multi-thread", "sync", "net", "macros"] }

[build-dependencies]
anyhow = "1.0"
vergen-gitcl = "9.1.0"

[dev-dependencies]
toml = "0.8"

[lints]
workspace = true
