syncable-cli 0.34.1

A Rust-based CLI that analyzes code repositories and generates Infrastructure as Code configurations
Documentation
[package]
name = "syncable-cli"
version = "0.34.1"
edition = "2024"
rust-version = "1.88"  # MSRV - AWS SDK requires 1.88
authors = ["Syncable Team"]
description = "A Rust-based CLI that analyzes code repositories and generates Infrastructure as Code configurations"
license = "GPL-3.0"
repository = "https://github.com/syncable-dev/syncable-cli"
keywords = [
  "cli",
  "docker",
  "kubernetes",
  "terraform", 
  "devops",
]
categories = ["command-line-utilities", "development-tools"]
readme = "README.md"

# Platform support
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc", "x86_64-apple-darwin"]

[[bin]]
name = "sync-ctl"
path = "src/main.rs"



[dependencies]
clap = { version = "4", features = ["derive", "env", "cargo"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
yaml-rust2 = "0.11"  # YAML parsing with position tracking for dclint
hcl-rs = "0.19.4"  # HCL parsing for Terraform kubernetes resources
toml = "0.9"
log = "0.4"
env_logger = "0.11"
thiserror = "2"
walkdir = "2"
tera = "1"
indicatif = "0.18"
regex = "1"
glob = "0.3"
once_cell = "1"
rayon = "1.11"
termcolor = "1"
chrono = { version = "0.4", features = ["serde"] }
colored = "3"
crossterm = "0.29"  # Terminal raw mode for interactive input
inquire = "0.9"     # Interactive terminal prompts with autocomplete
rustyline = "17"    # Readline-style input with completions
webbrowser = "1"    # Open URLs in default browser
prettytable = "0.10"
term_size = "0.3"

# Vulnerability checking dependencies
rustsec = "0.31"
reqwest = { version = "0.13", features = ["json", "blocking"] }
tokio = { version = "1", features = ["rt", "macros", "rt-multi-thread", "sync", "process", "io-util", "signal"] }
textwrap = "0.16"
tempfile = "3"
dirs = "6"

# Performance dependencies for turbo security analyzer
aho-corasick = "1.1"              # Multi-pattern string matching
memmap2 = "0.9"                   # Memory-mapped file I/O
dashmap = "6"                     # Concurrent hashmap for caching
crossbeam = { version = "0.8", features = ["crossbeam-channel"] }  # High-performance channels
blake3 = "1.5"                    # Fast hashing for cache keys
regex-automata = "0.4"            # Compiled regex sets
num_cpus = "1.16"                 # CPU count detection
parking_lot = "0.12"              # Faster mutex/rwlock
ahash = "0.8"                     # Fast hash function
bstr = "1.9"                      # Byte string utilities
simdutf8 = "0.1"                  # SIMD UTF-8 validation

# Telemetry dependencies
uuid = { version = "1.0", features = ["v4"] }
rand = "0.9"
futures-util = "0.3"

# Agent dependencies (using Rig - LLM application framework)
rig-core = { version = "0.28", features = ["derive", "image"] }

# AWS Bedrock dependencies (inlined bedrock module with extended thinking fixes)
async-stream = "0.3"
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-bedrockruntime = "1"
aws-smithy-types = "1"
base64 = "0.22"
schemars = "1"
tracing = "0.1"

# Diff rendering for file confirmation UI
similar = "2.6"

# Kubernetes API client for live cluster metrics (Phase 2)
kube = { version = "2.0", features = ["client", "runtime", "derive"] }
k8s-openapi = { version = "0.26", features = ["latest"] }
http = "1"  # Required for raw API requests with kube
urlencoding = "2"  # URL encoding for Prometheus queries
rustls = { version = "0.23", features = ["ring"] }  # TLS for K8s API

# Markdown rendering and syntax highlighting
termimad = "0.34"              # Terminal markdown rendering
syntect = "5"                   # Syntax highlighting
strip-ansi-escapes = "0.2"      # Strip ANSI codes for testing

# Dockerfile linting (hadolint-rs)
nom = "7"                  # Parser combinators for Dockerfile parsing
anyhow = "1.0.100"
open = "5.3.3"

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
proptest = "1"

# Fast debug builds - prioritize compile speed over runtime
[profile.dev]
opt-level = 0
debug = true
incremental = true
codegen-units = 256          # More parallel compilation

# Optimize heavy deps even in dev mode (huge speedup for iterative builds)
[profile.dev.package."*"]
opt-level = 2                # Dependencies compile once, worth optimizing

# Specifically optimize the slowest deps
[profile.dev.package.syntect]
opt-level = 3
[profile.dev.package.aws-sdk-bedrockruntime]
opt-level = 2
[profile.dev.package.kube]
opt-level = 2
[profile.dev.package.k8s-openapi]
opt-level = 2
[profile.dev.package.regex]
opt-level = 2
[profile.dev.package.regex-automata]
opt-level = 2

# Release profile - optimized for runtime performance
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"

[[example]]
name = "check_vulnerabilities"
path = "examples/check_vulnerabilities.rs"

[[example]]
name = "security_analysis"
path = "examples/security_analysis.rs"