# Rust Project Template for Selfware Agentic Generation
# Copy this template when generating new Rust projects
[package]
name = "{{project_name}}"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
license = "MIT"
description = "{{project_description}}"
authors = ["Selfware Agent <agent@selfware.local>"]
repository = "{{repository_url}}"
homepage = "{{project_url}}"
keywords = ["{{keywords}}"]
categories = ["{{categories}}"]
readme = "README.md"
[dependencies]
# Async runtime
tokio = { version = "1.43", features = ["rt-multi-thread", "macros", "sync", "time", "fs"] }
# Error handling
anyhow = "1.0"
thiserror = "2.0"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# CLI
clap = { version = "4.5", features = ["derive"] }
# Utilities
regex = "1.11"
chrono = { version = "0.4", features = ["serde"] }
[dev-dependencies]
# Testing
tokio-test = "0.4"
mockall = "0.13"
proptest = "1.6"
insta = { version = "1.42", features = ["yaml", "redactions"] }
fake = { version = "4.0", features = ["derive"] }
# Benchmarking
criterion = { version = "0.5", features = ["html_reports"] }
# Coverage: install via `cargo install cargo-tarpaulin`
# Additional utilities
tempfile = "3.14"
pretty_assertions = "1.4"
[[bin]]
name = "{{project_name}}"
path = "src/main.rs"
[lib]
name = "{{project_name}}"
path = "src/lib.rs"
[[bench]]
name = "benchmarks"
harness = false
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.dev]
opt-level = 0
debug = true
[profile.test]
opt-level = 1
debug = true
[profile.bench]
opt-level = 3
debug = false