[package]
name = "rustelo_tools"
version = "0.1.0"
edition = "2021"
authors = ["Rustelo Contributors"]
license = "MIT"
description = "Development tools and utilities for Rustelo framework"
documentation = "https://docs.rs/tools"
repository = "https://github.com/yourusername/rustelo"
homepage = "https://jesusperez.pro"
keywords = ["rust", "tools", "build", "development", "cli"]
categories = ["development-tools::build-utils", "development-tools::debugging"]

[lib]
crate-type = ["rlib"]

[features]
default = ["templates", "tui", "preview"]
cli = ["dep:clap", "dep:inquire", "dep:ratatui", "dep:crossterm", "dep:log", "dep:env_logger", "tui"]
templates = ["dep:tera"]
publishing = ["dep:reqwest"]
analysis-only = []  # Minimal feature for build-time usage
tui = ["dep:ratatui", "dep:crossterm", "dep:log", "dep:clap", "dep:inquire", "dep:env_logger"]  # TUI dashboard features
preview = ["dep:syntect", "dep:similar"]  # Live preview with syntax highlighting

# Dependencies for unified tooling
[dependencies]
rustelo_utils = { workspace = true }
rustelo_core_types = { workspace = true }
toml = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
chrono = { workspace = true, features = ["serde"] }
tracing = { workspace = true }
once_cell = { workspace = true }
thiserror = { workspace = true }
regex = { workspace = true }
walkdir = { workspace = true }
anyhow = { workspace = true }
dotenv = { workspace = true }
syn = { workspace = true, features = ["full", "extra-traits"] }
quote = { workspace = true }

# Template engine (optional)
tera = { workspace = true, optional = true }

# CLI dependencies (optional)
clap = { workspace = true, features = ["derive"], optional = true }
inquire = { workspace = true, optional = true }
ratatui = { workspace = true, optional = true }
crossterm = { workspace = true, optional = true }
log = { workspace = true, optional = true }
env_logger = { workspace = true, optional = true }

# Publishing dependencies (optional)
reqwest = { workspace = true, features = ["json"], optional = true }

# TUI and preview dependencies (optional)
syntect = { workspace = true, optional = true }
similar = { workspace = true, optional = true }

[dev-dependencies]
tempfile = { workspace = true }

[[bin]]
name = "manager"
path = "src/bin/manager.rs"

[[bin]]
name = "dev-tools"
path = "src/bin/dev_tools.rs"

[[bin]]
name = "rustelo_tools"
path = "src/bin/tools.rs"
