[package]
name = "ggen-core"
version = "5.1.2"
authors = ["Sean Chatman <sean@chatmangpt.com>"]
description = "Core graph-aware code generation engine"
edition = "2021"
license = "MIT"
repository = "https://github.com/seanchatmangpt/ggen"
keywords = ["cli", "code-generation", "rdf", "templates"]
categories = ["development-tools", "command-line-utilities"]

[lints.clippy]
multiple_crate_versions = "allow"

[dependencies]
# Use workspace = true pattern for workspace-local crates
ggen-utils.workspace = true
tera = "1.20"
oxigraph = "0.5"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.9"
serde_json = "1.0"
sha2 = "0.10"
rayon = "1.11"
num_cpus = "1.17"
thiserror = "2.0"
log = "0.4.28"
rand = "0.9"
# shacl_validation = "0.1" # Removed - replaced with SPARQL-based validation (005-ttl-shacl-validation)
# srdf = "0.1" # Removed - unused abstraction layer
tempfile = "3"
gray_matter = { version = "0.3.2", features = ["yaml"] }
Inflector = "0.11"
heck = "0.5"
regex = "1.12"
colored = "3.0"
toml = "0.9"
lru = "0.16"
ahash = "0.8"
glob = "0.3"
tokio = { version = "1.47", features = ["full"] }
reqwest = { workspace = true, features = ["rustls-tls", "stream"] }
url = "2.5"
chrono = { version = "0.4", features = ["serde"] }
# git2: Using vendored-libgit2 with native TLS backend (macOS: Security.framework, Linux: system OpenSSL)
# This eliminates the OpenSSL from-source compilation bottleneck (PHASE 1.2 optimization)
git2 = { version = "0.20", default-features = false, features = ["vendored-libgit2", "https"] }
tar = "0.4"
flate2 = "1.1"
dirs = "6.0"
semver = "1.0"
walkdir = "2.5"
diff = "0.1"
tracing = "0.1"
tracing-subscriber = { workspace = true }
# OpenTelemetry instrumentation
opentelemetry = { workspace = true }
opentelemetry-otlp = { workspace = true }
opentelemetry_sdk = { workspace = true }
tracing-opentelemetry = { workspace = true }
# Post-Quantum Cryptography (PQC) - NIST-approved algorithms
pqcrypto-mldsa = "0.1"  # ML-DSA (maintained replacement for Dilithium)
pqcrypto-traits = "0.3"
base64 = "0.22"
# LLM integration dependencies
async-trait = "0.1"
futures = "0.3"
bytes = "1.10"
petgraph = "0.8.3"
uuid = { version = "1.18", features = ["v4", "serde"] }

[features]
default = ["dx"]
dx = []             # Hyper-advanced developer experience features
live-llm-tests = [] # Opt-in for OpenAI/Anthropic integration tests
proptest = []       # Property-based testing with proptest
docker = []         # Docker testcontainers support
testcontainers = [] # Testcontainers feature for production validation tests

[dev-dependencies]
tempfile = "3"
serde_json = "1"
mockall = "0.13"
criterion = { version = "0.7", features = ["html_reports"] }
proptest = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["json", "env-filter"] }
testcontainers = "0.25"
uuid = { version = "1.18", features = ["v4"] }
chicago-tdd-tools = { version = "1.4.0", features = ["testing-extras", "testcontainers", "async"] }
anyhow = "1.0"

[[bench]]
name = "lifecycle_benchmarks"
harness = false

[[bench]]
name = "marketplace_benchmarks"
harness = false

[[bench]]
name = "clnrm_benchmarks"
harness = false

[[bench]]
name = "template_benchmarks"
harness = false

[[bench]]
name = "template_generation"
harness = false

[[bench]]
name = "performance_benchmark"
harness = false

[[bench]]
name = "medium_optimizations_benchmark"
harness = false

[[bench]]
name = "quick_wins_benchmark"
harness = false

[[bench]]
name = "week4_optimization_benchmark"
harness = false

[[bench]]
name = "hive_coordination"
harness = false

[[bench]]
name = "pattern_performance"
harness = false

[[bench]]
name = "memory_profiling"
harness = false

[[bench]]
name = "regression_detection"
harness = false

[[bench]]
name = "thesis_validation_benchmarks"
harness = false

# NOTE: marketplace_tests_main archived to tests-archive/broken-2025-11-21
# [[test]]
# name = "marketplace_tests_main"
# path = "tests/marketplace_tests_main.rs"
