/ Cargo.toml
Cargo.toml
  1  [workspace]
  2  members = [
  3      "ferris-proof-cli",
  4      "ferris-proof-core",
  5      "ferris-proof-config",
  6      "ferris-proof-plugins",
  7  ]
  8  resolver = "2"
  9  
 10  [workspace.package]
 11  version = "0.1.0"
 12  edition = "2021"
 13  authors = ["FerrisProof Contributors"]
 14  license = "MIT OR Apache-2.0"
 15  repository = "https://github.com/ferris-proof/ferris-proof"
 16  homepage = "https://ferris-proof.dev"
 17  documentation = "https://docs.rs/ferris-proof"
 18  description = "Multi-layer correctness pipeline for Rust applications"
 19  keywords = ["verification", "formal-methods", "property-testing", "rust"]
 20  categories = ["development-tools", "testing"]
 21  
 22  [workspace.dependencies]
 23  # CLI and argument parsing
 24  clap = { version = "4.4", features = ["derive", "env", "color"] }
 25  
 26  # Serialization and configuration
 27  serde = { version = "1.0", features = ["derive"] }
 28  serde_json = "1.0"
 29  toml = "0.8"
 30  
 31  # Async runtime
 32  tokio = { version = "1.0", features = ["full"] }
 33  
 34  # Error handling
 35  thiserror = "1.0"
 36  anyhow = "1.0"
 37  
 38  # Logging
 39  tracing = "0.1"
 40  tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
 41  
 42  # File system and path handling
 43  walkdir = "2.4"
 44  glob = "0.3"
 45  tempfile = "3.8"
 46  dirs = "4.0"
 47  home = "0.5.9"
 48  
 49  # Hashing and caching
 50  blake3 = "1.5"
 51  hex = "0.4"
 52  
 53  # JSON Schema validation
 54  jsonschema = "0.17"
 55  schemars = { version = "0.8", features = ["derive"] }
 56  
 57  # Process execution and sandboxing
 58  # which = "4.0"  # Removed to avoid edition2024 dependency issues
 59  
 60  # Property-based testing framework
 61  proptest = "1.4"
 62  
 63  # Date and time
 64  chrono = { version = "0.4", features = ["serde"] }
 65  
 66  # UUID generation
 67  uuid = { version = "1.6", features = ["v4", "serde"] }
 68  
 69  # Regex support
 70  regex = "1.10"
 71  
 72  # Rust AST parsing
 73  syn = { version = "2.0", features = ["full", "parsing", "printing"] }
 74  quote = "1.0"
 75  proc-macro2 = "1.0"
 76  
 77  # Platform detection
 78  cfg-if = "1.0"
 79  
 80  # Terminal colors and formatting
 81  colored = "2.0"
 82  console = "0.15"
 83  
 84  # HTTP client for tool downloads
 85  reqwest = { version = "0.11", features = ["json", "stream"] }
 86  
 87  # Compression
 88  flate2 = "1.0"
 89  zstd = "0.13"
 90  
 91  # Binary serialization
 92  bincode = "1.3"
 93  
 94  # Semantic versioning
 95  semver = { version = "1.0", features = ["serde"] }
 96  
 97  # Metrics and observability
 98  prometheus = { version = "0.13", default-features = false }
 99  
100  # Plugin system
101  libloading = "0.8"
102  abi_stable = "0.11"
103  
104  [profile.release]
105  lto = true
106  codegen-units = 1
107  panic = "abort"
108  strip = true
109  
110  [profile.dev]
111  debug = true
112  overflow-checks = true